Skip to main content

Integration Process

For: Developers

The process for our delivery partners to integrate with Dispatch has three main steps: Setup, Integration Testing, and Going Live

Setup

  • A slack channel will be created where we can communicate and coordinate with you and your engineering team about our integration efforts.

  • Next we'll set up a delivery partner account for you within our staging environment. This will be used later on for testing purposes.

  • We will then gather a webhook url with a name and email from you that will be used for testing. Refer to Webhooks [link → Webhooks] for additional details.

  • From this we will generate then securely share API credentials that you will need in order to sync our systems together. Refer to Authentication [link → Authentication] for additional details.

  • Once you have verified these API credentials have been registered on your end we can move on to the testing stage.

Integration Testing

Integration testing will be a collaborative effort between us and your integration team where we will ensure everything is setup and working as expected.

We have a staging environment that you can use for testing. The URL of that environment will be given to you when you start integrating.

The following checklist will need to be completed in order to go live:

Webhooks

  • Receiving delivery_created webhooks [link → Scenarios]

  • Receiving delivery_modified webhooks [link → Scenarios]

  • Receiving delivery_cancelled webhooks [link → Scenarios]

Basic Order Action Mutations

  • Can accept orders through our AcceptDelivery mutation [link → Mutations]

  • Can reject orders through our RejectDelivery mutation [link → Mutations]

  • Able to accept (re-accept) order after order modification through our AcceptDelivery mutation [link → Mutations]

  • Able to reject order after order modification through out RejectDelivery mutation [link → Mutations]

  • Able to reject after accepting order through our RejectDelivery mutation [link → Mutations]

Creating and Updating Drivers

  • Able to create a driver in our system through our CreateDriver mutation [link → Mutations]

  • Able to update an already created driver in ezCater's system through our UpdateDriver mutation [link → Mutations]

Delivery Visibility

  • Able to assign driver(s) to orders through our DriversAssign mutation [link → Mutations]

  • Able to unassign driver(s) from orders through our UnassignDriver mutation [link → Mutations]

  • Able to send driver geolocations (lat/longs) for every order through our CreateDriverTrackingEvent mutation [link → Mutations]

  • Able to send driver explicit delivery events for every order through our DriverDeliveryEventCreate mutation [link → Mutations]

  • driver_en_route_to_pickup

  • driver_arrived_at_pickup

  • driver_pickup_up

  • driver_en_route_to_customer

  • driver_arrived_at_dropoff

  • driver_dropped_off

  • Able to send proof of delivery photos for every order through our DriverDropoffVerficationCreate mutation [link → Mutations]

  • Able to send proof of pickup photos for every order through our DriverPickupVerficationCreate mutation [link → Mutations]

Other Features

  • (Optional) Able to filter for Meal Program orders using the forRelish value in the webhook payload.

  • Ingesting and able to operationalize the High Priority flag priority in the webhook payload.

  • Ingesting and able to operationalize pickupVerification images. These images are are sent by the restaurant to indicate when the order is ready for pickup typically within 15 minutes of the pickup time.


Going Live

  • Once all integration testing has completed we will create a delivery partner account within our production environment.

  • This will be your official account where we will send through your orders and manage your account.

  • In coordination we will pick a go live date that works for everyone

  • We will generate and securely share your production API credentials.

  • You will need to confirm when these credentials have been registered on your end.

  • We will send a live order through our webhooks where you can test that you can accept and reject orders.

Congrats on going live!


Continued Support

The integration slack channel will continue to be our primary line of communication after your integration has gone live. Any bugs or issues can be reported here and we will also be in touch there if we see any issues on our end.

Did this answer your question?