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.
Get API Credentials
Contact our team to receive your Application ID and API Key.
Authenticate Requests
Include your credentials in the request headers for every API call.
Create Your First Order
Use the General Order API or Bidding API to create delivery orders.
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.