Welcome to the ZeptoExpress API! You can use our API to access ZeptoExpress API endpoints to start creating delivery orders. Our API is organized around REST. JSON will be returned in all responses from the API, including errors.
You authenticate to the ZeptoExpress API by providing your API Secret Keys in the request. You can get your API keys from your account's settings page.
Authentication to the API occurs via HTTP Basic Auth. Provide your API key as the basic auth username. You do not need to provide a password.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. You must authenticate for all requests.
ATTRIBUTES | |
---|---|
token string
|
Unique token of the app that has been registered and allowed to make queries via ZeptoExpress API platform. Token is complusory for every call via the API. |
app_id string
|
Unique string of numbers of the app that has been assigned upon approval of registration. App ID is compulsory for every call via the API. |
$ curl -X POST https://zeptoapi.com/api/rest/authenticate \
-d token=764b26d5dd8772af73eef8110a33f5d9 \
-d app_id=131862568712
"result": {
"status": true,
"email": "[email protected]",
"company_name": "ZeptoExpress Berhad",
"domain_name": "www.zeptoexpress.com",
"contact_person": "John Doe",
"contact_telno": "0122643163",
"app_description": "API for e-commerce",
"merchant_id": "1009",
"api_status": "Sandbox Mode"
}
"result": [
{
"status": false,
"message": "Token or app_id do not have permission to retrieve records"
}
]
curl uses the -token and app_id flag to pass basic auth credentials. A sample test API key has been provided in all the examples on the page, so you can test out any example right away.
Post Code Calculator API lets you get estimates of mileage and also price between 2 postal code.
ATTRIBUTES | |
---|---|
token string
|
Unique token of the app that has been registered and allowed to make queries via ZeptoExpress API platform. Token is complusory for every call via the API. |
app_id string
|
Unique string of numbers of the app that has been assigned upon approval of registration. App ID is compulsory for every call via the API. |
pickup string
|
The pickup post code for the order. Present if the order is for goods to be shipped. Post Code Format "55100" |
delivery string
|
The delivery post code for the order that will be delivered. Post Code Format "56000" |
country string
|
UK = United Kingdom IT = Italy MY = Malaysia SG = Singapore |
postcodes values
|
Example : 55100 63200 43200 59100 Note : All prices will have a surcharge of 50% between 6PM - 9AM daily, Saturday and Sunday. |
$ curl -X POST https://zeptoapi.com/api/rest/calculator/postcode/ \
-d token=764b26d5dd8772af73eef8110a33f5d9 \
-d app_id=131862568712 \
-d pickup=55100 \
-d delivery=56000 \
-d country="MY"
"result": [
{
"status": true,
"pickup_latlng": "3.139199,101.7324927",
"delivery_latlng": "3.090795,101.7258578",
"distance_km": 12.4,
"price_myr": 10
}
]
"result": [
{
"status": false,
"message": "post code is out of range"
}
]
Note: A sample test API key has been provided in all the examples on the page, so you can test out any example right away.
Address Calculator allows you to get the estimate of 2 way-points and also pricing.
ATTRIBUTES | |
---|---|
token string
|
Unique token of the app that has been registered and allowed to make queries via ZeptoExpress API platform. Token is complusory for every call via the API. |
app_id string
|
Unique string of numbers of the app that has been assigned upon approval of registration. App ID is compulsory for every call via the API. |
pickup string
|
The pickup address for the order. Present if the order is for goods to be shipped. |
delivery string
|
The delivery address for the order that will be delivered. Note : All prices will have a surcharge of 50% between 6PM - 9AM daily, Saturday and Sunday. |
vehicle integer
|
Vehicle type list
1 = Zepto Bike 2 = Zepto Car 3 = Zepto Truck 4 = Zepto Run |
schedule datetime
|
Example : 2024-11-09 14:46:20
Format : Y-m-d H:i:s |
country string
|
UK = United Kingdom IT = Italy MY = Malaysia SG = Singapore |
$ curl -X POST https://zeptoapi.com/api/rest/calculator/address \
-d token=764b26d5dd8772af73eef8110a33f5d9 \
-d app_id=131862568712 \
-d pickup="Damai Perdana 3/1A, Bandar Damai Perdana" \
-d delivery="Jalan 4/3H, Seksyen 3, Bandar Baru Bangi" \
-d vehicle=1 \
-d schedule="2024-11-09 14:46:20" \
-d country="MY"
"result": [
{
"status": true,
"pickup_latlng": "3.0472518,101.7385738",
"delivery_latlng": "2.9615434,101.7774194",
"distance_km": "22",
"price_myr": 18
"daylight": "day"
}
]
"result": [
{
"status": false,
"message": "Please provide pickup address and delivery address"
}
]
Note: A sample test API key has been provided in all the examples on the page, so you can test out any example right away.
Live Tracker POST API allows you to retrieve request of rider's current location. You will need to pass in the unique id of each Job.
ATTRIBUTES | |
---|---|
token string
|
Unique token of the app that has been registered and allowed to make queries via ZeptoExpress API platform. Token is complusory for every call via the API. |
app_id string
|
Unique string of numbers of the app that has been assigned upon approval of registration. App ID is compulsory for every call via the API. |
jobid integer
|
Unique integer of jobs that has been created on ZeptoExpress. |
country string
|
UK = United Kingdom IT = Italy MY = Malaysia SG = Singapore |
delivery_status integer
|
1 = Pending 2 = Completed 99 = Cancel Note : eta_pickup and eta_delivery unit is in minute. |
$ curl -X POST https://zeptoapi.com/api/rest/tracker \
-d token=764b26d5dd8772af73eef8110a33f5d9 \
-d app_id=131862568712 \
-d jobid=420 \
-d country="MY"
"result":
{
"status": true,
"rider": "3.1013016666666666,101.74051666666668",
"delivery": "3.0167499,101.6163062",
"pickup": "3.0762323,101.5885561"
"delivery_status": "1"
"eta_delivery": "51"
"eta_pickup": "36"
}
"result":
{
"status": false,
"message": "jobid or rider does not match"
}
Note: A sample test API key has been provided in all the examples on the page, so you can test out any example right away.
Create Job API allows you to create new jobs on ZeptoExpress via POST method.
ATTRIBUTES | |
---|---|
token string
|
Unique token of the app that has been registered and allowed to make queries via ZeptoExpress API platform. Token is complusory for every call via the API. |
app_id string
|
Unique string of numbers of the app that has been assigned upon approval of registration. App ID is compulsory for every call via the API. |
sender_fullname string
|
Fullname of the customer who will be making the delivery order. |
sender_email string
|
The email address of the customer who will be making the delivery order. |
sender_phone string
|
Contact mobile no of the person who will be making the delivery order. |
recipient_fullname string
|
Fullname of the customer who will be receiving the delivery order. |
recipient_email string
|
The email address of the customer who will be receiving the delivery order. |
recipient_phone string
|
Contact mobile no of the person who will be receiving SMS notifications for the delivery secret code. |
pickup_address
string
|
The pickup address for the order. Present if the order is for goods to be shipped. |
delivery_address string
|
The delivery address for the order that will be delivered. |
pickup_latlng string
|
The pickup latlong is based from the pickup address given. This value can be obtained from the Address Calculator API |
delivery_latlng string
|
The delivery latlong is based from the delivery address given. This value can be obtained from the Address Calculator API |
distance_km string
|
Distance are are calculated based on estimated of pickup and delivery LatLong. This value can be obtained from the Address Calculator API |
price_myr string
|
Price are based on distance of 2 location points. This value can be obtained from the Address Calculator API |
trip_type integer
|
Choose your trip type whether it's a 1 way delivery or 2 way (return) delivery. Use "1" for one way delivery and "2" for return delivery. |
instruction_notes string
|
Enter instructional notes to our riders for example if you want our riders to do any specific tasks. |
datetime_pickup timestamp
|
You may choose to schedule or to create the job "NOW". Parameter will be in timestamp format for scheduled deliveries or "NOW". Scheduled format 2015-06-30 14:30:28 |
unit_no_pickup string
|
Enter pickup unit/floor/building |
unit_no_delivery string
|
Enter delivery unit/floor/building |
vehicle string
|
1 = ZeptoBike 2 = ZeptoCar 3 = ZeptoTruck 4 = ZeptoRun |
parcel_type string
|
d = Document f = Food p = Parcel |
product_list string (optional)
|
List of products for us to perform pick & pack. It is also required for insurance coverage. Each item will need to be separated by "|".
|
product_price string
(optional) |
Price of products for us to perform pick & pack. It is also required for insurance coverage. Each item price will need to be separated by "|".
|
product_currency string
(optional) |
Specify currency of product price (MYR, USD).
|
product_order_id string
(optional) |
Specify product order id (Example : 18892).
|
country string
|
UK = United Kingdom IT = Italy MY = Malaysia SG = Singapore |
$ curl -X POST https://zeptoapi.com/api/rest/booking/new \
-d token=764b26d5dd8772af73eef8110a33f5d9 \
-d app_id=131862568712 \
-d sender_fullname="John Doe" \
-d sender_email="[email protected]" \
-d sender_phone="+60122643163" \
-d recipient_fullname="Steven Lee" \
-d recipient_email="[email protected]" \
-d recipient_phone="+60123728133" \
-d pickup_address="5,Damai Perdana 3/1A,Bandar Damai Perdana" \
-d delivery_address="Jalan 4/3H, Seksyen 3, Bandar Baru Bangi" \
-d pickup_latlng="3.0472518,101.7385738" \
-d delivery_latlng="2.9615434,101.7774194" \
-d distance_km=20.3 \
-d price_myr=21 \
-d trip_type=1 \
-d instruction_notes="Please call me when you have reached." \
-d datetime_pickup=NOW \
-d unit_no_pickup="1-14, 1st Floor" \
-d unit_no_delivery="7, 2nd Floor" \
-d vehicle=1 \
-d product_list="Item 1 | Item 2 | Item 3" \
-d product_price="89.90 | 107.20 | 45.45" \
-d product_currency="MYR" \
-d product_order_id="18892" \
-d country="MY"
"booking": [
{
"status": true,
"jobid": "521"
"rider": 0
"secret_code_pickup": "154477"
"secret_code_delivery": "401050"
"payment_url": "https://www.zeptopay.co/app/billplz-gateway?v=22e2693ea35bf1049266ea9c40a37ffb&j=521"
}
]
"booking": [
{
"status": false,
"message": "Parameters does not match the required fields"
}
]
Note: All parameters are required in order to create a new job via the API. A sample test API key has been provided in all the examples on the page, so you can test out any example right away.
Booking Details API lets you retrieve jobs created from your app_id.
ATTRIBUTES | |
---|---|
token string
|
Unique token of the app that has been registered and allowed to make queries via ZeptoExpress API platform. Token is complusory for every call via the API. |
app_id string
|
Unique string of numbers of the app that has been assigned upon approval of registration. App ID is compulsory for every call via the API. |
jobid string
|
Unique integer of jobs that has been created on ZeptoExpress. |
country string
|
UK = United Kingdom IT = Italy MY = Malaysia SG = Singapore |
$ curl -X POST https://zeptoapi.com/api/rest/booking/details \
-d token=764b26d5dd8772af73eef8110a33f5d9 \
-d app_id=131862568712 \
-d jobid=420 \
-d country="MY"
"booking_details": [
{
"status": true,
"booking_id": "420",
"delivery_status": "2",
"distance": "12 km",
"price_myr": "10.00",
"pickup_address": "7A, Jalan SS 15\/4b, Ss 15, 47500 Subang Jaya",
"delivery_address": "73-1, Jalan Puteri 5\/7, Bandar Puteri, 47100 Puchong",
"pickup_latlng": "3.0762323,101.5885561",
"delivery_latlng": "3.0167499,101.6163062",
"trip_type": "1",
"instruction_notes": ""
"date_created": "2015-07-22 14:36:09"
"date_delivered": "2015-07-22 16:50:11"
"return_job": null
"date_pickup": null
}
]
"secret_code": [
{
"secret_code_pickup": "154477",
"secret_code_delivery": "401050"
}
]
"rider_details": [
{
"rider_fullname": "Alif Abdul Aziz B Selamat",
"rider_email": "[email protected]",
"rider_mobile": "0182722189",
"rider_vehicleno": "WVP 357"
"rider_photo": "ae578e33be854b6\/95639b8efa83866c2e4.png"
}
]
"sender_details": [
{
"sender_fullname": "Goh CH",
"sender_email": "[email protected]",
"sender_phone": "60172272155"
}
]
"recipient_details": [
{
"recipient_fullname": "Goh",
"recipient_email": "[email protected]",
"recipient_phone": "0172772155"
}
]
"booking_details": [
{
"status": false,
"message": "jobid does not match"
}
]
Note: Only job id that are listed will return values. A sample test API key has been provided in all the examples on the page, so you can test out any example right away.
Retrieve History allows you to get all jobid created using your merchant account via ZeptoExpress API.
ATTRIBUTES | |
---|---|
token string
|
Unique token of the app that has been registered and allowed to make queries via ZeptoExpress API platform. Token is complusory for every call via the API. |
app_id string
|
Unique string of numbers of the app that has been assigned upon approval of registration. App ID is compulsory for every call via the API. |
country string
|
UK = United Kingdom IT = Italy MY = Malaysia SG = Singapore |
$ curl -X POST https://zeptoapi.com/api/rest/history/info \
-d token=764b26d5dd8772af73eef8110a33f5d9 \
-d app_id=131862568712 \
-d country="MY"
"result": [
{
"1": {
"jobid": "1299",
"rider": "0"
"status": true
},
"2": {
"jobid": "1298",
"rider": "0"
"status": true
},
"3": {
"jobid": "1297",
"rider": "0"
"status": true
},
"4": {
"jobid": "1296",
"rider": "0"
"status": true
},
"5": {
"jobid": "1295",
"rider": "0"
"status": true
},
"6": {
"jobid": "1294",
"rider": "0"
"status": true
},
"7": {
"jobid": "1293",
"rider": "0"
"status": true
},
"8": {
"jobid": "1292",
"rider": "0"
"status": true
},
"9": {
"jobid": "1291",
"rider": "0"
"status": true
},
"10": {
"jobid": "1290",
"rider": "0"
"status": true
},
"status": true
}
]
"result": [
{
"status": false,
"message": "Token or app_id do not have permission to retrieve records"
}
]
Note: A sample test API key has been provided in all the examples on the page, so you can test out any example right away.