v1.0Last updated: 2025-01-01

Data Integration API

Programmatically create and manage delivery orders, track couriers, and receive real-time webhook updates through the DelivApp platform.

Base URL:https://api.delivapp.com/data/api

Getting 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 ID and API 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.

HeaderDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform
Example Request Headers
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.

Base URLhttps://api.delivapp.com/data/api
POSThttps://api.delivapp.com/data/api/delivery

Create Order

Submit the information regarding a new delivery order to DelivApp platform.

Headers

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform

Request Body

ParameterTypeRequiredDescription
RestIDstringRequiredBusiness entity Id
OrderIDstringRequiredOrder Id as shown in business entity - human readable
BarcodeIDstringOptionalUnique POS order id. If provided will be used for reference.
CostNamestringOptionalOrder recipient name
CostPhonestringOptionalOrder recipient phone (national or international format)
TakeawaystringOptionalIs order take away or delivery
CostAddCitystringOptionalOrder recipient city
CostAddStreetstringOptionalOrder recipient street
CostAddBuildingstringOptionalOrder recipient building number
CostAddApartmentstringOptionalOrder recipient apartment
CostAddFloorstringOptionalOrder recipient floor
CostAddNotesstringOptionalOrder recipient address notes
CostAddPlacestringOptionalOrder recipient known place
VerifiedLocationobjectOptionalVerified geolocation for order delivery
LatitudenumberRequiredLatitude coordinate
LongitudenumberRequiredLongitude coordinate
OrderRemarkstringOptionalOrder remarks
OrderDatestringOptionalDate format is dd/MM/yyyy
OrderTimestringOptionalTime format is HH:mm
OrderTargetDatestringOptionalTarget delivery date (dd/MM/yyyy)
OrderTargetTimestringOptionalTarget delivery time (HH:mm)
ReadinessTimeintegerOptionalReadiness time in minutes
MaxDeliveryTimeintegerOptionalDelivery commitment time in minutes
ReadinessAbsDateTimestringOptionalReadiness absolute date time (dd/MM/yyyy HH:mm)
OrderPricestringOptionalOrder total price
DeliveryPricestringOptionalDelivery total price
OrderTotalCashstringOptionalOrder total payment by cash
IsCashPaidstringOptionalIndicates if Cash payment is completed
IsCardPaidstringOptionalIndicates if Credit Card payment is completed
IsCanceledstringOptionalIs order canceled
VIPstringOptionalOrder has high priority if set to true
ExtraSizestringOptionalOrder is Extra Size if set to true
OrderContentarrayOptionalOrder content information
QuantitystringOptionalItem quantity
ItemstringOptionalItem name
PricestringOptionalItem price
OrderTagsarrayOptionalOrder tags array - for further filtering
DriverTipstringOptionalDriver tip
OrderOriginateIdstringOptionalOrder originate identifier

Response

ParameterTypeRequiredDescription
BarcodeIdstringRequiredUnique 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"
}
POSThttps://api.delivapp.com/data/api/delivery/delete

Cancel Order

Submit the information regarding a delivery order cancelation to DelivApp platform.

Headers

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform

Request Body

ParameterTypeRequiredDescription
RestIDstringRequiredBusiness entity Id
OrderIDstringRequiredOrder Id

Request Example

{
  "RestID": "1-0000574",
  "OrderID": "000000"
}
POSThttps://api.delivapp.com/data/api/delivery/ready

Order Is Ready

Update status for delivery order - set order as Ready for Delivery.

Headers

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform

Request Body

ParameterTypeRequiredDescription
RestIDstringRequiredBusiness entity Id
OrderIDstringRequiredOrder Id

Request Example

{
  "RestID": "1-0000574",
  "OrderID": "000000"
}
POSThttps://api.delivapp.com/data/api/delivery/eta

Order ETA

Get ETA for requested order.

Headers

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform

Request Body

ParameterTypeRequiredDescription
RestIDstringRequiredBusiness entity Id
OrderIDstringRequiredOrder Id

Response

ParameterTypeRequiredDescription
OrderStatusintegerRequiredOrder status (-1: Pending, 0: Delivered, 1: Canceled, 2: Dismissed, 3: AssignedAndWaitingForPickup, 4: BeingDelivered)
RegistrationTimestringRequiredRegistration Time (date-time format)
PickupETAstringRequiredPickup ETA (date-time format)
DropoffETAstringRequiredDrop-off ETA (date-time format)
CourierLocationobjectOptionalAssigned courier location
LatitudenumberOptionalLatitude coordinate
LongitudenumberOptionalLongitude 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.

POSTYour HTTPS endpoint

Webhook 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

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform

Request Body

ParameterTypeRequiredDescription
order_idstringRequiredThe order identifier
delivery_statusintegerRequiredDelivery status code (see Webhook Statuses)
dataobjectOptionalAdditional delivery data
driver_namestringOptionalAssigned driver name
phonestringOptionalAssigned 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.

Base URLhttps://api.delivapp.com/data/api/bid
POSThttps://api.delivapp.com/data/api/bid/estimate

Estimate

Receive rider availability, estimated timing for pickup and drop off. Does not initiate delivery.

Headers

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform

Request Body

ParameterTypeRequiredDescription
rest_IdstringRequiredPickup place Id
pickup_latnumberOptionalPickup latitude
pickup_lonnumberOptionalPickup longitude
pickup_citystringOptionalPickup city
pickup_streetstringOptionalPickup street
pickup_notesstringOptionalNotes on pickup location
dropoff_latnumberRequiredDropoff latitude
dropoff_lonnumberRequiredDropoff longitude
dropoff_citystringOptionalDropoff city
dropoff_streetstringOptionalDropoff street
dropoff_notesstringOptionalNotes on dropoff location
preparation_timeintegerRequiredPreparation time in minutes
tipintegerRequiredCustomer tip amount

Response

ParameterTypeRequiredDescription
statusintegerRequired1 = success, 0 = failure
errorstringOptionalError description
pickup_estimation_timeintegerRequiredEpoch format timestamp
dropoff_estimation_timeintegerRequiredEpoch format timestamp
estimation_idstringOptionalEstimation ID (use in MakeDelivery)
pricenumberRequiredEstimated delivery price
valid_untilintegerRequiredEpoch 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
}
POSThttps://api.delivapp.com/data/api/bid/makeDelivery

Make Delivery

Commit to and initiate the delivery process. Carrier will assign a rider.

Headers

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform

Request Body

ParameterTypeRequiredDescription
rest_IdstringRequiredPickup place Id
estimation_idstringRequiredEstimation ID from Estimate
order_idstringRequiredYour order ID (for reference in status/cancel)
dropoff_contact_phonestringOptionalCustomer phone
dropoff_contact_namestringOptionalCustomer name

Response

ParameterTypeRequiredDescription
statusintegerRequired1 = success, 0 = failure
errorstringOptionalError description
tracking_informationstringOptionalTrack rider location (link or GPS)
pickup_estimation_timeintegerRequiredEpoch format timestamp
dropoff_estimation_timeintegerRequiredEpoch 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
}
POSThttps://api.delivapp.com/data/api/bid/status

Order Status

Receive a delivery order status.

Headers

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform

Request Body

ParameterTypeRequiredDescription
rest_IdstringRequiredPickup place Id
order_idstringRequiredOrder Id

Response

ParameterTypeRequiredDescription
statusintegerRequired1 = success, 0 = failure
errorstringOptionalError description
delivery_statusintegerRequiredCurrent order status from status list (1-8)

Request Example

{
  "rest_Id": "1-0000574",
  "order_id": "10012"
}

Response Example

{
  "status": 1,
  "delivery_status": 5
}
POSThttps://api.delivapp.com/data/api/bid/cancelDelivery

Cancel Delivery

Cancel an already requested delivery.

Headers

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform

Request Body

ParameterTypeRequiredDescription
rest_IdstringRequiredPickup place Id
order_idstringRequiredOrder Id

Response

ParameterTypeRequiredDescription
statusintegerRequired1 = success, 0 = failure
errorstringOptionalError description
delivery_statusintegerRequiredCurrent 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.

Base URLhttps://api.delivapp.com/data/api
POSThttps://api.delivapp.com/data/api/delivery/checkin

Start Shift

Submit information regarding a courier's shift start.

Notes

  • -Alternative path: /courier/checkin

Headers

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform

Request Body

ParameterTypeRequiredDescription
RestIDstringRequiredBusiness entity Id
CourierIDstringRequiredCourier identifier
CourierNamestringRequiredCourier full name

Request Example

{
  "RestID": "1-0000574",
  "CourierID": "000000",
  "CourierName": "John Smith"
}
POSThttps://api.delivapp.com/data/api/delivery/checkout

End Shift

Submit information regarding courier shift end.

Headers

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform

Request Body

ParameterTypeRequiredDescription
RestIDstringRequiredBusiness entity Id
CourierIDstringRequiredCourier identifier

Request Example

{
  "RestID": "1-0000574",
  "CourierID": "000000"
}

Depot Management API

Endpoints for creating, updating, and deleting permanent pickup locations (depots).

Base URLhttps://api.delivapp.com/data/api
POSThttps://api.delivapp.com/data/api/depot

Create Depot

Create or update a permanent pickup location (depot).

Headers

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration API Key provided by DelivApp platform

Request Body

ParameterTypeRequiredDescription
RestIDstringRequiredBusiness entity Id
NamestringOptionalDepot name
PhonestringOptionalDepot phone
CitystringOptionalDepot city
StreetstringOptionalDepot street
BuildingstringOptionalDepot building number
ApartmentstringOptionalDepot apartment
FloorstringOptionalDepot floor
NotesstringOptionalDepot address notes
VerifiedLocationobjectOptionalDepot verified geolocation
LatitudenumberRequiredLatitude coordinate
LongitudenumberRequiredLongitude coordinate
ReadinessTimeintegerRequiredDefault readiness time in minutes
MaxDeliveryTimeintegerRequiredDefault 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
}
DELETEhttps://api.delivapp.com/data/api/depot/{restId}

Delete Depot

Delete a depot.

Notes

  • -The restId is provided as a URL path parameter

Headers

NameDescription
Content-Typeapplication/json (or application/xml)
X-Parse-Application-IdIntegration Id provided by DelivApp platform
X-Parse-REST-API-KeyIntegration 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.

CodeStatusDescription
200OKRequest processed successfully
401Not AuthorizedInvalid or missing API credentials
500Server UnavailableInternal 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.

CodeStatus NameDescription
1AcceptedByCarrierDelivery accepted by carrier
2CourierAssociatedA rider was found and associated to order
3CourierArrivedToPickupRider arrived at pickup
4OrderPickedUpRider picked up an order
5OrderDeliveringRider on the way to drop off
6CourierArrivedToDropOffRider arrived at drop off
7OrderDeliveredDelivered successfully
8OrderCanceledDelivery cancelled
API Access

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 integrateDedicated supportJSON & XML support