Planning & Execution Interfac...
Load Updates
12 min
keep your erp in sync with real time progress of loads as they move through planning, dispatch, and delivery stages transportone pushes these updates to your webhook whenever a key event occurs what are load updates? load updates are event driven notifications sent by transportone to your erp system as the shipment progresses through various stages — such as vehicle allocation, dispatch, lr assignment, and delivery confirmation these updates include vehicle details, assigned transporters, lr information, and timestamps to help you track progress without polling or manual coordination overview receive real time updates from transportone as a load progresses through key milestones — from creation, vehicle assignment, and dispatch to delivery and proof of delivery (pod) transportone pushes these events to your erp system via webhook callbacks this keeps your system up to date without polling, helps trigger internal workflows, and improves visibility across dispatch teams, warehouses, and finance data flow this is a push based integration transportone (tms) sends data to your system automatically when specific events occur during the lifecycle of a load tms → erp api type callback/webhook method post supported events transportone will send an event to your configured webhook when any of the following actions occur action name description loadcreated load created with orders and route indentcreated transport request (indent) raised acceptedbytransporter transporter confirmed booking vehicleupdated vehicle number, driver details updated markreported vehicle reported at origin facility vehicleinspection vehicle inspected invoiceupload invoice uploaded against the load indentdispatched vehicle dispatched from pickup lradded new lr created lrupdated existing lr updated lrdelete lr deleted lrreportedatdestination vehicle reached delivery location lrdeliveredatdestination shipment delivered at destination podcompleted proof of delivery submitted loadupdated load details updated loadcancelled load cancelled webhooks request structure transportone pushes real time updates to your erp using http callbacks your system must expose an https post endpoint to receive these events as structured json payloads these updates help keep your erp in sync with the latest status of loads — including creation, dispatch, delivery, and more webhook requirements field required description endpoint url yes https post endpoint provided to transportone https support yes endpoint must be secured via https retry on failure yes if your system returns a non 2xx response, the update will be retried payload format yes transportone sends json formatted payloads for each event authentication (optional) optional you may optionally validate requests using a shared secret (x tms callback secret) authentication & headers transportone sends load updates to your erp system as server to server webhook calls these requests do not require authentication from your side, but they include key headers for traceability and idempotency transportone will send the following headers in each post request header description required x coreos request id unique uuid per request for idempotency yes content type payload content type always application/json yes x tms callback secret shared secret for verification (if configured) optional info info this api is inbound (from tms to erp) your system should be able to receive and parse json payloads via http post your server should store and track x coreos request id to prevent duplicate processing sample request payload { "action" "lrupdated", "data" { "origin" "intnarff", "destination" "ind532001aaa", "stops" \[ "inapaanz", "inapatzh" ], "loadid" "dlv mek3a8", "createdat" 1738739955433, "ordernumbers" \[ "ordb1912" ], "lineitems" \[ { "productcode" "60000000019522", "itemnumber" "212", "quantity" 100, "measurementunit" "box" }, { "productcode" "60000000019522", "itemnumber" "211", "quantity" 100, "measurementunit" "box" } ], "invoicenumbers" \[ "inv5665611477121" ], "assignedat" 1738739955433, "acceptedat" 1738739955433, "inspectedat" 1738739955433, "lrs" \[ { "number" "350000239", "deliveredat" 1738739955433, "destinationreportedat" 1738739955433, "originreportedat" 1738739955433, "origindepartureat" 1738739955433, "origin" "intnarff", "podurl" "", "lrcopyurl" "", "destination" "inapaanz", "invoiceids" \[] } ], "transporterid" "434343", "vehiclenumber" "up90an1911", "driverphone" "7206211041", "drivername" "raghvendra", "indentid" "mqpj4u", "vehiclename" "bike", "latestreportedstop" "intnarff" } } what to return your erp system should respond with http/1 1 200 ok returning a non 2xx response will cause transportone to retry the event using a backoff policy delivery & retry behavior transportone attempts to deliver each load update to your registered webhook endpoint once currently, no automatic retry mechanism is implemented note note ensure your endpoint responds with a 2xx http status code failures (e g , timeouts, 500 errors) will not be retried by tms webhook setup guidelines to receive updates your erp must expose an https endpoint that accepts post requests the endpoint must handle structured json payloads as shown in the sample transportone will include x coreos request id for traceability and idempotency handling info info if webhook security (e g , hmac signature validation) is planned later, that will be documented separately when available what's next? after load updates, the next step is confirming final delivery using the proof of delivery api go to pod api back to planning & execution overview
