Dispatch API Reference

Quickstart Guide

This Dispatch APIs RESTful endpoints that use standard HTTP verbs to send and receive data to and from the Dispatch system. The HTTP verbs that Dispatch supports are listed below

GET HTTP GET - Used to READ data from the Dispatch system.
POST HTTP POST - Used to CREATE data in the Dispatch system

Environments

Dispatch has a testing and demo environment and a production environment. You will need a separate API Key and API Secret for each environment.
Please use the demo environment when testing and developing your applications.

TEST / DEMO ​​https://demo.dispatchit.com/api/external/v1
PRODUCTION ​https://app.dispatchit.com/api/external/v1

Authentication

All calls to the Dispatch API must include an authorization header containing the credentials needed to authenticate with the Dispatch system. Dispatch uses the standard HTTP Authorization header to pass the required credentials to the dispatch system.
HTTP headers are a key / value pair. The HTTP Authorization header format is as follows:
Authorization: Basic

You will use your Dispatch API Key and API Secret to derive the authorization header. Most modern programming languages have libraries that can be used to easily add the Authorization header to any API call. If you need to create the authorization header manually, please note that the “credentials” are derived by base64 encoding the API Key and API Secret, joined by a single colon
(< API Key >:< API Secret >)
Example Authorization Header:
Authorization: Basic amFzb250ZXN0MTIzNCE6dDEYMw==

Other Header Information

The Dispatch API requires the following additional headers to be set.
Accept: */*

Content-Type: application/json

Webhooks

If you have webhooks configured for your organization, Dispatch will automatically send order status updates using the schema shown below. To configure webhooks, go to your organization page on the Dispatch App, click ‘Edit Organization Settings’ and enter your callback URL into the field provided.

Request Body Parameters

Parameters Description
unassigned
The order has been created and is waiting for a driver to be assigned to it or the order had a driver assigned previously that was unassigned from it.
en_route_to_pickup
The order has been assigned to a driver and they are on the way to pick it up.
at_pickup
The driver has arrived at the pickup location.
en_route_to_drop_off
The driver has picked up the order and is on the way to the drop off location.
at_drop_off
The driver has arrived at the drop off location.
delivered
The order has been delivered to the drop off contact.
cancelled
The order has been cancelled.

JSON Example

Sample Request
{
event: "order.status_change",
data: {
event_id: status.id,
public_url: public_order_url(status.order),
created_at: status.created_at,
previous_status: status.previous_status,
current_status: status.status,
order_id: status.order_id
}
}

Testing

The Dispatch “Demo” environment can be used to test integrations before moving to a production environment. Dispatch strongly recommends thorough testing of all API integrations before attempting to place any real live deliveries. This reduces the chance of issues and errors that could result in unwanted deliveries or deliveries that are missing information critical to completing the delivery successfully.