Integrations and API
Orders in, status out, money to your Stripe account.
Your customers send orders from their own systems or a spreadsheet and get webhooks when things change. Card payments go through Stripe, and your books leave as files QuickBooks and Xero import. Here is each connection and what kind it is.
Every connection
What connects, and how
| Integration | What it does | Kind |
|---|---|---|
| Customer REST API | Your customers quote, create and read orders with their own API keys. An OpenAPI document is included. | API · Growth and up |
| Webhooks | order.created and order.status_changed sent to your customers’ systems, signed, with a delivery log, test events and replay. | Outgoing HTTPS |
| CSV and Excel import | Orders from a spreadsheet with a template, a preview and row-level errors, for your team and in the customer portal. | File upload |
| Stripe | Card payments on invoices into your own Stripe account through Stripe Connect; saved cards and automatic payment. | Live connection |
| QuickBooks and Xero | Invoice and payment files in the formats QuickBooks and Xero import. | File export, not a sync |
| Order and invoice emails through SMTP, Postmark, Resend or Amazon SES, with delivery status. | Set up by the platform | |
| Text messages | Order updates by text through Twilio, with delivery status, STOP opt-outs and English or French keywords. | Shared platform number today |
| Maps | OpenStreetMap-based maps for the live map, routes and tracking pages; native maps in the driver app. | Built in |
| Push notifications | Driver app notifications through Firebase Cloud Messaging and Expo. | Built in |
No Shopify, WooCommerce or Zapier connector yet. Need something else connected? Tell us what you use.
Customer API
A REST API your customers can use on day one.
Each customer creates API keys in their portal, or you create them on their behalf. The documentation is in the portal, with an OpenAPI document for Postman and code generators.
- Quote, create and read orders with the customer’s own price sets
- Price-change protection: send the total you were quoted and the order is refused if the price moved
- Safe retries: with an Idempotency-Key, a repeated request gets the first order back, never a second one
- Rate limits and clear error codes
- Keys are shown once and stored hashed
curl -X POST https://<your-company>/api/v1/orders \
-H "Authorization: Bearer nmr_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"service":"Standard","externalOrderId":"ERP-55012",
"delivery":{"line1":"350 5th Ave","city":"New York","state":"NY","zip":"10118"},
"packages":[{"description":"Samples","quantity":2,"weightKg":3.5}]}'Webhooks
Every status change, signed and retried.
Customers add endpoints in their portal and receive order.created and order.status_changed events.
- An HMAC-SHA256 signature on every call, with a timestamp against replays
- Retries after 1 minute, 5 minutes, 30 minutes, 2 hours and 6 hours
- A delivery log per endpoint, with test events and replay
{
"id": "6f1c0a52-…",
"type": "order.status_changed",
"createdAt": "2026-11-02T14:05:00.000Z",
"data": { "order": { "id": "OR-1042", "status": "picked_up",
"previousStatus": "at_pickup", "externalOrderId": "ERP-55012" } }
}Spreadsheets
No integration? A spreadsheet works too.
Upload a CSV or Excel file of orders. Columns are matched for you, every row is checked, and you see the errors before anything is created.

Payments and accounting
Stripe for the money, files for the books.
- Stripe
- Connect your own Stripe account. Customers pay invoices by card on a hosted Stripe page and can save a card for automatic payment. The money goes to your account; fees per plan are on the pricing page.
- QuickBooks and Xero
- Export invoices and payments as files in the formats QuickBooks and Xero import. A file export, not a live sync.
Try it on your own orders.
The free plan needs no card. Set up your prices, add a customer and a driver, and run a delivery the same day, or book a walkthrough on the demo company first.