Getting started
Between the Karhoo Platform and DMS's are two distinct types of API endpoints:
- Karhoo endpoints
These are hosted by Karhoo and used by DMS's to push asynchronous updates to Karhoo - DMS endpoints
These are hosted by the Supply Partner for Karhoo to use to request vehicle availability, quotes and bookings.
Security
Authentication is handled differently for these two classes of endpoints
Authentication
The Karhoo Supply API is authenticated using the same mechanism as all Karhoo Platform APIs. See How to authenticate for details.
Secure communications
For DMS endpoints Karhoo signs messages using a HMAC. The HMAC signature digest is computed on the payload content using the supplied secret key. This SHA256 hash is sent as lowercase hexits in the x-karhoo-request-signature
header and should be used to validate all requests from Karhoo.
Contact the Karhoo team for help with the above.
API endpoints
DMS API Endpoints
The minimum set of DMS Hosted APIs are Quotes , Booking, Trip Updates and Cancellation. These are implemented as webhooks within your platform.
Availability and ETA are optional
These are only used when ETA is not included in your Quotes endpoint implementation and you would like to offer On Demand ASAP bookings.
Name | Purpose | Location | API Reference |
---|---|---|---|
Receive New Trips | DMS hosted API endpoint for receiving Karhoo trip bookings | POST /trip | Receive New Trips |
Provide Trip Details | DMS Hosted endpoint to respond to Karhoo Trip Detail requests | GET /trip | Provide Trip Details |
Cancel Trip | DMS Hosted endpoint to respond to Karhoo Trip Cancellation requests | DELETE /trip | Cancel Trip |
Quote Request | DMS hosted API endpoint for responding to quote requests | POST /quote | Quote Request |
ETA Request | DMS hosted API endpoint for responding to ETA requests | POST /eta | ETA Request |
Availability Request | Karhoo Availability Request to DMS | POST /availability | Availability |
Supply API
Our Supply API provides an option for our supply partners to push Trip Updates to us directly instead of us requesting this data from their DMS API. This is optional but highly recommended to implement to reduce our polling rate and burden it may cause for your API.
Name | Purpose | Location | API Reference |
---|---|---|---|
Availability | Stream fleet wide vehicle availability to Karhoo | POST /availability | Availability |
Trip Status | Send trip updates to Karhoo in real-time. | POST /trip/status | Trip Status |
Swagger Spec & Auto Generation
We've made the swagger spec available here which that defines our hosted endpoints as well as what we expect our Supply Partners to implement as webhooks.
We encourage you to use this to autogenerate as much boilerplate as is useful to reduce the workload of writing the integration.
Updated over 1 year ago