Data Integration API
Programmatically create and manage delivery orders, track couriers, and receive real-time webhook updates through the DelivApp platform.
https://api.delivapp.com/data/apiGetting started
The DelivApp Data Integration API enables you to programmatically create and manage delivery orders, track courier status, and receive real-time webhook updates. This guide covers everything you need to integrate with our platform.
- 1
Get API credentials
Contact our team to receive your
Application IDandAPI Key. - 2
Authenticate requests
Include your credentials in the request headers for every API call.
- 3
Create your first order
Use the General Order API or Bidding API to create delivery orders.
- 4
Set up webhooks
Configure webhook endpoints to receive real-time delivery status updates.
Authentication
All API requests must include the following headers for authentication and content negotiation.
| Header | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
curl -X POST https://api.delivapp.com/data/api/delivery \
-H "Content-Type: application/json" \
-H "X-Parse-Application-Id: YOUR_APP_ID" \
-H "X-Parse-REST-API-Key: YOUR_API_KEY" \
-d '{ ... }'General Order API
Core endpoints for creating, canceling, and managing delivery orders on the DelivApp platform.
https://api.delivapp.com/data/apihttps://api.delivapp.com/data/api/deliveryCreate Order
Submit the information regarding a new delivery order to DelivApp platform.
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| RestID | string | Required | Business entity Id |
| OrderID | string | Required | Order Id as shown in business entity - human readable |
| BarcodeID | string | Optional | Unique POS order id. If provided will be used for reference. |
| CostName | string | Optional | Order recipient name |
| CostPhone | string | Optional | Order recipient phone (national or international format) |
| Takeaway | string | Optional | Is order take away or delivery |
| CostAddCity | string | Optional | Order recipient city |
| CostAddStreet | string | Optional | Order recipient street |
| CostAddBuilding | string | Optional | Order recipient building number |
| CostAddApartment | string | Optional | Order recipient apartment |
| CostAddFloor | string | Optional | Order recipient floor |
| CostAddNotes | string | Optional | Order recipient address notes |
| CostAddPlace | string | Optional | Order recipient known place |
| VerifiedLocation | object | Optional | Verified geolocation for order delivery |
| └Latitude | number | Required | Latitude coordinate |
| └Longitude | number | Required | Longitude coordinate |
| OrderRemark | string | Optional | Order remarks |
| OrderDate | string | Optional | Date format is dd/MM/yyyy |
| OrderTime | string | Optional | Time format is HH:mm |
| OrderTargetDate | string | Optional | Target delivery date (dd/MM/yyyy) |
| OrderTargetTime | string | Optional | Target delivery time (HH:mm) |
| ReadinessTime | integer | Optional | Readiness time in minutes |
| MaxDeliveryTime | integer | Optional | Delivery commitment time in minutes |
| ReadinessAbsDateTime | string | Optional | Readiness absolute date time (dd/MM/yyyy HH:mm) |
| OrderPrice | string | Optional | Order total price |
| DeliveryPrice | string | Optional | Delivery total price |
| OrderTotalCash | string | Optional | Order total payment by cash |
| IsCashPaid | string | Optional | Indicates if Cash payment is completed |
| IsCardPaid | string | Optional | Indicates if Credit Card payment is completed |
| IsCanceled | string | Optional | Is order canceled |
| VIP | string | Optional | Order has high priority if set to true |
| ExtraSize | string | Optional | Order is Extra Size if set to true |
| OrderContent | array | Optional | Order content information |
| └Quantity | string | Optional | Item quantity |
| └Item | string | Optional | Item name |
| └Price | string | Optional | Item price |
| OrderTags | array | Optional | Order tags array - for further filtering |
| DriverTip | string | Optional | Driver tip |
| OrderOriginateId | string | Optional | Order originate identifier |
Response
| Parameter | Type | Required | Description |
|---|---|---|---|
| BarcodeId | string | Required | Unique barcode identifier for the created order |
Request example
{
"RestID": "1-0000574",
"OrderID": "000000",
"OrderTime": "16:13",
"OrderDate": "05/07/2016",
"OrderTargetTime": "18:30",
"OrderTargetDate": "05/07/2016",
"ReadinessTime": "15",
"OrderRemark": "Some note",
"CostName": "John Smith",
"CostPhone": "0547312312",
"Takeaway": "false",
"CostAddCity": "Tel Aviv",
"CostAddStreet": "Herzel",
"CostAddBuilding": "1",
"CostAddApartment": "1",
"VerifiedLocation": {
"Latitude": 33.3,
"Longitude": 31.2
},
"OrderPrice": "181",
"OrderTotalCash": "181",
"IsCashPaid": "false",
"IsCardPaid": "true",
"IsCanceled": "false",
"VIP": "true",
"ExtraSize": "true",
"OrderTags": ["VIP", "Preorder"],
"OrderContent": [
{ "Quantity": "1", "Item": "Item1 name", "Price": "29.90" },
{ "Quantity": "2", "Item": "Item2 name", "Price": "74.50" }
]
}Response example
{
"BarcodeId": "abc-12345-def"
}https://api.delivapp.com/data/api/delivery/deleteCancel Order
Submit the information regarding a delivery order cancelation to DelivApp platform.
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| RestID | string | Required | Business entity Id |
| OrderID | string | Required | Order Id |
Request example
{
"RestID": "1-0000574",
"OrderID": "000000"
}https://api.delivapp.com/data/api/delivery/readyOrder Is Ready
Update status for delivery order - set order as Ready for Delivery.
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| RestID | string | Required | Business entity Id |
| OrderID | string | Required | Order Id |
Request example
{
"RestID": "1-0000574",
"OrderID": "000000"
}https://api.delivapp.com/data/api/delivery/etaOrder ETA
Get ETA for requested order.
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| RestID | string | Required | Business entity Id |
| OrderID | string | Required | Order Id |
Response
| Parameter | Type | Required | Description |
|---|---|---|---|
| OrderStatus | integer | Required | Order status (-1: Pending, 0: Delivered, 1: Canceled, 2: Dismissed, 3: AssignedAndWaitingForPickup, 4: BeingDelivered) |
| RegistrationTime | string | Required | Registration Time (date-time format) |
| PickupETA | string | Required | Pickup ETA (date-time format) |
| DropoffETA | string | Required | Drop-off ETA (date-time format) |
| CourierLocation | object | Optional | Assigned courier location |
| └Latitude | number | Optional | Latitude coordinate |
| └Longitude | number | Optional | Longitude coordinate |
Request example
{
"RestID": "1-0000574",
"OrderID": "000000"
}Response example
{
"OrderStatus": 3,
"RegistrationTime": "2021-08-22T11:37:01.753Z",
"PickupETA": "2021-08-22T12:07:01.753Z",
"DropoffETA": "2021-08-22T12:27:01.753Z",
"CourierLocation": {
"Latitude": 32.085931,
"Longitude": 34.789543
}
}Webhook Integration
DelivApp provides webhook support, allowing clients to receive real-time delivery status updates via HTTP POST requests.
Your HTTPS endpointWebhook Payload
DelivApp sends a POST request to your configured endpoint whenever order status changes.
Notes
- Ensure your system responds with HTTP 200 to acknowledge receipt.
- Provide a valid HTTPS endpoint URL to the DelivApp team to enable webhook integration.
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| order_id | string | Required | The order identifier |
| delivery_status | integer | Required | Delivery status code (see Webhook Statuses) |
| data | object | Optional | Additional delivery data |
| └driver_name | string | Optional | Assigned driver name |
| └phone | string | Optional | Assigned driver phone number |
Request example
{
"order_id": "10012",
"delivery_status": 5,
"data": {
"driver_name": "Adam Smith",
"phone": "0557001020"
}
}Bidding API
Endpoints for estimating delivery cost and timing, initiating deliveries through a bidding process, and managing delivery status.
https://api.delivapp.com/data/api/bidhttps://api.delivapp.com/data/api/bid/estimateEstimate
Receive rider availability, estimated timing for pickup and drop off. Does not initiate delivery.
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| rest_Id | string | Required | Pickup place Id |
| pickup_lat | number | Optional | Pickup latitude |
| pickup_lon | number | Optional | Pickup longitude |
| pickup_city | string | Optional | Pickup city |
| pickup_street | string | Optional | Pickup street |
| pickup_notes | string | Optional | Notes on pickup location |
| dropoff_lat | number | Required | Dropoff latitude |
| dropoff_lon | number | Required | Dropoff longitude |
| dropoff_city | string | Optional | Dropoff city |
| dropoff_street | string | Optional | Dropoff street |
| dropoff_notes | string | Optional | Notes on dropoff location |
| preparation_time | integer | Required | Preparation time in minutes |
| tip | integer | Required | Customer tip amount |
Response
| Parameter | Type | Required | Description |
|---|---|---|---|
| status | integer | Required | 1 = success, 0 = failure |
| error | string | Optional | Error description |
| pickup_estimation_time | integer | Required | Epoch format timestamp |
| dropoff_estimation_time | integer | Required | Epoch format timestamp |
| estimation_id | string | Optional | Estimation ID (use in MakeDelivery) |
| price | number | Required | Estimated delivery price |
| valid_until | integer | Required | Epoch timestamp - offer expiry |
Request example
{
"rest_Id": "1-0000574",
"dropoff_lon": 20.122983,
"dropoff_lat": 40.232342,
"preparation_time": 15
}Response example
{
"status": 1,
"pickup_estimation_time": 1629631021,
"dropoff_estimation_time": 1629632221,
"estimation_id": "abcd123",
"price": 25.50,
"valid_until": 1629631621
}https://api.delivapp.com/data/api/bid/makeDeliveryMake Delivery
Commit to and initiate the delivery process. Carrier will assign a rider.
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| rest_Id | string | Required | Pickup place Id |
| estimation_id | string | Required | Estimation ID from Estimate |
| order_id | string | Required | Your order ID (for reference in status/cancel) |
| dropoff_contact_phone | string | Optional | Customer phone |
| dropoff_contact_name | string | Optional | Customer name |
Response
| Parameter | Type | Required | Description |
|---|---|---|---|
| status | integer | Required | 1 = success, 0 = failure |
| error | string | Optional | Error description |
| tracking_information | string | Optional | Track rider location (link or GPS) |
| pickup_estimation_time | integer | Required | Epoch format timestamp |
| dropoff_estimation_time | integer | Required | Epoch format timestamp |
Request example
{
"rest_Id": "1-0000574",
"estimation_id": "abcd123",
"order_id": "10012",
"dropoff_contact_phone": "0557001020",
"dropoff_contact_name": "Adam Smith"
}Response example
{
"status": 1,
"tracking_information": "https://track.delivapp.com/xyz123",
"pickup_estimation_time": 1629631021,
"dropoff_estimation_time": 1629632221
}https://api.delivapp.com/data/api/bid/statusOrder Status
Receive a delivery order status.
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| rest_Id | string | Required | Pickup place Id |
| order_id | string | Required | Order Id |
Response
| Parameter | Type | Required | Description |
|---|---|---|---|
| status | integer | Required | 1 = success, 0 = failure |
| error | string | Optional | Error description |
| delivery_status | integer | Required | Current order status from status list (1-8) |
Request example
{
"rest_Id": "1-0000574",
"order_id": "10012"
}Response example
{
"status": 1,
"delivery_status": 5
}https://api.delivapp.com/data/api/bid/cancelDeliveryCancel Delivery
Cancel an already requested delivery.
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| rest_Id | string | Required | Pickup place Id |
| order_id | string | Required | Order Id |
Response
| Parameter | Type | Required | Description |
|---|---|---|---|
| status | integer | Required | 1 = success, 0 = failure |
| error | string | Optional | Error description |
| delivery_status | integer | Required | Current order status from status list (1-8) |
Request example
{
"rest_Id": "1-0000574",
"order_id": "10012"
}Response example
{
"status": 1,
"delivery_status": 8
}Courier Management API
Endpoints for managing courier shifts, including starting and ending shift operations.
https://api.delivapp.com/data/apihttps://api.delivapp.com/data/api/delivery/checkinStart Shift
Submit information regarding a courier's shift start.
Notes
- Alternative path: /courier/checkin
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| RestID | string | Required | Business entity Id |
| CourierID | string | Required | Courier identifier |
| CourierName | string | Required | Courier full name |
Request example
{
"RestID": "1-0000574",
"CourierID": "000000",
"CourierName": "John Smith"
}https://api.delivapp.com/data/api/delivery/checkoutEnd Shift
Submit information regarding courier shift end.
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| RestID | string | Required | Business entity Id |
| CourierID | string | Required | Courier identifier |
Request example
{
"RestID": "1-0000574",
"CourierID": "000000"
}Depot Management API
Endpoints for creating, updating, and deleting permanent pickup locations (depots).
https://api.delivapp.com/data/apihttps://api.delivapp.com/data/api/depotCreate Depot
Create or update a permanent pickup location (depot).
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| RestID | string | Required | Business entity Id |
| Name | string | Optional | Depot name |
| Phone | string | Optional | Depot phone |
| City | string | Optional | Depot city |
| Street | string | Optional | Depot street |
| Building | string | Optional | Depot building number |
| Apartment | string | Optional | Depot apartment |
| Floor | string | Optional | Depot floor |
| Notes | string | Optional | Depot address notes |
| VerifiedLocation | object | Optional | Depot verified geolocation |
| └Latitude | number | Required | Latitude coordinate |
| └Longitude | number | Required | Longitude coordinate |
| ReadinessTime | integer | Required | Default readiness time in minutes |
| MaxDeliveryTime | integer | Required | Default delivery commitment time in minutes |
Request example
{
"RestID": "1-0000574",
"Name": "Main Depot",
"Phone": "0541234567",
"City": "Tel Aviv",
"Street": "Herzel",
"Building": "10",
"VerifiedLocation": {
"Latitude": 32.0853,
"Longitude": 34.7818
},
"ReadinessTime": 15,
"MaxDeliveryTime": 45
}https://api.delivapp.com/data/api/depot/{restId}Delete Depot
Delete a depot.
Notes
- The restId is provided as a URL path parameter
Headers
| Name | Description |
|---|---|
| Content-Type | application/json (or application/xml) |
| X-Parse-Application-Id | Integration Id provided by DelivApp platform |
| X-Parse-REST-API-Key | Integration API Key provided by DelivApp platform |
Error handling
The API uses standard HTTP status codes to indicate success or failure of requests. Below are the common response codes you may encounter.
| Code | Status | Description |
|---|---|---|
| 200 | OK | Request processed successfully |
| 401 | Not Authorized | Invalid or missing API credentials |
| 500 | Server Unavailable | Internal server error |
Tip
Always check the HTTP status code first. For 200 OK responses, parse the response body for operation-specific result data. For error responses, the body may contain additional error details.
Webhook delivery statuses
When you configure a webhook URL, DelivApp will send delivery status updates to your endpoint. Each update includes a status code indicating the current state of the delivery.
| Code | Status name | Description |
|---|---|---|
| 1 | AcceptedByCarrier | Delivery accepted by carrier |
| 2 | CourierAssociated | A rider was found and associated to order |
| 3 | CourierArrivedToPickup | Rider arrived at pickup |
| 4 | OrderPickedUp | Rider picked up an order |
| 5 | OrderDelivering | Rider on the way to drop off |
| 6 | CourierArrivedToDropOff | Rider arrived at drop off |
| 7 | OrderDelivered | Delivered successfully |
| 8 | OrderCanceled | Delivery cancelled |
Ready to integrate with DelivApp?
Get your API credentials and start building. Our team will help you set up your integration and provide technical support throughout the process.
- Free to integrate
- Dedicated support
- JSON and XML support