Schnellstart
Von einem Schlüssel zu einer Lieferung und einem Collection-Datensatz in fünf Minuten, mit curl.
Sie brauchen nur eines: einen Partnerschlüssel. Er weiß bereits, welche Restaurants ihm freigegeben wurden, und die API sagt es Ihnen.
1. Einen Schlüssel besorgen
Schreiben Sie an contact@backresto.com mit Ihrem Unternehmen, den Restaurants, die Sie brauchen, und den Berechtigungen, die Sie wollen. Wir stimmen uns mit dem Restaurant ab und senden den Schlüssel dann an den technischen Kontakt, den Sie genannt haben. Einen Schlüssel erhalten ist die vollständige Checkliste — sie vollständig zu senden ist das, was aus dem Hin und Her eine E-Mail statt vier macht.
Ein Schlüssel sieht so aus:
brp_hV8kZ2pQ.tW3nR7yL9cF1sB4xJ6mA8dK0gN5vE2uP7hQ3rT1zY6i
Die Hälfte vor dem Punkt ist ein öffentliches Präfix — es benennt den Schlüssel in der Liste auf jener Seite und in Support-Gesprächen, und man darf es aufschreiben. Die Hälfte dahinter ist das Secret, und es erscheint nirgends außer auf diesem einen Bildschirm.
2. Ihn speichern
Legen Sie den gesamten Wert als eine einzige Zeichenkette in Ihren Secret Manager und löschen Sie die E-Mail, mit der er kam. Nie ein Repository, nie eine URL, nie eine Logzeile. Wir behalten nur einen Digest des Secrets, ein verlorener Schlüssel bedeutet also einen Widerruf und einen neuen — schreiben Sie uns, und beides passiert am selben Tag.
export BACKRESTO_PARTNER_API_KEY='brp_…'
3. Ihr Restaurant finden
Fragen Sie den Schlüssel, welche Restaurants er erreicht und mit welchen Scopes:
curl "https://api.backresto.com/v1/restaurants" \
-H "Authorization: Bearer $BACKRESTO_PARTNER_API_KEY"
{
"data": [
{
"restaurantId": "restaurant-1",
"scopes": ["deliveries:read", "delivery-images:read"]
}
]
}
Die meisten Schlüssel erreichen ein Restaurant. Behalten Sie seine Kennung für die folgenden Aufrufe:
export RESTAURANT_ID='restaurant-1'
4. Eine Woche Lieferungen auflisten
Der Listen-Endpunkt nimmt einen ausdrücklichen Zeitraum, in Millisekunden seit der Epoche, als Zeichenketten. Das ist die Konvention in der gesamten API — nie Sekunden, nie ISO 8601.
curl "https://api.backresto.com/v1/restaurants/$RESTAURANT_ID/deliveries" \
-H "Authorization: Bearer $BACKRESTO_PARTNER_API_KEY" \
--get \
--data-urlencode "from=1787846400000" \
--data-urlencode "to=1788451200000" \
--data-urlencode "limit=25"
{
"data": [
{
"id": "8f2c1b04-0d5a-4b7e-9f31-6ad2c0e77a51",
"restaurantId": "restaurant-1",
"occurredAt": "1787932800000",
"isCompliant": false,
"supplier": { "id": "supplier-7", "name": "Metro Nord" },
"temperatureRecords": [
{ "product": "Poulet fermier", "lotNumber": "L2291", "unit": "C", "value": 6.4 }
],
"nonComplianceReasons": ["Température trop élevée"],
"correctiveActions": ["Produit refusé"],
"commentary": null,
"imageCount": 2
}
],
"nextCursor": null
}
5. Eine Lieferung abrufen, und ihre Fotos
curl "https://api.backresto.com/v1/restaurants/$RESTAURANT_ID/deliveries/$DELIVERY_ID" \
-H "Authorization: Bearer $BACKRESTO_PARTNER_API_KEY"
curl "https://api.backresto.com/v1/restaurants/$RESTAURANT_ID/deliveries/$DELIVERY_ID/images" \
-H "Authorization: Bearer $BACKRESTO_PARTNER_API_KEY"
Der Foto-Endpunkt braucht zusätzlich zu deliveries:read die Berechtigung
delivery-images:read. Hat Ihr Schlüssel nur die erste, antwortet die Lieferung
und die Fotos antworten 403 — das ist die Zuweisung, die ihre Arbeit tut, und
die Lösung ist, dass der Kunde einen Schlüssel mit beiden ausstellen lässt.
6. Eine der anderen Collections lesen
Alles, was keine Lieferung ist — Temperaturen, Kühlen, Reinigung, Etiketten —, ist eine Collection. Fragen Sie den Schlüssel, welche er öffnet:
curl "https://api.backresto.com/v1/restaurants/$RESTAURANT_ID/collections" \
-H "Authorization: Bearer $BACKRESTO_PARTNER_API_KEY"
Ein leeres data heißt, dass der Schlüssel noch keine Collection-Zuweisungen
hat, und das ist der Normalzustand eines Schlüssels, der allein für Lieferungen
ausgestellt wurde — fragen Sie nach denen, die Sie brauchen.
Andernfalls durchlaufen Sie eine:
curl "https://api.backresto.com/v1/restaurants/$RESTAURANT_ID/collections/temperature-records/records" \
-H "Authorization: Bearer $BACKRESTO_PARTNER_API_KEY" \
--get --data-urlencode "limit=100"
{
"data": [
{
"id": "3a71f0c8-9d24-4f11-bb0e-77c2e5a41d93",
"restaurantId": "restaurant-1",
"collection": "temperature-records",
"deleted": false,
"capturedAt": "1788961200000",
"receivedAt": "1788961318000",
"sequence": "4192",
"data": {
"timestamp": "1788961200000",
"value": 3.2,
"unit": "CELSIUS",
"shift": "MORNING",
"equipmentId": "equipment-12"
}
}
],
"nextCursor": null
}
Hier kein Zeitraum: Sie durchlaufen die Collection und behalten id, um beim
nächsten Durchlauf abzugleichen.
7. Die beiden Fehler behandeln, die Ihnen wirklich begegnen
404 — das Restaurant steht nicht auf Ihrem Schlüssel, oder die Lieferung
existiert nicht. Beides ist bewusst nicht unterscheidbar: Die API bestätigt
einem Aufrufer, der es nicht sehen kann, nicht, dass ein Restaurant existiert.
403 — das Restaurant steht auf Ihrem Schlüssel, aber die Berechtigung, die
dieser Endpunkt braucht, nicht.
Jeder Fehler ist ein Problemdokument, nie eine HTML-Seite, und
trägt eine requestId, die zu nennen sich lohnt, wenn Sie uns schreiben.
Wie es weitergeht
- Einen Schlüssel erhalten — die Checkliste für die Anfrage und wie Sie einen Schlüssel später ändern.
- Authentifizierung — Berechtigungen, Schlüsselwechsel, was ein Schlüssel kann und was nicht.
- Paginierung — der Cursor und wie Sie einen langen Zeitraum durchlaufen.
- Lieferungen — jedes Feld und was es im laufenden Betrieb bedeutet.
- Collections & Datensätze — die anderen vierundzwanzig Datensatztypen und der Umschlag, den sie teilen.
- MCP — dieselben Daten in einem KI-Client, in etwa drei Minuten.