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_createdwebhooks [link → Scenarios]Receiving
delivery_modifiedwebhooks [link → Scenarios]Receiving
delivery_cancelledwebhooks [link → Scenarios]
Basic Order Action Mutations
Can accept orders through our
AcceptDeliverymutation [link → Mutations]Can reject orders through our
RejectDeliverymutation [link → Mutations]Able to accept (re-accept) order after order modification through our
AcceptDeliverymutation [link → Mutations]Able to reject order after order modification through out
RejectDeliverymutation [link → Mutations]Able to reject after accepting order through our
RejectDeliverymutation [link → Mutations]
Creating and Updating Drivers
Able to create a driver in our system through our
CreateDrivermutation [link → Mutations]Able to update an already created driver in ezCater's system through our
UpdateDrivermutation [link → Mutations]
Delivery Visibility
Able to assign driver(s) to orders through our
DriversAssignmutation [link → Mutations]Able to unassign driver(s) from orders through our
UnassignDrivermutation [link → Mutations]Able to send driver geolocations (lat/longs) for every order through our
CreateDriverTrackingEventmutation [link → Mutations]Able to send driver explicit delivery events for every order through our
DriverDeliveryEventCreatemutation [link → Mutations]driver_en_route_to_pickupdriver_arrived_at_pickupdriver_pickup_updriver_en_route_to_customerdriver_arrived_at_dropoffdriver_dropped_offAble to send proof of delivery photos for every order through our
DriverDropoffVerficationCreatemutation [link → Mutations]Able to send proof of pickup photos for every order through our
DriverPickupVerficationCreatemutation [link → Mutations]
Other Features
(Optional) Able to filter for Meal Program orders using the
forRelishvalue in the webhook payload.Ingesting and able to operationalize the High Priority flag
priorityin the webhook payload.Ingesting and able to operationalize
pickupVerificationimages. 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.
