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
Request Body
Section titled “Request Body”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": [] } ]}Validation
Section titled “Validation”The following checks are performed in order:
- Batch and expiry format validation
- Stock owner validation
- Duplicate check — if the GIA number already exists, it is accepted and a GIA updated event is published instead of a new GIA event
Responses
Section titled “Responses”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)