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

MethodePfad
GET/me

Schlüssel prüfen: liefert Ihr Unternehmen

GET/products

Produkte auflisten (Filter: sku, q, active)

GET/products/{id}

Ein Produkt mit Preis, MwSt. und Bestand

GET/customers

Kunden auflisten (Filter: email, q, active)

POST/customers

Kunden anlegen – ohne lat/lng wird die Adresse auf der Karte gesucht

GET/customers/{id}

Ein Kunde

PATCH/customers/{id}

Kunden ändern (nur die gesendeten Felder)

GET/orders

Bestellungen auflisten (Filter: status, date, from, to, customer_id, external_ref)

POST/orders

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

POST/orders/{id}/confirm

Offene Bestellung bestätigen (erstellt die Rechnung)

POST/orders/{id}/cancel

Bestellung vor der Abfahrt stornieren (Bestand wird zurückgebucht)

GET/webhooks

Webhooks auflisten

POST/webhooks

URL für Events registrieren (liefert das Signatur-Secret einmalig)

DELETE/webhooks/{id}

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.