Skip to content

transfer_order/created

Overview

PropertyValue
Webhook typetransfer_order/created
Kafka topictransfer-order.created
DirectionPlatform → Your endpoint

Description

Fired when a new transfer order is created in the system. A transfer order represents an inbound stock replenishment from a supplier to a warehouse location.

Trigger Conditions

  • A transfer order is created via the HappyColis GraphQL API
  • An import process creates a transfer order programmatically

Message Envelope

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

Body — Property Table

TransferOrder Object

FieldTypeNullableDescription
idstring (uuid)NoUnique transfer order identifier
organizationIdstring (uuid)NoOrganization that owns this transfer order
locationIdstring (uuid)NoDestination warehouse/location for this transfer
supplierIdstring (uuid)YesSupplier providing the stock
stateenumNoTransfer order state: DRAFT, OPENED, CANCELED, COMPLETED
orderNumberstringNoHuman-readable order reference number
externalReferencestringYesExternal system reference (e.g. supplier PO number)
shippingDatestring (ISO 8601)NoScheduled shipping date from the supplier
expectedDatestring (ISO 8601)NoExpected arrival date at the warehouse
carrierstringYesCarrier name for transport
trackingstringYesCarrier tracking number
commentstringYesFree-text comment
emergencybooleanYesWhether this is an emergency replenishment order
containerNumberintegerYesNumber of containers/pallets
containerTypeenumNoContainer type: BOX, PALLET, CONTAINER
linesTransferOrderLine[]NoArray of transfer order lines (see below)
createdAtstring (ISO 8601)NoTimestamp when the transfer order was created
issuedAtstring (ISO 8601)NoTimestamp when the transfer order was issued
updatedAtstring (ISO 8601)NoTimestamp of the last update

TransferOrderLine Object

FieldTypeNullableDescription
idstring (uuid)NoUnique line identifier
transferOrderIdstring (uuid)NoParent transfer order ID
stockReferenceIdstring (uuid)YesAssociated stock reference (if matched)
labelstringYesDisplay label for the item
skustringYesStock keeping unit identifier
referencestringYesProduct reference code
limitUsageDatestring (ISO 8601)YesExpiry / use-by date for the batch
batchNumberstringYesBatch or lot number
expectedQuantityintegerNoDeclared quantity expected from supplier
receivedQuantityintegerYesQuantity actually received at warehouse
restockedQuantityintegerYesQuantity placed into stock
garbageQuantityintegerYesQuantity discarded (damaged/unsellable)
metaobjectYesArbitrary metadata (JSON)
stateenumNoLine state: ACTIVE, CANCELED

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": "transfer_order/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",
    "supplierId": "f6a7b8c9-d0e1-2345-fabc-456789012345",
    "state": "DRAFT",
    "orderNumber": "TO-2024-001234",
    "externalReference": "SUPP-PO-98765",
    "shippingDate": "2024-03-20T00:00:00.000Z",
    "expectedDate": "2024-03-25T00:00:00.000Z",
    "carrier": "DHL Freight",
    "tracking": "1234567890123456",
    "comment": "Urgent restock for spring collection",
    "emergency": false,
    "containerNumber": 2,
    "containerType": "PALLET",
    "createdAt": "2024-03-15T10:23:45.000Z",
    "issuedAt": "2024-03-15T10:23:45.000Z",
    "updatedAt": "2024-03-15T10:23:45.000Z",
    "lines": [
      {
        "id": "a7b8c9d0-e1f2-3456-abcd-567890123456",
        "transferOrderId": "d4e5f6a7-b8c9-0123-defa-234567890123",
        "stockReferenceId": "b8c9d0e1-f2a3-4567-bcde-678901234567",
        "label": "T-Shirt Blanc Taille M",
        "sku": "TSHIRT-WHITE-M",
        "reference": "TSH-WH-M-001",
        "limitUsageDate": null,
        "batchNumber": null,
        "expectedQuantity": 100,
        "receivedQuantity": null,
        "restockedQuantity": null,
        "garbageQuantity": null,
        "meta": null,
        "state": "ACTIVE"
      },
      {
        "id": "c9d0e1f2-a3b4-5678-cdef-789012345678",
        "transferOrderId": "d4e5f6a7-b8c9-0123-defa-234567890123",
        "stockReferenceId": null,
        "label": "Pantalon Bleu Taille 38",
        "sku": "PANTS-BLUE-38",
        "reference": "PNT-BL-38-001",
        "limitUsageDate": null,
        "batchNumber": "BATCH-2024-Q1",
        "expectedQuantity": 50,
        "receivedQuantity": null,
        "restockedQuantity": null,
        "garbageQuantity": null,
        "meta": null,
        "state": "ACTIVE"
      }
    ]
  }
}

Notes

  • A newly created transfer order always starts with state: DRAFT.
  • The lines array is always present (eager-loaded) but may be empty if the order was created without lines.
  • stockReferenceId on a line is null until the line is matched to an existing stock reference in the warehouse.
  • receivedQuantity, restockedQuantity, and garbageQuantity are null until receiving is performed.

HappyColis API Documentation