Integrate Delivery Directly Into Your Application
The UniHop REST API gives developers full programmatic control over delivery order creation, status tracking, pricing, and availability — so delivery becomes a native part of your product, not a separate workflow.
Overview
What the UniHop API Gives You
The UniHop API is a RESTful API that accepts JSON over HTTPS. It lets you create delivery orders, retrieve order status, cancel orders, get price quotes, and check driver availability — all programmatically from your own application. Authentication uses RS256 JWT tokens so credentials never travel in plain text. Delivery status events are pushed to your system via webhooks so you do not have to poll for updates.
Setup
Getting Started with the UniHop API
Request API Credentials
Contact the UniHop team to get your API client ID. You will generate your own RSA key pair using standard tooling (OpenSSL) and share your public key with UniHop. Keep your private key secure — it is used to sign every JWT token used in API requests and never leaves your system.
Generate and Sign JWT Tokens
Sign a JWT with your RSA private key using the RS256 algorithm. Include your client ID in the sub claim and set an appropriate expiration (exp). Include the resulting token as a Bearer token in the Authorization header of every API request. UniHop verifies the signature using your public key.
Get a Price Quote
Before creating an order, call POST /quote with the pickup and drop-off addresses and delivery style to get a price estimate. This lets you show delivery pricing to users before they confirm an order without creating a live delivery in the system.
Create a Delivery Order
Call POST /orders with the order details — pickup address, drop-off address, contact information, delivery style, timing preferences, and an optional partner_reference for cross-referencing with your system. The response includes a UniHop order ID and initial status.
Receive Status Updates via Webhooks
Provide a webhook URL when configuring your integration. UniHop sends signed JWT payloads to your endpoint as the delivery progresses — dispatched, picked up, en route, delivered, or failed. Verify the webhook signature using the UniHop public key before processing each event.
Use Cases
What Developers Build with the UniHop API
POS and Order Management System Integration
Connect your POS or OMS to UniHop so delivery orders are dispatched automatically when a sale is completed. No manual re-entry, no tab switching — the delivery is created the moment the order is recorded in your system.
Customer-Facing Delivery Tracking
Use UniHop webhook events to power real-time delivery tracking in your own app or website. When a status event arrives, update your UI to show the customer where their order is without redirecting to a third-party tracking page.
Delivery Pricing at Checkout
Call the UniHop quote endpoint as part of your checkout flow to show real delivery pricing based on the customer's address and order type. Display the cost before order confirmation and submit the actual order when the customer checks out.
Availability Check Before Offering Delivery
Call the GET /availability endpoint to check whether UniHop delivery is available for a specific address or region before showing delivery as an option to the customer. Filter delivery options in your UI dynamically based on the response.
Requirements
Technical Requirements
- Server-side environment capable of making HTTPS requests and processing webhooks
- OpenSSL or equivalent tool to generate an RSA-2048 key pair
- A JWT library for your language of choice (available for Node.js, Python, Go, Ruby, PHP, and most other languages)
- A publicly accessible webhook endpoint for receiving delivery status events
- UniHop API credentials — contact the UniHop team to get your client ID
FAQ
Frequently Asked Questions
All UniHop API requests are made to https://backend.unihop.app/api/v1. The API uses HTTPS for all requests. HTTP requests are not supported. Full API documentation including request schemas, response formats, and error codes is available at docs.unihop.app.
UniHop uses RS256 JWT authentication. You generate an RSA key pair, share your public key with UniHop, and sign JWT tokens with your private key. Each token must include your client ID in the sub claim and an expiration time in the exp claim. Include the signed token as a Bearer token in the Authorization header of every API request. UniHop verifies the token using your public key on every request.
The API supports all UniHop delivery styles — Standard for routine drop-offs, Hybrid for a dedicated pickup driver with courier-network last-mile delivery, Special Handling for fragile or time-sensitive orders requiring a dedicated driver throughout, and Oversize for large items requiring specific vehicle types such as cargo vans, pickup trucks, or box trucks. Multi-stop routes are also available with any vehicle type. Specify the delivery style in the order request body.
UniHop signs webhook payloads using the same RS256 JWT format used for API authentication. Each webhook event is sent as a signed JWT. Verify the signature using the UniHop public key before processing the event to confirm the payload was sent by UniHop and has not been tampered with. The full verification process is documented at docs.unihop.app.
Contact the UniHop developer team about sandbox access for testing your integration before going live. The team can advise on the best approach for your specific use case, including testing order creation, quote retrieval, and webhook delivery in a non-production environment.
Ready to build with the UniHop API?
Contact the UniHop developer team to get your credentials and review the full API documentation at docs.unihop.app.
Talk to Our Developer Team