Skip to content

Receive Goods In Advice (GIA)

Process a goods in advice (GIA) notification to prepare the warehouse for incoming inventory. The GIA is validated, persisted, and published as an event. Duplicate GIA numbers are accepted and trigger an update event rather than a new creation.

Direction Host → WMS

HTTP Method POST

Path /inbound/receiveGia

A GoodsInAdvice object. The key identifier is goodsInAdviceNumber.

{
"voyagerRequest": {
"message": {
"messageId": "MSG-2024-001234",
"messageSender": "UPSTREAM_SYSTEM",
"messageTimestamp": "2024-01-25T09:00:00"
}
},
"goodsInAdviceNumber": "GIA-2024-001234",
"goodsInAdviceType": "ASN_DEFAULT",
"deliveryId": "DEL-2024-005678",
"trustedSource": true,
"supplierCategory": "PREMIUM",
"suppliersReference": "SUP-REF-001",
"purchaseOrderNumber": "PO-2024-001234",
"supplierName": "Acme Supplies Ltd",
"carrier": "DPD",
"redline": false,
"originalDeliveryId": null,
"expectedPallets": 2,
"expectedBoxes": 10,
"expectedLines": 5,
"expectedUnits": 500,
"notes": null,
"destination": "WAREHOUSE_01",
"ssccPalletIds": ["00012345678901234567", "00012345678901234568"],
"stockOwner": "OWNER_A",
"goodsInAdviceLines": [
{
"productId": "PROD-ABC123",
"quantity": 100,
"batchNumber": "BATCH-001",
"batchExpiry": "2025-06-30",
"unit": "EACH",
"stockStatus": "GOOD",
"boxId": "BOX-001",
"palletId": "PLT-001",
"scannableType": null,
"unitIdentifierCollections": [
{
"unitIdentifiers": [
{
"unitIdentifierType": "SERIAL_NUMBER",
"unitIdentifier": "SN-00001"
}
]
}
]
},
{
"productId": "PROD-DEF456",
"quantity": 400,
"batchNumber": null,
"batchExpiry": null,
"unit": "EACH",
"stockStatus": "GOOD",
"boxId": "BOX-002",
"palletId": "PLT-001",
"scannableType": null,
"unitIdentifierCollections": []
}
]
}

The following checks are performed in order:

  1. Batch and expiry format validation
  2. Stock owner validation
  3. Duplicate check — if the GIA number already exists, it is accepted and a GIA updated event is published instead of a new GIA event

200: GIA successfully processed (including duplicates)

{
"identifier": "GIA-2024-001234",
"warehouseName": "WAREHOUSE_01",
"success": true,
"error": null
}

400: Validation failed (e.g. invalid batch/expiry format, missing stock owner)

{
"identifier": "GIA-2024-001234",
"warehouseName": "WAREHOUSE_01",
"success": false,
"error": {
"errorCode": "400",
"errorMessage": "INVALID_STOCK_OWNER"
}
}

500: Internal error (database connectivity, product service unavailable)