856 ASN
Receive and parse an EDI 856 ASN
Quick answer
Can I poll instead of using webhooks?
Inbound flow overview
When a partner sends an 856 ASN, SignalEDI validates structure and links it only to one exact authorized customer integration. It emits document.available.v1 when ready or document.held.v1 when the integration is missing or ambiguous.
- HL hierarchy: shipment → order → pack → item
- Ties to the original 850 PO when present
Example safe webhook envelope
Verify X-SignalEDI-Signature before trusting the body. Lifecycle events carry metadata and pull links; document contents stay behind tenant-scoped API authorization.
{
"type": "document.available.v1",
"version": "1",
"documentId": "doc_01H…",
"partnerId": "retailmart",
"environment": "CERTIFICATION",
"standard": "x12",
"documentTypeCodes": ["856"],
"status": "AVAILABLE",
"links": { "self": "/v1/documents/doc_01H…", "payload": "/v1/documents/doc_01H…/payload" }
}Mapping to your system
GET the payload link with view=document to receive the tested 856 public shape, then map shipmentId and SSCC barcodes to warehouse receipts. Keep idempotency on event id or X-SignalEDI-Delivery-ID because retries are expected.
FAQ
Common questions
Webhooks are recommended for near-real-time receipts. You can also inspect inbound documents in the dashboard while building your handler.
See /documents/856 and /resources/edi/856-asn-guide for segment-level context.