Zwei Schlüssel, zwei Aufgaben
Öffentlich lesen, geheim bestellen.
Der publizierbare Schlüssel (Public Key, pk_…) darf im Quelltext deiner Website stehen – er identifiziert nur den Betrieb. Der geheime Schlüssel (Shop-Token, sk_…) bleibt auf deinem Server und darf Bestellungen anlegen. Beide findest du in den Einstellungen unter Online-Buchung, Karte „Schlüssel für eigene Anbindungen“ – schon während der Testphase.
- Nur freigegebene Domains dürfen das Widget laden
- Eigene Tempolimits für Preis- und Bestellabfragen
- Bestellungen sind idempotent: doppelt gesendet, einmal angelegt
Die Schlüssel und die offene Schnittstelle gibt es ab Tarif Laden, im Tarif Start sind sie nicht enthalten.
curl https://app.repaircockpit.de/api/v1/repairs \
-H "X-RC-Public-Key: pk_live_…"
Endpunkte
GET/api/v1/repairs
Alle Reparaturen mit Preis (brutto, in Cent), Dauer und Garantie – eine Zeile je Modell und Reparatur. Gedacht für eigene Preis- und Landingpages.
{
"total": 32,
"page": 1,
"limit": 200,
"has_more": false,
"repairs": [
{
"id": "8f89d1ce-…:display-tausch",
"device_model_id": "8f89d1ce-…",
"slug": "apple-iphone-16e-display-tausch",
"title": "Apple iPhone 16e Display-Tausch",
"type": "phone",
"brand": "Apple",
"model": "iPhone 16e",
"repair": "Display-Tausch",
"price_cents": 15900,
"currency": "EUR",
"duration_minutes": 60,
"warranty_months": 12,
"model_numbers": ["A3212", "A3409"],
"image": "https://app.repaircockpit.de/api/v1/booking/models/…/image?key=pk_live_…"
}
]
}
POST/api/v1/orders
Eine bezahlte Bestellung anlegen – aus deinem Shop heraus. Je Gerät entsteht ein Auftrag mit einer Position je Reparatur, die Antwort enthält den Verfolgungslink. Mehrfach gesendet entsteht nur ein Auftrag.
Mit dem geheimen Schlüssel, nur vom Server aus.
{
"reference": "SHOP-1042",
"delivery": "einsendung",
"customer": {
"first_name": "Erika", "last_name": "Mustermann",
"email": "erika@example.de",
"address_line1": "Bahnhofstraße 1",
"postal_code": "12345", "city": "Musterstadt"
},
"items": [{
"device_model_id": "8f89d1ce-…",
"repair": "Display-Tausch",
"price_cents": 15900
}]
}
GET/api/v1/orders/{reference}
Stand einer Bestellung abfragen – je Gerät der Auftrag mit Status und der Verfolgungslink für deinen Kunden.
{
"reference": "SHOP-1042",
"orders": [
{
"number": "RT-629470",
"status": "waiting",
"device": "Apple iPhone 16e",
"repairs": "Display-Tausch",
"tracking_url": "https://app.repaircockpit.de/kunde/…"
}
]
}
Fehler sagen, was fehlt
Jede Absage nennt den Grund – im Klartext und mit HTTP-Code. Schick immer Accept: application/json mit, sonst antwortet der Server bei Eingabefehlern mit einer Weiterleitung statt mit einer Fehlermeldung.
401 Shop-Token fehlt oder falsch
404 Public Key unbekannt oder Bestellung nicht gefunden
422 Eingabe unvollständig – die Feldfehler stehen in errors
423 Zugang gesperrt, z. B. wegen einer offenen Rechnung
429 Zu viele Anfragen – kurz warten und erneut versuchen
Das waren die wichtigsten Wege. Die vollständige API-Dokumentation beschreibt alle Endpunkte mit Beispielen, Fehlern und Grenzen – vom Gerätekatalog bis zum Warenkorb des Widgets.
Zur API-Dokumentation →