Entwickler
Verbinden Sie BeeRoutes mit allem, was Sie nutzen
Eine einfache REST-API mit Lese- und Schreibzugriff, signierte Webhooks für jedes Liefer-Update und fertige Anbindungen an Shopify und Zapier.
REST-API
Bestellungen und Kunden anlegen, Produkte, Bestand und Lieferstatus abrufen – JSON über HTTPS.
Webhooks
Erhalten Sie einen signierten POST, sobald eine Bestellung bestätigt, unterwegs, zugestellt oder fehlgeschlagen ist.
Shopify
Neue Shopify-Bestellungen werden automatisch zu Lieferungen; Stornierungen werden übernommen.
Zapier
Verbinden Sie BeeRoutes mit Google Sheets, Slack, Buchhaltung und über 7.000 Apps – ohne Code.
Authentifizierung
Erstellen Sie einen API-Schlüssel in BeeRoutes unter Integrationen → API-Schlüssel (nur Bürokonten). Senden Sie ihn bei jeder Anfrage im Authorization-Header. Schlüssel gehören zu Ihrem Unternehmen: Sie sehen ausschließlich Ihre eigenen Daten.
curl https://app.beeroutes.com/api/v1/orders?status=delivered \
-H "Authorization: Bearer br_live_…"Limit: 300 Anfragen pro Minute und Schlüssel. Listen liefern bis zu 200 Einträge (limit, offset).
Endpunkte
https://app.beeroutes.com/api/v1
| Methode | Pfad | Funktion |
|---|---|---|
| GET | /meSchlüssel prüfen: liefert Ihr Unternehmen | Schlüssel prüfen: liefert Ihr Unternehmen |
| GET | /productsProdukte auflisten (Filter: sku, q, active) | Produkte auflisten (Filter: sku, q, active) |
| GET | /products/{id}Ein Produkt mit Preis, MwSt. und Bestand | Ein Produkt mit Preis, MwSt. und Bestand |
| GET | /customersKunden auflisten (Filter: email, q, active) | Kunden auflisten (Filter: email, q, active) |
| POST | /customersKunden anlegen – ohne lat/lng wird die Adresse auf der Karte gesucht | Kunden anlegen – ohne lat/lng wird die Adresse auf der Karte gesucht |
| GET | /customers/{id}Ein Kunde | Ein Kunde |
| PATCH | /customers/{id}Kunden ändern (nur die gesendeten Felder) | Kunden ändern (nur die gesendeten Felder) |
| GET | /ordersBestellungen auflisten (Filter: status, date, from, to, customer_id, external_ref) | Bestellungen auflisten (Filter: status, date, from, to, customer_id, external_ref) |
| POST | /ordersBestellung anlegen – Produkte per product_id oder sku, Kunde per id, email oder Angaben | Bestellung anlegen – Produkte per product_id oder sku, Kunde per id, email oder Angaben |
| GET | /orders/{id}Eine Bestellung mit Positionen, Fahrer, ETA und Zustellnachweis | Eine Bestellung mit Positionen, Fahrer, ETA und Zustellnachweis |
| POST | /orders/{id}/confirmOffene Bestellung bestätigen (erstellt die Rechnung) | Offene Bestellung bestätigen (erstellt die Rechnung) |
| POST | /orders/{id}/cancelBestellung vor der Abfahrt stornieren (Bestand wird zurückgebucht) | Bestellung vor der Abfahrt stornieren (Bestand wird zurückgebucht) |
| GET | /webhooksWebhooks auflisten | Webhooks auflisten |
| POST | /webhooksURL für Events registrieren (liefert das Signatur-Secret einmalig) | URL für Events registrieren (liefert das Signatur-Secret einmalig) |
| DELETE | /webhooks/{id}Abmelden | Abmelden |
Bestellung anlegen
Senden Sie external_ref mit Ihrer eigenen Bestell-ID: Wird dieselbe Bestellung zweimal gesendet, erhalten Sie die bestehende statt eines Duplikats. Mit "confirm": true wird sie sofort bestätigt.
curl -X POST https://app.beeroutes.com/api/v1/orders \
-H "Authorization: Bearer br_live_…" \
-H "Content-Type: application/json" \
-d '{
"external_ref": "PO-10442",
"customer_email": "orders@cafe-central.com",
"delivery_date": "2026-11-03",
"slot_from": "08:00",
"slot_to": "11:00",
"items": [
{ "sku": "WAT-05", "quantity": 20 },
{ "sku": "JUI-01", "quantity": 6 }
]
}'Webhooks
BeeRoutes sendet per POST ein JSON-Event an Ihre URL, wenn eine Bestellung angelegt, bestätigt, zugewiesen, unterwegs, zugestellt, fehlgeschlagen oder storniert ist. Webhooks fügen Sie unter Integrationen oder per API hinzu.
Events
order.createdorder.confirmedorder.assignedorder.in_transitorder.deliveredorder.failedorder.cancelled{
"id": "evt_5f2c…",
"event": "order.delivered",
"created_at": "2026-11-03T09:42:10.000Z",
"data": {
"id": 1842,
"number": "ORD-2026-01842",
"external_ref": "PO-10442",
"status": "delivered",
"delivery_date": "2026-11-03",
"customer": { "id": 77, "business_name": "Café Central", … },
"items": [ { "sku": "WAT-05", "quantity": 20, "delivered_qty": 20, … } ],
"total": 182.4,
"proof": { "receiver_name": "Maria", "has_signature": true, "has_photo": false },
"delivered_at": "2026-11-03T09:42:08.000Z"
}
}Signatur prüfen
Jede Anfrage enthält einen BeeRoutes-Signature-Header: t (Unix-Zeit) und v1, den HMAC-SHA256 von „t.body“ mit dem Secret Ihres Webhooks. Antworten Sie innerhalb von 10 Sekunden mit einem beliebigen 2xx; fehlgeschlagene Zustellungen werden einmal wiederholt, und nach 25 Fehlschlägen in Folge wird ein Webhook deaktiviert. Antworten Sie mit 410, um sich abzumelden.
import crypto from "node:crypto";
// header: "t=1762162930,v1=5d41…"
function verify(rawBody, header, secret) {
const { t, v1 } = Object.fromEntries(header.split(",").map((p) => p.split("=")));
const expected = crypto.createHmac("sha256", secret).update(`${t}.${rawBody}`).digest("hex");
const fresh = Math.abs(Date.now() / 1000 - Number(t)) < 300;
return fresh && crypto.timingSafeEqual(Buffer.from(v1), Buffer.from(expected));
}Fehler
Fehler verwenden HTTP-Statuscodes und einen JSON-Body mit code und message:
{ "error": { "code": "product_not_found", "message": "Unknown or inactive products: sku JUI-09" } }401 Schlüssel fehlt oder ungültig · 404 nicht gefunden · 409 im aktuellen Bestellstatus nicht erlaubt · 422 ungültige Felder, unbekannte SKU oder Adresse nicht gefunden · 429 zu viele Anfragen
Shopify
Keine App zu installieren. Öffnen Sie in BeeRoutes Integrationen → Shopify, kopieren Sie Ihre private Webhook-URL in Shopify (Einstellungen → Benachrichtigungen → Webhooks, Events „Order creation“ und „Order cancellation“) und fügen Sie das Signatur-Secret von Shopify wieder in BeeRoutes ein. Produkte werden über die SKU zugeordnet; neue Kunden werden aus der Lieferadresse angelegt.
Zapier
Nutzen Sie „Webhooks by Zapier“: Catch Hook als BeeRoutes-Webhook, um Zaps bei Änderungen an Bestellungen zu starten, und POST an die API mit Ihrem Schlüssel, um aus jeder App Bestellungen oder Kunden anzulegen.
Integrationen öffnen →Planen Sie die Touren von morgen schon heute
Starten Sie Ihren kostenlosen 14-Tage-Test und planen Sie Ihren ersten Tag an einem Nachmittag.