WEBHOOK COURSIER.FR V1 (EN) 19/08/2026 Version 1.1 Objective The webhook send on a customer given endpoint all updates concerning : - STATUS : each time a status of a mission has changed - GEOLOC : each time a courrier who is arriving on a pick up or destination point is moving (or every 300 seconds if he doesn't move) Protocol Requests are made via HTTPS POST Payload The response is a JSON array with all the related information to the delivery or the delivery fragment given. In case of error, the API returns a JSON with a Message field specifying the nature of the error. NAME TYPE DESCRIPTION Timestamp Datetime Webhook timestamp Webhook Varchar(12) Type of webhook: STATUS or GEOLOC MissionNumber Int Number of the delivery, this number is the key to interact with our courier or the customer service. Ref1 Varchar(50) Customer internal id for the mission, posted during the order api call PickupStart Datetime start of pickup window PickupEnd Datetime end of pickup window PickupStartEstimate Datetime start of the refined window of the date of removal PickupEndEstimate Datetime end of the refined window of the date of removal PickupDate Datetime Effective date of removal DeliveryStart Datetime start of delivery window DeliveryEnd Datetime end of delivery window DeliveryStartEstimate Datetime start of the refined window of the date of shipping DeliveryEndEstimate Datetime end of the refined window of the date of removal DeliveryDate Datetime Effective date of shipping State Varchar(50) Status of the mission : Not assigned Assigned Arrived at pick up location Picked up Arrived at delivery location Delivered Cancelled Delivery failed On hold To be invoiced Description Varchar(1024) Detail of the event (delivery failed reason....) WorkerShortCode Varchar(5) Autentication code of the driver WorkerSurname Varchar(100) Surname of driver Picture Varchar(100) Url of the driver picture ProofOfDelivery Varchar(100) Url of the signature picture DeliverySignee Varchar(30) Name of the signer Price Decimal(6,2) Price (sent when the mission has been done) WorkerLatitude Decimal(9,7) Current Latitude of the courrier WorkerLongitude Decimal(9,7) Current Longitude of the courrier Example { "Timestamp":"2026-08-26 16:29:01", "Webhook":"STATUS", "MissionNumber":"94655544", "Ref1":"101647-DIRECTION PRÊT A PORTER", "State":"Arrived at pick up location", "PickupStart":"2026-08-26 16:05:00", "PickupEnd":"2026-08-26 18:45:00", "PickupStartEstimate":"2026-08-26 16:30:00", "PickupEndEstimate":"2026-08-26 16:40:00", "PickupDate":null, "DeliveryStart":"2026-08-26 16:05:00", "DeliveryEnd":"2026-08-26 18:45:00", "DeliveryStartEstimate":null, "DeliveryEndEstimate":null, "DeliveryDate":null, "WorkerShortCode":"130038", "WorkerSurname":"Hamdi", "Picture":null, "DeliverySignee":null, "Description":"", "Price":"", "WorkerLatitude":"48.902408472483", "WorkerLongitude":"2.371711810405"}{ "Timestamp":"2026-08-26 16:29:31", "Webhook":"GEOLOC", "MissionNumber":"94655544", "Ref1":"101647-DIRECTION PRÊT A PORTER", "State":"Assigned", "PickupStart":"2026-08-26 16:05:00", "PickupEnd":"2026-08-26 18:45:00", "PickupStartEstimate":"2026-08-26 16:30:00", "PickupEndEstimate":"2026-08-26 16:40:00", "PickupDate":null, "DeliveryStart":"2026-08-26 16:05:00", "DeliveryEnd":"2026-08-26 18:45:00", "DeliveryStartEstimate":null, "DeliveryEndEstimate":null, "DeliveryDate":null, "WorkerShortCode":"130038", "WorkerSurname":"Hamdi", "Picture":null, "DeliverySignee":null, "Description":"", "Price":"", "WorkerLatitude":"48.902408472483", "WorkerLongitude":"2.371711810405"} When do you receive a webhook ? mission is booked ==> Status Not assigned mission is assigned ==> Status Assigned Driver arrived at collection location ==> Status Arrived at pick up location + geoloc mission is picked up ==> Status Picked up Driver arrived at delivery location ==> Status Arrived at delivery location + geoloc mission is delivered ==> Status Delivered mission is completed ==> Status To be invoiced + updated price mission is cancelled  ==> Status Cancelled + reason mission is put on hold ==> Status On hold + reason mission is impossible to pick up  ==> Delivery failed + reason mission is impossible to deliver  ==> Delivery failed + reason