Zum Inhalt springen
LOGICAR Entwickler Suchen

#Endpunkte und Format

Auf dieser Seite

#Alle Endpunkte

Basisadresse: https://api.logicar.cloud/api/v1/extern

MethodePfadZweckRecht
POST/oauth/tokenZugriffstoken holen (OAuth 2.0 Client Credentials)Client-Kennung und Secret
GET/meVerbindungstest: welcher Zugang, welche Umgebung, welche Rechteohne Recht
POST/ordersAuftrag anlegen — oder Anfrage, wenn Ihre Vereinbarung ein Angebot vorsiehtorders:write
GET/ordersAufträge auflisten, auch nach Ihrer eigenen Nummer (externalOrderId) oder seit einem Zeitpunktorders:read
GET/orders/{id}Auftrag abrufen — unter unserer Kennung, der Auftrags- oder der Anfragenummerorders:read
PATCH/orders/{id}Angaben ergänzen oder ändern, bis zur Abholungorders:write
POST/orders/{id}/cancelAuftrag stornieren oder Anfrage zurückziehen, bis zur Abholungorders:write
GET/orders/{id}/statusStand des Auftragsorders:read
GET/orders/{id}/trackingStandort und Ankunftszeit während der Fahrttracking:read
GET/orders/{id}/documentsÜbergabeprotokolle, Nachweise und weitere Dokumentedocuments:read
GET/orders/{id}/documents/{documentId}Ein Dokument herunterladendocuments:read
POST/quotesAngebot anfordern — auch, wo Ihre Vereinbarung sonst direkt bepreistquotes:write
GET/quotes/{id}Angebot abrufen: Stand, Fassung, Beträge und Positionenquotes:read
POST/quotes/{id}/acceptAngebot annehmen — nur, wenn Ihre Vereinbarung es vorsiehtquotes:write
POST/quotes/{id}/declineAngebot ablehnenquotes:write
GET/quotes/{id}/documentDas Angebot als PDF herunterladenquotes:read
POST/webhook-subscriptionsWebhook-Endpunkt anlegenwebhooks:manage
GET/webhook-subscriptionsWebhook-Endpunkte auflistenwebhooks:manage
GET/webhook-subscriptions/{id}Einen Webhook-Endpunkt abrufenwebhooks:manage
DELETE/webhook-subscriptions/{id}Webhook-Endpunkt löschenwebhooks:manage
POST/webhook-subscriptions/{id}/testTestnachricht an einen Endpunkt sendenwebhooks:manage
POST/sandbox/orders/{id}/advanceSandbox: den nächsten Schritt des Szenarios ausführenorders:write

Die vollständige Beschreibung mit allen Feldern, Antworten und Webhooks: /openapi.json (OpenAPI 3.1).

#Format

  • JSON in beide Richtungen, UTF-8, Content-Type: application/json. Der Token-Endpunkt nimmt außerdem application/x-www-form-urlencoded, wie OAuth 2.0 es vorsieht.
  • Zeitpunkte in ISO 8601 mit Zeitzone: 2026-10-02T16:00:00+02:00 oder 2026-10-01T08:00:00Z. Antworten kommen immer in UTC.
  • Feldnamen in camelCase, genau so geschrieben wie hier.
  • Unbekannte Felder in Ihrer Anfrage sind ein Fehler (400 INVALID_REQUEST, das Feld steht in details.fields) — ein Tippfehler bleibt so nicht unbemerkt, und niemand hält einen Preis für vereinbart, den Ihr System mitschickte. Freie Daten Ihres Systems gehören in metadata.
  • Unbekannte Felder in unseren Antworten und Webhooks übergehen Sie bitte: innerhalb von v1 kommen neue hinzu (Versionen).

#Antworten

HTTPBedeutung
200Erfolg.
201Angelegt.
202Angenommen als Anfrage, die auf ein Angebot wartet (kind: "REQUEST").
204Erledigt, ohne Inhalt (etwa ein gelöschter Webhook-Endpunkt).
4xxFehler in der Anfrage. Unverändert wiederholt, bleibt es ein Fehler — außer 409 mit Retry-After und 429.
5xxFehler bei uns. Wiederholen ist sicher, wenn Sie einen Idempotency-Key mitschicken.

Jede Fehlerantwort hat dieselbe Form:

json
{
  "error": {
    "code": "INVALID_REQUEST",
    "message": "The request is invalid. See details.fields.",
    "requestId": "0e6a5b8c-3f1d-4d2a-9c7e-5b4a3f2e1d0c",
    "details": {
      "fields": [
        { "field": "pickup.postalCode", "code": "invalid_type", "message": "Invalid input: expected string, received undefined" }
      ]
    }
  }
}

code ist fester Wert zum Auswerten, message ein Satz für Menschen (englisch) und kann sich ändern. Die requestId steht auch im Kopf X-Request-Id; nennen Sie sie uns bei Rückfragen — mit ihr finden wir den Aufruf in unseren Protokollen. Zu jeder Anfrage halten wir dort fest: Zeitpunkt, Methode und Pfad, Status, Dauer und Fehlercode, den Zugang, Ihre Absenderadresse und den User-Agent, dazu die Auftragskennung und Ihre externalOrderId — nie den Inhalt der Anfrage und nie einen Schlüssel oder ein Token. Alle Codes: Fehler und Grenzen.

#Einen Vorgang finden

Die Pfade /orders/{id} nehmen jede Kennung, die wir vergeben: die id (UUID), die Auftragsnummer oder — solange es eine Anfrage ist — die Anfragenummer. Ist aus einer Anfrage inzwischen ein Auftrag geworden, antworten sie mit dem Auftrag.

Ihre eigene Nummer suchen Sie mit GET /orders?externalOrderId=…: die Antwort ist eine Liste mit höchstens einem Eintrag.

Tipp

Für Statusänderungen sind Webhooks der bessere Weg: sie kommen sofort, und Ihr System muss nicht fragen. Fragen Sie ab, wenn Sie nachholen wollen, was während einer Störung Ihres Endpunkts nicht ankam: GET /orders?updatedSince=… liefert alles, was sich seitdem geändert hat.