# WEBHOOK COURSIER.FR V1 (EN)

<table border="1" id="bkmrk-08%2F06%2F2020-version-3" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 33.3333%;">19/08/2026</td><td style="width: 33.3333%;">[![image-1662457811981.png](https://bookstack.digf.fr/uploads/images/gallery/2022-09/scaled-1680-/image-1662457811981.png)](https://bookstack.digf.fr/uploads/images/gallery/2022-09/image-1662457811981.png)</td><td class="align-right" style="width: 33.3333%;">Version 1.1</td></tr></tbody></table>

#####   


##### **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.

<table id="bkmrk-nom-taille-descripti" style="width: 100%; height: 1380.25px;"><tbody><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">**NAME**

</td><td style="width: 12.7348%; height: 35.3906px;">**TYPE**

</td><td style="width: 67.2435%; height: 35.3906px;">**DESCRIPTION**

</td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">Timestamp

</td><td style="width: 12.7348%; height: 35.3906px;">Datetime

</td><td style="width: 67.2435%; height: 35.3906px;">Webhook timestamp

</td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">Webhook

</td><td style="width: 12.7348%; height: 35.3906px;">Varchar(12)

</td><td style="width: 67.2435%; height: 35.3906px;">Type of webhook: STATUS or GEOLOC

</td></tr><tr style="height: 80.1719px;"><td style="width: 20.0217%; height: 80.1719px;">MissionNumber

</td><td style="width: 12.7348%; height: 80.1719px;">Int

</td><td style="width: 67.2435%; height: 80.1719px;">Number of the delivery, this number is the key to interact with our courier or the customer service.

</td></tr><tr style="height: 57.7812px;"><td style="width: 20.0217%; height: 57.7812px;">Ref1

</td><td style="width: 12.7348%; height: 57.7812px;">Varchar(50)

</td><td style="width: 67.2435%; height: 57.7812px;">Customer internal id for the mission, posted during the order api call

</td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">PickupStart

</td><td style="width: 12.7348%; height: 35.3906px;">Datetime

</td><td style="width: 67.2435%; height: 35.3906px;">start of pickup window

</td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">PickupEnd

</td><td style="width: 12.7348%; height: 35.3906px;">Datetime

</td><td style="width: 67.2435%; height: 35.3906px;">end of pickup window

</td></tr><tr style="height: 57.7812px;"><td style="width: 20.0217%; height: 57.7812px;">PickupStartEstimate

</td><td style="width: 12.7348%; height: 57.7812px;">Datetime

</td><td style="width: 67.2435%; height: 57.7812px;">start of the refined window of the date of removal

</td></tr><tr style="height: 57.7812px;"><td style="width: 20.0217%; height: 57.7812px;">PickupEndEstimate

</td><td style="width: 12.7348%; height: 57.7812px;">Datetime

</td><td style="width: 67.2435%; height: 57.7812px;">end of the refined window of the date of removal

</td></tr><tr style="height: 57.7812px;"><td style="width: 20.0217%; height: 57.7812px;">PickupDate

</td><td style="width: 12.7348%; height: 57.7812px;">Datetime

</td><td style="width: 67.2435%; height: 57.7812px;">Effective date of removal

</td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">DeliveryStart

</td><td style="width: 12.7348%; height: 35.3906px;">Datetime

</td><td style="width: 67.2435%; height: 35.3906px;">start of delivery window

</td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">DeliveryEnd

</td><td style="width: 12.7348%; height: 35.3906px;">Datetime

</td><td style="width: 67.2435%; height: 35.3906px;">end of delivery window

</td></tr><tr style="height: 57.7812px;"><td style="width: 20.0217%; height: 57.7812px;">DeliveryStartEstimate

</td><td style="width: 12.7348%; height: 57.7812px;">Datetime

</td><td style="width: 67.2435%; height: 57.7812px;">start of the refined window of the date of shipping

</td></tr><tr style="height: 57.7812px;"><td style="width: 20.0217%; height: 57.7812px;">DeliveryEndEstimate

</td><td style="width: 12.7348%; height: 57.7812px;">Datetime

</td><td style="width: 67.2435%; height: 57.7812px;">end of the refined window of the date of removal

</td></tr><tr style="height: 57.7812px;"><td style="width: 20.0217%; height: 57.7812px;">DeliveryDate

</td><td style="width: 12.7348%; height: 57.7812px;">Datetime

</td><td style="width: 67.2435%; height: 57.7812px;">Effective date of shipping

</td></tr><tr style="height: 226.797px;"><td style="width: 20.0217%; height: 226.797px;">State

</td><td style="width: 12.7348%; height: 226.797px;">Varchar(50)

</td><td style="width: 67.2435%; height: 226.797px;">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

</td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">Description

</td><td style="width: 12.7348%; height: 35.3906px;">Varchar(1024)

</td><td style="width: 67.2435%; height: 35.3906px;">Detail of the event (delivery failed reason....)

</td></tr><tr style="height: 57.7812px;"><td style="width: 20.0217%; height: 57.7812px;">WorkerShortCode

</td><td style="width: 12.7348%; height: 57.7812px;">Varchar(5)

</td><td style="width: 67.2435%; height: 57.7812px;">Autentication code of the driver

</td></tr><tr style="height: 57.7812px;"><td style="width: 20.0217%; height: 57.7812px;">WorkerSurname

</td><td style="width: 12.7348%; height: 57.7812px;">Varchar(100)

</td><td style="width: 67.2435%; height: 57.7812px;">Surname of driver

</td></tr><tr style="height: 57.7812px;"><td style="width: 20.0217%; height: 57.7812px;">Picture

</td><td style="width: 12.7348%; height: 57.7812px;">Varchar(100)

</td><td style="width: 67.2435%; height: 57.7812px;">Url of the driver picture

</td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">ProofOfDelivery

</td><td style="width: 12.7348%; height: 35.3906px;">Varchar(100)

</td><td style="width: 67.2435%; height: 35.3906px;">Url of the signature picture

</td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">DeliverySignee

</td><td style="width: 12.7348%; height: 35.3906px;">Varchar(30)

</td><td style="width: 67.2435%; height: 35.3906px;">Name of the signer

</td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;"></td><td style="width: 12.7348%; height: 35.3906px;"></td><td style="width: 67.2435%; height: 35.3906px;"></td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">Price

</td><td style="width: 12.7348%; height: 35.3906px;">Decimal(6,2)

</td><td style="width: 67.2435%; height: 35.3906px;">Price (sent when the mission has been done)

</td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">WorkerLatitude</td><td style="width: 12.7348%; height: 35.3906px;">Decimal(9,7)

</td><td style="width: 67.2435%; height: 35.3906px;">Current Latitude of the courrier

</td></tr><tr style="height: 35.3906px;"><td style="width: 20.0217%; height: 35.3906px;">WorkerLongitude

</td><td style="width: 12.7348%; height: 35.3906px;">Decimal(9,7)

</td><td style="width: 67.2435%; height: 35.3906px;">Current Longitude of the courrier

</td></tr></tbody></table>


#####   


##### **Example**

```JSON
{<br></br>  "Timestamp":"2026-08-26 16:29:01",<br></br>  "Webhook":"STATUS",<br></br>  "MissionNumber":"94655544",<br></br>  "Ref1":"101647-DIRECTION PRÊT A PORTER",<br></br>  "State":"Arrived at pick up location",<br></br>  "PickupStart":"2026-08-26 16:05:00",<br></br>  "PickupEnd":"2026-08-26 18:45:00",<br></br>  "PickupStartEstimate":"2026-08-26 16:30:00",<br></br>  "PickupEndEstimate":"2026-08-26 16:40:00",<br></br>  "PickupDate":null,<br></br>  "DeliveryStart":"2026-08-26 16:05:00",<br></br>  "DeliveryEnd":"2026-08-26 18:45:00",<br></br>  "DeliveryStartEstimate":null,<br></br>  "DeliveryEndEstimate":null,<br></br>  "DeliveryDate":null,<br></br>  "WorkerShortCode":"130038",<br></br>  "WorkerSurname":"Hamdi",<br></br>  "Picture":null,<br></br>  "DeliverySignee":null,<br></br>  "Description":"",<br></br>  "Price":"",<br></br>  "WorkerLatitude":"48.902408472483",<br></br>  "WorkerLongitude":"2.371711810405"<br></br>}<br></br><br></br><br></br>{ <br></br>  "Timestamp":"2026-08-26 16:29:31",<br></br>  "Webhook":"GEOLOC",<br></br>  "MissionNumber":"94655544",<br></br>  "Ref1":"101647-DIRECTION PRÊT A PORTER",<br></br>  "State":"Assigned",<br></br>  "PickupStart":"2026-08-26 16:05:00",<br></br>  "PickupEnd":"2026-08-26 18:45:00",<br></br>  "PickupStartEstimate":"2026-08-26 16:30:00",<br></br>  "PickupEndEstimate":"2026-08-26 16:40:00",<br></br>  "PickupDate":null,<br></br>  "DeliveryStart":"2026-08-26 16:05:00",<br></br>  "DeliveryEnd":"2026-08-26 18:45:00",<br></br>  "DeliveryStartEstimate":null,<br></br>  "DeliveryEndEstimate":null,<br></br>  "DeliveryDate":null,<br></br>  "WorkerShortCode":"130038",<br></br>  "WorkerSurname":"Hamdi",<br></br>  "Picture":null,<br></br>  "DeliverySignee":null,<br></br>  "Description":"",<br></br>  "Price":"",<br></br>  "WorkerLatitude":"48.902408472483",<br></br>  "WorkerLongitude":"2.371711810405"<br></br>}<br></br><br></br>
```

##### **When do you receive a webhook ?**

- mission is booked ==&gt; Status Not assigned
- mission is assigned ==&gt; Status Assigned
- Driver arrived at collection location ==&gt; Status Arrived at pick up location + geoloc
- mission is picked up ==&gt; Status Picked up
- Driver arrived at delivery location ==&gt; Status Arrived at delivery location + geoloc
- mission is delivered ==&gt; Status Delivered
- mission is completed ==&gt; Status To be invoiced + updated price
- mission is cancelled ==&gt; Status Cancelled + reason
- mission is put on hold ==&gt; Status On hold + reason
- mission is impossible to pick up ==&gt; Delivery failed + reason
- mission is impossible to deliver ==&gt; Delivery failed + reason