Skip to content

stock_reference/created

Overview

PropertyValue
Webhook typestock_reference/created
Kafka topicstock-reference.created
DirectionPlatform → Your endpoint

Description

Fired when a new stock reference is created in the system. A stock reference links a product variant to a warehouse location and tracks its inventory quantities.

Trigger Conditions

  • A product variant is assigned to a warehouse location for the first time
  • A stock reference is created programmatically via the API
  • The stock reference initially has status: DRAFT until validated

Message Envelope

json
{
  "header": {
    "organizationId": "org_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "messageId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "webhookId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "type": "stock_reference/created",
    "date": "2024-03-15T10:23:45.000Z"
  },
  "body": { ... }
}

The body field contains the full stock reference object as described below.

Body — Property Table

StockReference Object

FieldTypeNullableDescription
idstring (uuid)NoUnique stock reference identifier
organizationIdstring (uuid)NoOrganization that owns this stock reference
locationIdstring (uuid)YesWarehouse location where the stock is held
productVariantIdstring (uuid)NoAssociated product variant
referencestringNoInternal reference code for this stock item
skustringNoStock keeping unit identifier
statusenumNoStock reference status: DRAFT, VALID, ON_HOLD, INVALID
modelenumNoProduct model type: PRODUCT or BUNDLE
physicalQuantityintegerNoTotal physical quantity in stock
usableQuantityintegerNoQuantity available for fulfillment
reservedQuantityintegerNoQuantity reserved for pending orders (default 0)
criticalThresholdintegerNoAlert threshold — triggers a critical-stock event when usable quantity falls below this value
lastSnapshotAtstring (ISO 8601)YesTimestamp of the last inventory snapshot
lastSnapshotValueintegerYesQuantity recorded at the last snapshot
heightfloatYesProduct height
widthfloatYesProduct width
lengthfloatYesProduct length
distanceUnitenumYesUnit for dimensions: CM, IN, etc.
weightfloatYesProduct weight
weightUnitenumYesUnit for weight: KG, LB, etc.
volumefloatYesProduct volume
volumeUnitenumYesUnit for volume
alcoholRatefloatYesAlcohol percentage (for alcohol products)
originCountrystringYesISO 3166-1 alpha-2 country of origin
hsCodestringYesHarmonized System customs code
customsValuestringYesDeclared customs value
customsDescriptionstringYesCustoms description text
storageProfileStorageProfileYesStorage profile associated with this stock reference
createdAtstring (ISO 8601)NoCreation timestamp
updatedAtstring (ISO 8601)NoLast update timestamp

Full JSON Payload Sample

json
{
  "header": {
    "organizationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "messageId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "webhookId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
    "type": "stock_reference/created",
    "date": "2024-03-15T10:23:45.000Z"
  },
  "body": {
    "id": "d4e5f6a7-b8c9-0123-defa-234567890123",
    "organizationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "locationId": "e5f6a7b8-c9d0-1234-efab-345678901234",
    "productVariantId": "f6a7b8c9-d0e1-2345-fabc-456789012345",
    "reference": "REF-TSHIRT-WHITE-M",
    "sku": "TSHIRT-WHITE-M",
    "status": "DRAFT",
    "model": "PRODUCT",
    "physicalQuantity": 0,
    "usableQuantity": 0,
    "reservedQuantity": 0,
    "criticalThreshold": 5,
    "lastSnapshotAt": null,
    "lastSnapshotValue": null,
    "height": 2.0,
    "width": 20.0,
    "length": 30.0,
    "distanceUnit": "CM",
    "weight": 0.25,
    "weightUnit": "KG",
    "volume": null,
    "volumeUnit": null,
    "alcoholRate": null,
    "originCountry": "FR",
    "hsCode": "6109100010",
    "customsValue": "12.00",
    "customsDescription": "Cotton T-shirt",
    "storageProfile": null,
    "createdAt": "2024-03-15T10:23:45.000Z",
    "updatedAt": "2024-03-15T10:23:45.000Z"
  }
}

Notes

  • usableQuantity is the key field for fulfillment logic — it equals physicalQuantity - reservedQuantity in most cases.
  • A newly created stock reference always has status: DRAFT. It transitions to VALID after warehouse validation.
  • The organizationId is read directly from data.organizationId (no nested accessor needed for this event).

HappyColis API Documentation