Skip to content

When a CargoWise shipment event is received

Starts from bounded Universal Event XML. Synthetic-contract readiness until the tenant outbound envelope and authentication pass live conformance.

@lainstack/cargowise/shipment-event-received · Triggers · Available on Lainstack Cloud

Starts the automation when CargoWise posts a Universal Event XML message to this trigger’s callback URL. Readiness is synthetic-contract only. Do not activate it for a live tenant until its outbound envelope and receiver authentication pass conformance.

Setup happens in CargoWise after publishing. Copy the generated callback URL, then point a tenant-approved outbound eAdaptor Next EDI Client and a CargoWise Workflow at it. Treat the full callback URL as a secret.

  • The selected Connection only records where events come from. It does not authenticate the sender.
  • Bodies must be UTF-8 XML (application/xml, text/xml or application/*+xml), at most 256 KB, with a UniversalEvent root or one UniversalEvent inside a UniversalInterchange. Other content types and shapes are rejected.
  • The event exposes its code, time, description, data provider, estimate and partial flags, and its contexts. At most 64 contexts are accepted, and contexts of a type the trigger does not know are dropped.
  • eventBodyObservationRows holds one row, keyed by Connection and delivery id. It is not stored until you write it with @lainstack/reference-table/write.
  • CargoWise signing, retries, ordering and acknowledgement are not established. Build later steps so a repeated or out-of-order event does no harm.
Setting Key Type Details
CargoWise connection (required) credentialId Connection Scopes local attribution to one eAdaptor Next Connection; it does not authenticate the sender. After publishing, configure a tenant-approved outbound EDI Client and CargoWise Workflow to post Universal Event XML to the generated callback. Synthetic-contract readiness until live conformance passes. At most 160 characters.
Output Path Type
Event code payload.data.event.eventCode Text
Event description payload.data.event.description Text
Event time (local) payload.data.event.eventTimeLocal Text
Created time (local) payload.data.event.createdTimeLocal Text
Data provider payload.data.event.dataProvider Text
Is estimate payload.data.event.isEstimate Yes or no
Is partial payload.data.event.isPartial Yes or no
Event contexts payload.data.event.contexts List
Event body observation Table payload.data.eventBodyObservationRows Table
Connection ID payload.system.connectionId Text
Delivery ID payload.system.deliveryId Text
Received at payload.system.receivedAt Text