NAV

API Documentation

With Deliveree API, developers can integrate our on-demand local delivery platform into their applications. The API is designed for developers to check prices, book an immediate or scheduled delivery and follow updates until delivery completion.

Overview

To get started with DELIVEREE API:

Step 1: Create a DELIVEREE developer account

Step 2: Develop

https://api.deliveree.com/public_api/

Step 3: Review our main flows

Scenarios Flow
Successful Delivery/Booking
1 pickup and 1 destination
locating_driver -> driver_accept_booking -> delivery_in_progress -> delivery_completed
Booking/Delivery Cancellation locating_driver -> driver_accept_booking -> canceled
No driver found locating_driver -> locating_driver_timeout
Our Customer Service jumps in -> locating driver

Step 4: Test on Sandbox

Scenarios Flow
Successful Delivery/Booking Book a delivery
1 pickup and 1 destination * locating_driver
(Wait 5-15 seconds)
* driver_accept_booking
(Wait 5-15 seconds)
* delivery_in_progress
(Wait 5-15 seconds)
* delivery_completed
Booking/Delivery Cancellation Book a delivery
* locating_driver
* driver_accept_booking
(POST /public_api/v1/deliveries/{id}/cancel)
(Post this before 5-15 seconds)
* canceled
No driver found Book a delivery
* locating_driver
(Wait 5-15 seconds)
* locating_driver_timeout

Step 5: Launch


What the API can do for you?

You can use the DELIVEREE API to use our fleet of drivers to deliver your products within our services areas (geographic zones).

Here’s a flow that developers usually follow when using our API:

  1. To check if a delivery is possible, request a delivery quote. This endpoint takes at least 2 addresses (pickup and up to 10 drop-off locations) and returns a fee by vehicle type, and other information about a potential delivery.
  2. After you have evaluated the quoted price meets your need, you can choose a vehicle type and create a delivery.
  3. While it is in progress, you track the delivery status in real-time by polling API, or with webhooks.

Authentication

curl -H 'Authorization: YOUR_API_KEY' \
'https://api.deliveree.com/public_api/v1/deliveries'

When your account manager first sets up your account, you will be provided with an API key. Please make sure to keep this key secured and never embed it in client-side code.

You must pass the API key in the request header with the value Api-Key.

Requests made without an API key will return a 401 Unauthorized response.

If an API key hasn’t yet been provided to you, please send an email to pdc.requests@deliveree.com with your contact information, and we’ll be in touch.

Requests

The base URL for all requests to the DELIVEREE API is:

https://api.deliveree.com/public_api/{version}

The current version of the API is v1. Backwards incompatible changes will result in a version bump.

REST

Our API is REST based. This means:

All requests use standard query encoding. POST data should be encoded as standard application/x-www-form-urlencoded.

Versioning

The Deliveree API is constantly being worked on to add features, make improvements, and fix bugs. This means that you should expect changes to be introduced and documented. Whenever we make a significant change to an endpoint, we will increase the version number used in the path of the resource being requested.

However, there are some changes or additions that are considered backwards-compatible and your applications should be flexible enough to handle them. These include:

Responses

The DELIVEREE API uses HTTP status codes to indicate the status of your requests. This includes successful and unsuccessful responses.

Responses will also include JSON formatted details for further details.

Pagination

{
    "pagination": {
        "total_count": 500,
        "per_page": 25,
        "next_page": "https://api.deliveree.com/public_api/{version}/...",
        "previous_page": "https://api.deliveree.com/public_api/{version}/..."
    }
}

Requests that return multiple items will be paginated to 25 items by default. The page parameter can be used to specify further pages or offsets. Also, the per_page can be used for custom page sizes up to 100. To support pagination, we include attributes such as:

Errors

HTTP/1.1 422 Invalid Request
Content-Type: application/json

{
  "error": {
    "code": "string",
    "message": "string"
  }
}

Error responses include details about what went wrong.

Webhooks

Webhooks allow you to receive real-time updates to your ongoing deliveries. By configuring a URL we can POST updates to, you’ll get the most up-to-date information to show to your customers.

Webhook endpoint

To use webhooks, you’ll need to configure your own web application to accept HTTP POST requests from us. These requests will contain JSON objects representing the event that has occurred.

Please contact us at pdc.requests@deliveree.com to configure this URL endpoint.

We will send a JSON payload to the endpoint for every job status update, you can read more about the possible statuses.

Security

Headers Description
Authorization The unique key for a webhook which we use to authorize our requests. (This key can be generated by you)
{
    "id": 100,
    "customer_id": 22,
    "driver_id": 403,
    "vehicle_type_id": 1,
    "company_id": 33,
    "time_type": "now",
    "status": "delivery_in_progress",
    "note": "Just a note",
    "total_fees": 500,
    "currency": "Rp",
    "tracking_url": "https://webapp.deliveree.com/...",
    "created_at": "2016-01-29T01:35:08Z",
    "sent_at": "2016-01-29T01:35:09Z"
}

SDK

With Deliveree SDK, developers can integrate our on-demand local delivery platform into their applications. The SDK is designed for developers to check prices, book an immediate or scheduled delivery and follow updates until delivery completion.

Language Requirements Link
C# .NET 4.5+ or .NET CORE 2.1.13+ Get Started
Javascript NodeJS Get Started
PHP PHP 5.5+ Get Started
Ruby Ruby 1.9+ Get Started
Python Python 3.3+ Get Started
Java Java 8 or later, Spring Boot Framework 1.5.9 or later Get Started

Sandbox

The DELIVEREE API Sandbox provides development endpoints for testing the functionality of an application without making calls to the production Deliveree platform. All requests made to the Sandbox environment will be ephemeral.

Requests to the Sandbox environment should be made to:

https://api.sandbox.deliveree.com/public_api/{version}

How to get a production key?

When you’re ready to start doing live deliveries:

  1. Send your request to pdc.requests@deliveree.com
  2. Receive your production key.
  3. Use your production API key to create live deliveries.

Endpoints

Get a delivery quote

The first step in using the Deliveree API is to get a quote on a delivery. This allows you to make decisions about the appropriate cost and availability for using the Deliveree platform, which can vary based on distance and vehicle.

Get a delivery quote including POD and/or COD

POD = Proof of Delivery
COD = Cash on Delivery

Each location can include a POD and/or a COD (set need_cod / need_pod as true or false). Our API returns a total_fee based on our pricing by country. Note that if you request a COD, the cod_invoice_fees (amount that needs to be collected by the driver) is required.

Request

$ curl -X POST https://api.deliveree.com/public_api/v1/deliveries/get_quote \
   --header "Content-Type:application/json" \
   --header "Authorization:YOUR_API_KEY" \
   --header "Accept-Language:en" \
   --data '{
              "time_type": "now",
              "vehicle_type_id":21,
              "packs": [
                {
                  "dimensions": [1,2,3],
                  "weight": 100,
                  "quantity": 2
                },
                {
                  "dimensions": [2,2,5],
                  "weight": 20,
                  "quantity": 1
                }
              ],
              "locations": [
                {
                  "address": "Jl. Sultan Iskandar Muda No.21, Arteri Pondok Indah, Pd. Pinang, Kby. Lama, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta, Indonesia",
                  "latitude": -6.2608232,
                  "longitude": 106.7884168
                },
                {
                  "address": "Gedung Inti Sentra, Jl. Taman Kemang, RT.14/RW.1, Bangka, Mampang Prpt., Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta, Indonesia",
                  "latitude": -6.2608232,
                  "longitude": 106.7884168,
                  "need_cod": true,
                  "cod_invoice_fees": 5000,
                  "need_pod":true
                }
              ]
            }'

POST /public_api/v1/deliveries/get_quote

Headers

Name Type Description
Authorization *  string API Key
Accept-Language string User language

Parameters

Name Type Description
time_type *  string There are 2 time_type : “now” and “schedule”. “now” is a delivery that needs to happen now. “schedule” is a delivery in the future (at least 2 hours from current time).
pickup_time datetime (ISO Time) For time_type=“now”, the pickup_time can be blank as the Delivery needs to happen now.
For time_type=“schedule”, the pickup_time needs a value.
vehicle_type_id integer Optional specific Vehicle Type ID.
The return quotes will only for vehicle type you provide.
Use this when you know exactly what vehicle type you need.
packs array List of Pack’s informations.
Include dimensions(length, width, height), weigth, quantity.
locations array

List of Short Location (incl. pick-up and drop-off locations).
The first location in the list is the pick-up location. The following locations are drop-off locations. The route is designed based on the order of the locations you post.

Example :

  1. Location 1 = pickup
  2. Location 2 = first drop-off by the driver
  3. Location 3 = second drop-off by the driver
  4. etc
Minimum locations required : 2 (1x pickup and 1x drop-off)
Maximum locations :
- Up to 23 Locations for Indonesia
- Up to 15 Locations for Thailand
- Up to 15 Locations for Philippines

Short Location

A location is an object representing a location.

Name Type Description
address *  string Address of the location
latitude float Latitude component of the location
longitude float Longitude component of the location
need_cod boolean The location need COD or not.
cod_invoice_fees float The COD amount that needs to be collected by the driver at that location. Is required if need_cod is true.
need_pod boolean The location need POD or not.

Note: We highly recommend using latitude and longitude address for location accuracy.

Pack

Pack is kind of package you want to delivery.

Name Type Description
dimensions *  array Array [length, width, height] of pack by Centimeter
weigth *  float Weight of pack by Kilogram
quantity *  integer Quantity of pack

Responses

HTTP/1.1 200 OK
Content-Type: application/json

{
    "data": [
        {
            "vehicle_type_id": 1,
            "vehicle_type_name": "Motorcycle",
            "total_fees": 500,
            "currency": "Rp"
        },
        {
            "vehicle_type_id": 2,
            "vehicle_type_name": "City Car",
            "total_fees": 800,
            "currency": "Rp"
        }
    ]
}

We return a list of fees for all available vehicle types.

Name Type Description
vehicle_type_id integer The ID of vehicle type (use it to create a delivery)
vehilce_type_name string The name of vehicle type (ex. Motorbike, City Car, etc)
total_fees string Estimated Delivery Fee for the vehicle type
currency string Currency of the amound fee (ex. Rp, Usd, etc)

Create a delivery

Once you have all locations of a delivery you can get a delivery quote. This allows you to make decisions about the appropriate cost and availability for using Deliveree, which can vary based on distance and vehicle.

Create a delivery including POD and/or COD

POD = Proof of Delivery
COD = Cash on Delivery

Each location can include a POD and/or a COD (set need_cod / need_pod as true or false). A note to the driver can be added for each POD or COD. If a COD is selected, the COD amount is required.

COD and POD screen selection on Customer App as illustration

As example, what does the driver see?

At delivery of Destination 2 above, the driver sees as following.

Request

$ curl -X POST https://api.deliveree.com/public_api/v1/deliveries \
   --header "Content-Type:application/json" \
   --header "Authorization:YOUR_API_KEY" \
   --header "Accept-Language:en" \
   --data '{
              "vehicle_type_id": 1,
              "note": "Fragile item that needs good care.",
              "time_type": "schedule",
              "pickup_time": "2016-05-13T09:51:16+07:00",
              "job_order_number": "66666",
              "locations": [
                {
                  "address": "Jl. Sultan Iskandar Muda No.21, Arteri Pondok Indah, Pd. Pinang, Kby. Lama, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta, Indonesia",
                  "latitude": -6.2608232,
                  "longitude": 106.7884168,
                  "recipient_name": "Duke",
                  "recipient_phone": "+84903398399",
                  "note": "Second floor, room 609"
                },
                {
                  "address": "Gedung Inti Sentra, Jl. Taman Kemang, RT.14/RW.1, Bangka, Mampang Prpt., Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta, Indonesia",
                  "latitude": -6.2608232,
                  "longitude": 106.7884168,
                  "recipient_name": "Nam",
                  "recipient_phone": "+84903856534",
                  "note": "First floor, right room.",
                  "need_cod": true,
                  "cod_note": "You need to get money from Nam",
                  "cod_invoice_fees": 5000,
                  "need_pod":true,
                  "pod_note": "You need to ..."
                }
              ],
              "require_signatures": true
            }'

POST /public_api/v1/deliveries

Headers

Name Type Description
Authorization *  string API Key
Accept-Language string User language

Parameters

Name Type Description
vehicle_type_id *  integer Vehicle Type ID, provided when requesting a “Delivery Quote” (ex. 1 which is Motorbike)
note string Note of for the entire delivery. This one is different from “note per location”. (ex. Fragile Item that needs good care.)
time_type *  string There are 2 time_type : “now” and “schedule”. “now” is a delivery that needs to happen now. “schedule” is a delivery in the future (at least 2 hours from current time).
pickup_time datetime (ISO Time) For time_type=“now”, the pickup_time can be blank as the Delivery needs to happen now.
For time_type=“schedule”, the pickup_time needs a value.
job_order_number string Optional Job/Order number that identifies the package. Example: “Order #690”
allow_parking_fees boolean Driver may have to pay for parking.
allow_tolls_fees boolean Driver can use tolls roads.
allow_waiting_time_fees boolean Driver may have to wait 60min or more.
optimize_route boolean Re-order your destinations to achieve the fastest route.
send_first_to_favorite boolean Prioritizing booking to your favorite drivers first before everyone else
locations *  array

List of Location (incl. pick-up and drop-off locations).
The first location in the list is the pick-up location. The following locations are drop-off locations. The route is designed based on the order of the locations you post.

Example :

  1. Location 1 = pickup
  2. Location 2 = first drop-off by the driver
  3. Location 3 = second drop-off by the driver
  4. etc
Minimum locations required : 2 (1x pickup and 1x drop-off)
Maximum locations :
- Up to 23 Locations for Indonesia
- Up to 15 Locations for Thailand
- Up to 15 Locations for Philippines

require_signatures boolean Require signatures and applies to all locations

Location

A location is an object representing a location of delivery

Name Type Description
address *  string Address of the location
latitude float Latitude component of the location
longitude float Longitude component of the location
recipient_name *  string Name of a personal recipient at the location (our driver needs to contact person at the location, ex. Thomas Eichenberger)
recipient_phone *  string Phone number of a personal recipient at the location (our driver needs to call that person when arriving)
note string Additional instructions for the driver at the location. Each location has a particular note (ex. Pickup Location: Building G2, 18th floor. Drop-off location: Ground Floor, please ring.)
need_cod boolean The location need COD or not.
cod_note string COD note.
cod_invoice_fees float The COD amount that needs to be collected by the driver at that location. Is required if need_cod is true.
need_pod boolean The location need POD or not.
pod_note string POD note.
position_trackings array List of Position Tracking
proof_of_delivery_photos array List of Proof of delivery photos and documents
signature_url string The Signature Url.

Note: We highly recommend using latitude and longitude address for location accuracy.

Responses

HTTP/1.1 201 Created
Content-Type: application/json

{
    "id": 100,
    "customer_id": 22,
    "driver_id": 403,
    "vehicle_type_id": 1,
    "company_id": 33,
    "time_type": "now",
    "status": "delivery_in_progress",
    "note": "Just a note",
    "total_fees": 500,
    "currency": "Rp",
    "tracking_url": "https://webapp.deliveree.com/...",
    "created_at": "2016-01-29T01:35:08Z",
    "eta_from_driver_to_pickup": 1800,
    "distance_from_driver_to_pickup": 10.5
}
Name Type Description
id integer ID of delivery
customer_id integer ID of customer
driver_id integer ID of driver
vehicle_type_id integer ID of vehicle type
company_id integer ID of company (if the delivery is from a Business)
time_type string Time type of delivery (“now” or “schedule”)
status string Status of delivery
note text Note of entire delivery (not the note per location)
total_fees float Amount Fee
currency string Currency of Delivery (ex. Rp, Usd, etc)
tracking_url string URL to view status of delivery. That URL can be opened in a browser to follow the driver real-time and see the ETA to locations).
created_at datetime Time of Creation of the delivery (ISO Time)
eta_from_driver_to_pickup integer ETA in seconds from current driver location to pickup location
distance_from_driver_to_pickup float Distance between driver and pickup location (Unit: Kilometer)

Delivery status

Name Description
locating_driver The system is searching (locating) for a driver.
locating_driver_timeout After a time T, the system has not found a driver yet, therefore there is a timeout (can retry).
driver_accept_booking The system has found a driver who took that delivery.
delivery_in_progress The delivery has started and is in progress.
delivery_completed The delivery is completed. The item has been delivered to all recipients successfully.
undeliverable Error, the system cannot process this request.
canceled Delivery has been canceled.

Get Delivery Details

You can check the delivery status at any time, but we highly recommend using webhooks if you can implement them for real-time updates.

Request

$ curl -X GET /public_api/v1/deliveries/1 \
   --header "Content-Type:application/json" \
   --header "Authorization:YOUR_API_KEY" \
   --header "Accept-Language:en" \

GET /public_api/v1/deliveries/{id}

Headers

Name Type Description
Authorization *  string API Key
Accept-Language string User language

Parameters

Name Type Description
id *  integer ID of Delivery.

Responses

HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": 100,
    "customer_id": 22,
    "driver_id": 403,
    "driver": {
        "id": 403,
        "name": "Duke the driver",
        "phone": "+84903398399",
        "driver_image_url": "https://webapp.deliveree.com/...",
        "last_known_position_lat": 10.767930,
        "last_known_position_lng": 106.696440
    },
    "vehicle_type_id": 1,
    "company_id": 33,
    "time_type": "now",
    "status": "delivery_in_progress",
    "note": "Just a note",
    "total_fees": 500,
    "currency": "Rp",
    "tracking_url": "https://webapp.deliveree.com/...",
    "created_at": "2016-01-29T01:35:08Z",
    "vehicle": {
        "vehicle_attributes": {
            "plate_number": "SPIL Blue 40ft - 000.01"
        }
    },
    "locations": [
        {
            "address": "Jl. Sultan Iskandar Muda No.21, Arteri Pondok Indah, Pd. Pinang, Kby. Lama, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta, Indonesia",
            "latitude": -6.2608232,
            "longitude": 106.7884168,
            "recipient_name": "Duke",
            "recipient_phone": "+84903398399",
            "note": "Second floor, room 609",
            "position_trackings": [
                {
                    "id": 1,
                    "latitude": -6.272444,
                    "longitude": 106.805534,
                    "tracked_at": "2016-01-29T03:35:08Z",
                    "tracking_type": "location_have_arrived"
                },
                {
                    "id": 2,
                    "latitude": -6.272444,
                    "longitude": 106.805534,
                    "tracked_at": "2016-01-29T03:55:08Z",
                    "tracking_type": "location_accept_delivery"
                }
            ],
            "proof_of_delivery_photos": [
                {
                    "photo_type": "proof_of_delivery",
                    "photo_name": "Proof of delivery",
                    "image_url": "https://webapp.deliveree.com/...",
                    "image_content_type": "image/png"
                },
                {
                    "photo_type": "proof_of_delivery",
                    "photo_name": "Proof of delivery",
                    "image_url": "https://webapp.deliveree.com/...",
                    "image_content_type": "image/png"
                }
            ],
            "signature_url": "https://webapp.deliveree.com/..."
        },
        {
            "address": "Gedung Inti Sentra, Jl. Taman Kemang, RT.14/RW.1, Bangka, Mampang Prpt., Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta, Indonesia",
            "latitude": -6.2608232,
            "longitude": 106.7884168,
            "recipient_name": "Nam",
            "recipient_phone": "+84903856534",
            "note": "First floor, right room.",
            "need_cod": true,
            "cod_note": "You need to get money from Nam",
            "cod_invoice_fees": 5000,
            "need_pod":true,
            "pod_note": "You need to ...",
            "position_trackings": [
                {
                    "id": 3,
                    "latitude": -1.003189,
                    "longitude": 101.972332,
                    "tracked_at": "2016-01-29T05:35:08Z",
                    "tracking_type": "location_have_arrived"
                },
                {
                    "id": 4,
                    "latitude": -1.003189,
                    "longitude": 101.972332,
                    "tracked_at": "2016-01-29T05:55:08Z",
                    "tracking_type": "location_accept_delivery"
                }
            ],
            "proof_of_delivery_photos": [
                {
                    "photo_type": "proof_of_delivery",
                    "photo_name": "Proof of delivery",
                    "image_url": "https://webapp.deliveree.com/...",
                    "image_content_type": "image/png"
                },
                {
                    "photo_type": "proof_of_delivery",
                    "photo_name": "Proof of delivery",
                    "image_url": "https://webapp.deliveree.com/...",
                    "image_content_type": "image/png"
                }
            ],
            "signature_url": "https://webapp.deliveree.com/..."
        }
    ]
}

See “Create a delivery” response above.

Name Type Description
id integer ID of delivery
customer_id integer ID of customer
driver_id integer ID of driver
driver array

Infomations of Driver

vehicle_type_id integer ID of vehicle type
company_id integer ID of company (if the delivery is from a Business)
time_type string Time type of delivery (“now” or “schedule”)
status string Status of delivery
note text Note of entire delivery (not the note per location
total_fees float Amount Fee
currency string Currency of Delivery (ex. Rp, Usd, etc)
tracking_url string URL to view status of delivery. That URL can be opened in a browser to follow the driver real-time and see the ETA to locations)
created_at datetime Time of Creation of the delivery (ISO Time)
created_at integer ETA in seconds from current driver location to pickup location
plate_number string Plate number of vehicle
locations *  array

List of Location (incl. pick-up and drop-off locations).
The first location in the list is the pick-up location. The following locations are drop-off locations. The route is designed based on the order of the locations you post.

Example :

  1. Location 1 = pickup
  2. Location 2 = first drop-off by the driver
  3. Location 3 = second drop-off by the driver
  4. etc
Minimum locations required : 2 (1x pickup and 1x drop-off)
Maximum locations :
- Up to 23 Locations for Indonesia
- Up to 15 Locations for Thailand
- Up to 15 Locations for Philippines

Driver

Name Type Description
id integer ID of driver
name string Name of customer
phone string Number phone of driver
driver_image_url string Link avatar of driver
last_known_position_lat float Last latitude position of driver
last_known_position_lng integer Last longitude position of driver

Position Tracking

Name Type Description
id integer ID of position tracking
latitude float Position latitude driver tracked
longitude float Position longitude driver tracked
tracked_at datetime Position driver tracked
tracking_type string

List of type driver tracked
Tracking type include types [“location_stuffing”, “location_have_arrived”, “location_accept_delivery”, “location_inside_radius”, “location_outside_radius” ]

Explain :

  • “location_stuffing”: Driver go to location and click button “start stuffing”
  • “location_have_arrived”: Driver go to location and click button “i have arrived”
  • “location_accept_delivery”: Driver go to location and click button “accept delivery”
  • “location_inside_radius”: Driver go to inside radius of location
  • “location_outside_radius”: Driver go to outside radius of location

Proof of delivery photos and documents

Name Type Description
photo_type string Type of photo
photo_name string Name of photo
image_url string URL of photo
image_content_type string Photo content type

Cancel a delivery

A Delivery can be cancelled without fee before it has been accepted by a driver or within the 5 first minutes if the driver has not yet picked up the package.

Request

$ curl -X POST /public_api/v1/deliveries/1/cancel \
   --header "Content-Type:application/json" \
   --header "Authorization:YOUR_API_KEY" \
   --header "Accept-Language:en" \

POST /public_api/v1/deliveries/{id}/cancel

Headers

Name Type Description
Authorization *  string API Key
Accept-Language string User language

Parameters

Name Type Description
id *  integer ID of Delivery.

Responses

We don’t return content for this API, please check the HTTP STATUS to know the result.

Get deliveries list

List of all deliveries of a customer.

Request

$ curl -X GET /public_api/v1/deliveries \
   --header "Content-Type:application/json" \
   --header "Authorization:YOUR_API_KEY" \
   --header "Accept-Language:en" \

GET /public_api/v1/deliveries/

Headers

Name Type Description
Authorization *  string API Key
Accept-Language string User language

Parameters

Name Type Description
page integer The page parameter can be used to specify further pages or offsets
per_page integer The per_page can be used for custom page sizes up to 100

Responses

HTTP/1.1 200 OK
Content-Type: application/json

{
    "pagination": {
        "total_count": 500,
        "per_page": 25,
        "next_page": "https://api.deliveree.com/public_api/{version}/...",
        "previous_page": "https://api.deliveree.com/public_api/{version}/..."
    },
    "data": [
        {
            "id": 100,
            "customer_id": 22,
            "driver_id": 403,
            "vehicle_type_id": 1,
            "company_id": 33,
            "time_type": "now",
            "status": "delivery_in_progress",
            "note": "Just a note",
            "total_fees": 500,
            "currency": "Rp",
            "tracking_url": "https://webapp.deliveree.com/...",
            "created_at": "2016-01-29T01:35:08Z"    
        }
    ]
}
Name Type Description
pagination.total_count integer Total number of results
pagination.per_page integer Number of result in current page
pagination.next_page string URL for the next page
pagination.previous_page string URL for the previous page
data array List of Delivery object

Delivery

A delivery is an object representing a delivery.

Name Type Description
id integer ID of delivery
customer_id integer ID of customer
driver_id integer ID of driver
vehicle_type_id integer ID of vehicle type
company_id integer ID of company (if the delivery is from a Business)
time_type string Time type of delivery (“now” or “schedule”)
status string Status of delivery
note text Note of the entire delivery (not the note per location)
total_fees float Amount Fee
currency string Currency of Delivery (ex. Rp, Usd, etc)
tracking_url string URL to view status of delivery. That URL can be opened in a browser to follow the driver real-time and see the ETA to locations.

Get vehicle types

We return a list vehicle types of a specific area.

Request

$ curl -X GET /public_api/v1/vehicle_types \
   --header "Content-Type:application/json" \
   --header "Authorization:YOUR_API_KEY" \

GET /public_api/v1/vehicle_types

Headers

Name Type Description
Authorization *  string API Key

Parameters

No need parameters.

Responses

HTTP/1.1 200 OK
Content-Type: application/json

{
    "data": [
        {
            "id": 27,
            "name": "Closed Van",
            "cargo_length": 200,
            "cargo_height": 175,
            "cargo_width": 180,
            "cargo_weight": 1700,
            "cargo_cubic_meter": 7
        },
        {
            "id": 82,
            "name": "L300",
            "cargo_length": 210,
            "cargo_height": 125,
            "cargo_width": 125,
            "cargo_weight": 1000,
            "cargo_cubic_meter": 3.3
        }
    ]
}
Name Type Description
ID integer ID of vehicle type
name string Name of vehicle type
cargo_length float Cargo length of vehicle type (cm)
cargo_height float Cargo height of vehicle type (cm)
cargo_width float Cargo width of vehicle type (cm)
cargo_weight float Cargo weight of vehicle type (kg)
cargo_cubic_meter float Cargo cubic meter of vehicle type (m3)