Skip to content

stock_reference/status_updated

Overview

PropertyValue
Webhook typestock_reference/status_updated
Kafka topicstock-reference.status-updated
DirectionPlatform → Your endpoint

Description

Fired when the status of a stock reference changes. Stock reference status controls whether the item is available for fulfillment.

Trigger Conditions

  • A stock reference is validated and transitions to VALID
  • A stock reference is placed on hold (ON_HOLD) by an operator
  • A stock reference is marked as INVALID due to a data or integration error
  • A stock reference transitions back from ON_HOLD to VALID

Status Values

StatusDescription
DRAFTNewly created, not yet validated for fulfillment
VALIDActive and available for fulfillment
ON_HOLDTemporarily suspended — not available for fulfillment
INVALIDInvalid state — requires operator action

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/status_updated",
    "date": "2024-03-15T10:23:45.000Z"
  },
  "body": { ... }
}

The body field contains the full stock reference with the new status.

Body — Property Table

StockReference Object

FieldTypeNullableDescription
idstring (uuid)NoUnique stock reference identifier
organizationIdstring (uuid)NoOrganization that owns this stock reference
locationIdstring (uuid)YesWarehouse location
productVariantIdstring (uuid)NoAssociated product variant
referencestringNoInternal reference code
skustringNoStock keeping unit
statusenumNoUpdated status: DRAFT, VALID, ON_HOLD, INVALID
modelenumNoPRODUCT or BUNDLE
physicalQuantityintegerNoTotal physical quantity
usableQuantityintegerNoAvailable quantity
reservedQuantityintegerNoReserved quantity
criticalThresholdintegerNoAlert threshold
lastSnapshotAtstring (ISO 8601)YesTimestamp of the last inventory snapshot
lastSnapshotValueintegerYesQuantity at last snapshot
heightfloatYesProduct height
widthfloatYesProduct width
lengthfloatYesProduct length
distanceUnitenumYesUnit for dimensions
weightfloatYesProduct weight
weightUnitenumYesUnit for weight
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/status_updated",
    "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": "VALID",
    "model": "PRODUCT",
    "physicalQuantity": 150,
    "usableQuantity": 140,
    "reservedQuantity": 10,
    "criticalThreshold": 5,
    "lastSnapshotAt": "2024-03-15T08:00:00.000Z",
    "lastSnapshotValue": 145,
    "height": 2.0,
    "width": 20.0,
    "length": 30.0,
    "distanceUnit": "CM",
    "weight": 0.25,
    "weightUnit": "KG",
    "createdAt": "2024-03-10T09:00:00.000Z",
    "updatedAt": "2024-03-15T10:23:45.000Z"
  }
}

Notes

  • The organizationId is read directly from data.organizationId.
  • Only VALID stock references are eligible for fulfillment order assignment.
  • ON_HOLD status prevents new fulfillment requests but does not cancel existing ones.

HappyColis API Documentation