Für Geschäftskunden · REST-API und Webhooks

API-Schnittstelle und Webhooks Überführungsaufträge aus Ihrem System — und jeder Fortschritt zurück.

LOGICAR bietet Geschäftskunden eine REST-API und Webhooks für die Fahrzeugüberführung. Über die API legt Ihr ERP-, Leasing- oder Flottensystem Überführungsaufträge direkt an und fragt Stand, Sendungsverfolgung und Dokumente ab. Über Webhooks meldet LOGICAR jeden Fortschritt des Auftrags aktiv an Ihren Server — signiert und bei Fehlern automatisch wiederholt. Angemeldet wird per OAuth 2.0 oder API-Schlüssel; den Echtbetrieb schaltet LOGICAR je Kunde frei.

REST · JSON
Versioniert unter /api/v1, Feldnamen und Meldungen auf Englisch
OAuth 2.0
Client Credentials oder API-Schlüssel, eigene Rechte je Zugang
HMAC-SHA256
Jede Webhook-Nachricht signiert, mit Zeitstempel

Verfügbar, im Echtbetrieb je Kunde freigeschaltet.

Stand September 2026

Zugang, Aufträge, Angebote und Webhooks der API sind verfügbar. Die Sandbox mit Testzugängen steht jedem Auftraggeber sofort offen, ohne Freischaltung; den Echtbetrieb schaltet LOGICAR für jeden Geschäftskunden einzeln frei. Was im Einzelnen gilt — Endpunkte, Felder, Ereignisse, Fehler und Grenzen —, steht verbindlich in der Entwickler-Dokumentation unter docs.logicar.cloud, samt OpenAPI 3.1 aus dem Schema der API.

Verfügbar
Zugang

OAuth 2.0 und API-Schlüssel, Rechte je Zugang, Verbindungstest und ein Protokoll jeder Anfrage.

Verfügbar
Aufträge und Angebote

Anlegen, abrufen, ändern und stornieren; Stand, Tracking und Dokumente; Angebote anfordern und annehmen; Schutz vor doppelter Anlage.

Verfügbar
Webhooks

Signierte Ereignisse mit festem Wiederholungsplan und Abonnements, die Ihr System selbst verwaltet.

Sandbox verfügbar · Konnektoren geplant
Testumgebung und Konnektoren

Die Sandbox mit Testzugängen und simulierten Abläufen steht sofort offen. Fertige Anbindungen für SAP, Dynamics 365 und Salesforce sind geplant.

Zwei Richtungen, ein Auftrag.

So funktioniert die Anbindung

Ihr System ruft die API auf, wenn ein Transport entsteht. LOGICAR ruft Ihr System auf, sobald dieser Transport einen seiner Schritte erreicht — von der Annahme bis zur Rechnung. Dazwischen liegt ein gewöhnlicher Auftrag: dieselbe Preisberechnung, dieselbe Disposition und dieselben Protokolle wie bei einem Auftrag aus dem Portal.

Ihr System → LOGICAR

Aufrufe über die API

Ihr System ruft auf, wenn ein Transport entsteht oder es etwas wissen will.

Auftrag anlegenStand abfragenTracking abrufenProtokolle abrufenStornieren
Bei LOGICAR

Der Auftrag

Derselbe Ablauf wie bei jedem Auftrag aus dem Portal.

Prüfung der AngabenPreis nach Ihrer VereinbarungDispositionFahrerProtokoll bei Abholung und Zustellung
LOGICAR → Ihr System

Rückmeldung per Webhook

LOGICAR ruft Ihr System auf, sobald der Auftrag einen seiner Schritte erreicht.

AngenommenFahrer zugewiesenAbgeholtZugestelltRechnung erstellt

Was Ihr System über die API erledigt.

REST-API

Die API spricht JSON über HTTPS und ist unter einer festen Adresse erreichbar:

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

Feldnamen und Fehlermeldungen sind englisch, denn die API spricht mit Systemen und deren Betreuern. Jeder Auftrag trägt die Kennung von LOGICAR und, wenn Ihr System sie mitschickt, Ihre eigene als externalOrderId. Über beide lässt er sich jederzeit wiederfinden.

Unbekannte Felder weist die API mit einer Liste der betroffenen Felder ab. So fällt ein Tippfehler beim Anbinden auf, nicht erst im Betrieb.

Je nach Ihrer Vereinbarung wird aus dem Aufruf sofort ein Auftrag zum vereinbarten Preis oder eine Anfrage, zu der Sie ein Angebot erhalten. Die Antwort nennt die LOGICAR-Kennung, Ihre externalOrderId, den Stand und die Auftragsnummer, die auch im Portal und auf der Rechnung steht — bei einer Anfrage statt ihrer die Anfragenummer.

Endpunkte · Pfade relativ zu /api/v1/extern
POST/ordersorders:write
Auftrag anlegen
GET/orders/{id}orders:read
Auftrag abrufen
GET/orders?externalOrderId=…orders:read
Auftrag über Ihre eigene Nummer finden
PATCH/orders/{id}orders:write
Angaben ergänzen oder ändern
POST/orders/{id}/cancelorders:write
Auftrag stornieren
GET/orders/{id}/statusorders:read
Stand des Auftrags
GET/orders/{id}/trackingtracking:read
Standort und Ankunftszeit während der Fahrt
GET/orders/{id}/documentsdocuments:read
Übergabeprotokolle und Nachweise
POST/quotesquotes:write
Angebot anfordern
GET/quotes/{id}quotes:read
Angebot abrufen, mit Beträgen und Link zum PDF
POST/quotes/{id}/acceptquotes:write
Angebot annehmen, wenn Ihre Vereinbarung es vorsieht
POST/webhook-subscriptionswebhooks:manage
Webhook-Endpunkt anlegen
GET/webhook-subscriptionswebhooks:manage
Webhook-Endpunkte auflisten
DELETE/webhook-subscriptions/{id}webhooks:manage
Webhook-Endpunkt löschen
GET/meohne Recht
Verbindungstest: welcher Zugang, welche Rechte

Für Aufträge, die nach Ihrer Vereinbarung ein Angebot brauchen, gibt es eigene Endpunkte für Angebote (/quotes): das Angebot lesen, als PDF laden, ablehnen — und annehmen, wenn Ihre Vereinbarung das vorsieht. Anfordern kann Ihr System ein Angebot auch dort, wo die Vereinbarung sonst direkt bepreist. Alle Endpunkte stehen in der Entwickler-Dokumentation.

Ein Auftrag, so wie er ankommt

Fahrzeug, Abhol- und Zielort, Transportart und Wunschtermin — dazu Ihre Auftragsnummer und eine freie Referenz wie die Bestellnummer.

DRIVEN — Überführung auf eigener Achse: Ein Fahrer fährt das Fahrzeug.

TRAILER — Einzeltransport als Ladung.

TRUCK — Sammeltransport auf dem Autotransporter.

Der Kopf Idempotency-Key schützt davor, dass eine Wiederholung nach einem Timeout einen zweiten Auftrag anlegt. Wie das wirkt, steht unter Verlässlichkeit.

Anfrage · Auftrag anlegen
POST /api/v1/extern/orders HTTP/1.1
Host: api.logicar.cloud
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…
Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000
Content-Type: application/json

{
  "externalOrderId": "4500019283",
  "customerReference": "PO-98312",
  "vehicle": {
    "vin": "WVWZZZ1KZAW000001",
    "manufacturer": "Volkswagen",
    "model": "Golf"
  },
  "pickup": {
    "company": "Autohaus Beispiel GmbH",
    "street": "Musterstraße 12",
    "postalCode": "20095",
    "city": "Hamburg",
    "country": "DE"
  },
  "delivery": {
    "company": "Fuhrpark Beispiel GmbH",
    "street": "Beispielweg 5",
    "postalCode": "80331",
    "city": "München",
    "country": "DE"
  },
  "transportType": "DRIVEN",
  "requestedDelivery": "2026-10-02T16:00:00+02:00"
}

Anmeldung per OAuth 2.0 oder API-Schlüssel.

Authentifizierung

OAuth 2.0 Client Credentials

Der Standard für SAP Integration Suite, Salesforce, Dynamics und jede Integrationsplattform mit OAuth. Ihr System holt sich mit client_id und client_secret ein Zugriffstoken, das eine Stunde gilt, und schickt es als Authorization: Bearer mit. Die Anmeldedaten gehen als Basic-Anmeldung oder als Formularfelder an den Token-Endpunkt; Antworten und Fehler folgen RFC 6749.

Anfrage · Token holen
curl https://api.logicar.cloud/api/v1/extern/oauth/token \
  -u "lcc_3f9a1c2b7d4e4f60a8b9c0d1e2f3a4b5:lc_live_…" \
  -d grant_type=client_credentials \
  --data-urlencode "scope=orders:read orders:write"
Antwort
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "orders:read orders:write"
}

API-Schlüssel

Für einfache Anbindungen und Skripte: ein Schlüssel im Kopf jeder Anfrage, als Authorization: Bearer lc_live_… oder als X-API-Key: lc_live_…. Schlüssel für die Testumgebung beginnen mit lc_test_ — ein Testschlüssel in der Produktionskonfiguration fällt so beim Lesen auf.

Rechte je Zugang
orders:readAufträge und ihren Stand lesen
orders:writeAufträge anlegen, ändern und stornieren
tracking:readSendungsverfolgung und ETA lesen
documents:readAuftragsdokumente abrufen (Protokolle, Nachweise)
quotes:readAngebote lesen
quotes:writeAngebote anfordern und annehmen
invoices:readRechnungen lesen
webhooks:manageWebhook-Abonnements verwalten

Kein Recht schließt ein anderes ein: Wer schreiben und lesen soll, bekommt orders:write und orders:read.

Mehrere Zugänge je Kunde, etwa „SAP Produktion“ und „Flottensystem“ — jeder mit eigenem Namen und eigenen Rechten.

Schlüssel und Secret sehen Sie genau einmal, bei der Anlage. LOGICAR speichert davon nur einen Hashwert.

Sperren, Widerrufen und Entziehen von Rechten wirken sofort — auch für Tokens, die schon ausgegeben sind.

Webhooks

LOGICAR meldet sich bei Ihnen, nicht umgekehrt.

Statt alle paar Minuten nach dem Stand zu fragen, hinterlegt Ihr System eine HTTPS-Adresse und die Ereignisse, die es wissen will. LOGICAR schickt jedes dieser Ereignisse dorthin, sobald es eintritt — als POST mit JSON-Inhalt und signiert.

Auftrag
order.createdorder.acceptedorder.rejectedorder.scheduledorder.rescheduledorder.completedorder.cancelled
Fahrer und Abholung
driver.assignedpickup.startedpickup.arrivedvehicle.picked_up
Transport und Zustellung
transport.startedtransport.delayeddelivery.arrivedvehicle.delivered
Dokumente, Schäden, Rechnung
document.requireddocument.uploadeddamage.reportedexception.createdinvoice.created

Welche Felder zu welchem Ereignis gehören, nennt die technische Referenz. Neue Ereignisse können hinzukommen; lassen Sie unbekannte Typen deshalb unbeachtet, statt mit einem Fehler zu antworten.

Was bei Ihnen ankommt

Diese Köpfe tragen die Eckdaten, der Inhalt das Ereignis selbst:

X-LogiCar-Event — der Typ des Ereignisses

X-LogiCar-Delivery — die Kennung der Zustellung, gleich über alle Versuche

X-LogiCar-Timestamp — der Zeitpunkt des Versands in Unix-Sekunden

X-LogiCar-Signature — sha256= und der HMAC-SHA256 als Hexwert

X-LogiCar-Environment — production oder sandbox

apiVersion nennt den Stand der Schnittstelle, nach dem die Nachricht gebaut ist, environment den Echtbetrieb oder die Sandbox. Die id des Ereignisses bleibt über alle Zustellversuche gleich.

Webhook · Fahrzeug zugestellt
POST /logicar/webhooks HTTP/1.1
Host: erp.example.com
Content-Type: application/json
X-LogiCar-Event: vehicle.delivered
X-LogiCar-Delivery: 7d9e4c1a-2b3f-4e5d-8a6b-9c0d1e2f3a4b
X-LogiCar-Timestamp: 1790951532
X-LogiCar-Signature: sha256=4f8b2e…
X-LogiCar-Environment: production

{
  "id": "3b0f6f4e-5c2a-4d0e-9f59-1f2d8c7a6b10",
  "type": "vehicle.delivered",
  "apiVersion": "2026-09-01",
  "createdAt": "2026-10-02T14:32:11.000Z",
  "tenantId": "5f0c3f0e-8d1f-4c55-9e0a-2d5c1b7a9e11",
  "environment": "production",
  "data": {
    "orderId": "8c1d2e3f-4a5b-4c6d-9e7f-0a1b2c3d4e5f",
    "orderNumber": "26K7F070042E",
    "trackingNumber": "26K7F070042E",
    "externalOrderId": "4500019283",
    "status": "DELIVERED",
    "deliveredAt": "2026-10-02T14:31:44.000Z"
  }
}

So prüfen Sie die Signatur

  1. Den Inhalt der Anfrage unverändert lesen — vor jedem JSON-Parser. Schon ein neu formatiertes JSON ergibt eine andere Signatur.
  2. Zeitstempel, einen Punkt und den Inhalt mit Ihrem Webhook-Secret per HMAC-SHA256 signieren.
  3. Das Ergebnis zeitkonstant mit dem Wert nach sha256= vergleichen.
  4. Nachrichten verwerfen, deren Zeitstempel mehr als fünf Minuten abweicht. Das verhindert, dass jemand eine mitgeschnittene Nachricht noch einmal einspielt.

Jede Sprache mit HMAC-SHA256 kann das — Java mit javax.crypto.Mac, .NET mit HMACSHA256, Python mit hmac, ABAP mit cl_abap_hmac. Ihr Webhook-Secret sehen Sie genau einmal, bei der Anlage des Endpunkts.

Node.js · Signatur prüfen
import crypto from 'node:crypto';

// rawBody: der Inhalt der Anfrage als Buffer, genau so, wie er ankam.
export function isFromLogiCar(rawBody, headers, secret) {
  const timestamp = headers['x-logicar-timestamp'] ?? '';
  const signature = headers['x-logicar-signature'] ?? '';

  // Mehr als fünf Minuten Abweichung: ablehnen.
  const age = Math.abs(Date.now() / 1000 - Number(timestamp));
  if (!(age <= 300)) return false;

  const expected = 'sha256=' + crypto
    .createHmac('sha256', secret)
    .update(timestamp + '.')
    .update(rawBody)
    .digest('hex');

  // Byte-Längen vergleichen: timingSafeEqual wirft bei ungleich langen Buffern.
  const a = Buffer.from(signature);
  const b = Buffer.from(expected);
  return a.length === b.length && crypto.timingSafeEqual(a, b);
}

Wenn Ihr Server nicht antwortet

Als angenommen gilt eine Antwort mit einem 2xx-Status innerhalb von 10 Sekunden. Alles andere — ein Fehler, keine Antwort, auch eine Weiterleitung — zählt als Fehlschlag, und LOGICAR versucht es nach diesem Plan erneut:

  1. 1sofort
  2. 2nach 1 Minute
  3. 3nach 5 Minuten
  4. 4nach 15 Minuten
  5. 5nach 1 Stunde
  6. 6nach 6 Stunden
  7. 7nach 24 Stunden
  8. ×nicht zustellbar: Meldung an Ihre Technik

Antworten Sie mit 2xx, sobald die Nachricht angenommen ist, und verarbeiten Sie sie danach. Wer erst verarbeitet und dann antwortet, riskiert eine Wiederholung.

Dieselbe Nachricht kann zweimal ankommen, etwa wenn Ihre Antwort unterwegs verloren geht. Merken Sie sich die id jedes Ereignisses und verarbeiten Sie es nur einmal.

Die Reihenfolge der Zustellung ist nicht garantiert — nach einer Wiederholung kann ein älteres Ereignis nach einem neueren eintreffen. Maßgeblich ist createdAt.

Webhook-Ziele müssen HTTPS sprechen. Interne und private Adressen werden nicht bedient, Weiterleitungen nicht verfolgt.

Gebaut für Netze, die manchmal ausfallen.

Verlässlichkeit

Ein Timeout legt keinen zweiten Auftrag an.

Schicken Sie beim Anlegen eines Auftrags oder Angebots einen Idempotency-Key mit. Kommt derselbe Schlüssel mit demselben Inhalt innerhalb von 24 Stunden noch einmal, liefert die API die erste Antwort erneut, statt einen zweiten Auftrag anzulegen. Derselbe Schlüssel mit anderem Inhalt wird mit 409 abgewiesen. Ohne Schlüssel gilt Ihre externalOrderId als Schlüssel — passend für Systeme wie SAP, die mit Belegnummern arbeiten; sie schützt auch nach den 24 Stunden vor einem zweiten Auftrag. Fehlt beides, legt eine Wiederholung einen zweiten Auftrag an. Ändern und Stornieren lassen sich ohnehin gefahrlos wiederholen.

Kein Ereignis geht verloren.

Ein Ereignis wird in derselben Datenbanktransaktion gespeichert wie die Änderung, die es auslöst — gleich, ob sie aus dem Portal, der Fahrer-App oder der Disposition kommt. Zugestellt wird danach und getrennt davon. Ist Ihr System nicht erreichbar, bleibt der Auftrag gültig, und die Zustellung wird nach Plan wiederholt.

Grenzen, die Ihr System kennt.

Je Zugang 600 Anfragen pro Minute, in Spitzen bis 50 pro Sekunde; ein Token lässt sich 30-mal pro Minute abrufen und gilt eine Stunde. Darüber antwortet die API mit 429 und sagt im Kopf Retry-After, wann es weitergeht. Die RateLimit-Köpfe jeder Antwort zeigen den verbleibenden Spielraum.

Versionen, die nichts brechen.

Der Pfad trägt die Hauptversion. Was bestehende Anbindungen brechen würde, kommt erst mit /v2. Innerhalb von v1 kommen Felder, Endpunkte und Ereignisse hinzu — lassen Sie unbekannte Felder deshalb unbeachtet. Den Stand nennt jede Webhook-Nachricht in apiVersion.

Fehler, die sich zuordnen lassen

Jeder Fehler der API kommt im selben Format — nur der Token-Endpunkt antwortet nach RFC 6749: ein stabiler code für Ihr System, eine Meldung für Menschen und die requestId, die auch im Kopf X-Request-Id steht. Ein Stacktrace verlässt LOGICAR nie.

400Anfrage unvollständig oder fehlerhaft; bei Feldfehlern nennt details.fields jedes Feld
401Anmeldung fehlt, ist abgelaufen oder widerrufen
403Recht fehlt, die API ist für das Konto nicht freigeschaltet, oder die Annahme per API ist nicht vereinbart
404Endpunkt, Auftrag, Angebot oder Dokument nicht gefunden
409Konflikt, etwa ein Idempotency-Key mit anderem Inhalt, eine schon vergebene externalOrderId oder ein Auftrag, der nicht mehr geändert werden kann
422Fachlich nicht ausführbar, etwa ein nicht fahrbereites Fahrzeug mit DRIVEN
429Zu viele Anfragen; nach Retry-After Sekunden wiederholen
500Fehler bei LOGICAR; mit der requestId findet der Support die Anfrage
Antwort · 400
{
  "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"
        }
      ]
    }
  }
}

Wenn es hakt: drei Fälle, drei Wege.

Störungen

Ihr Server nimmt nichts an.

Wartung, ein abgelaufenes Zertifikat, eine neue Firewall-Regel — Ihr Endpunkt antwortet nicht mit 2xx.

LOGICAR wiederholt die Zustellung nach Plan, der Auftrag läuft weiter. Nach dem letzten Versuch meldet sich LOGICAR bei Ihrem technischen Ansprechpartner, und die Nachricht kann erneut gesendet werden.

Ein Aufruf bricht mit Timeout ab.

Ihr System weiß nicht, ob der Auftrag angelegt wurde — die Antwort kam nie an.

Denselben Aufruf mit demselben Idempotency-Key wiederholen. Gibt es den Auftrag schon, kommt die erste Antwort zurück; ein zweiter entsteht nicht.

Eine Anfrage wird abgewiesen.

Ein Pflichtfeld fehlt, ein Recht fehlt, oder Ihr System fragt schneller, als die Grenze erlaubt.

Der Fehlercode sagt, was fehlt; details.fields nennt die Felder. Mit der requestId aus der Antwort findet unser Support die Anfrage im Protokoll.

SAP, Dynamics, Salesforce oder eigenes System.

Ihre Systeme

Die API ist eine gewöhnliche REST-Schnittstelle mit JSON und OAuth 2.0. Alles, was HTTPS-Aufrufe senden und empfangen kann, lässt sich anbinden — direkt oder über die Integrationsplattform, die Sie ohnehin betreiben.

SAP S/4HANA

Die SAP Integration Suite ruft die API aus dem Kundenauftrag oder der Bestellung heraus auf und nimmt die Webhooks entgegen. OAuth 2.0 Client Credentials ist dort Standard. Die SAP-Belegnummer läuft als externalOrderId mit und schützt zugleich vor doppelter Anlage.

Microsoft Dynamics 365

Aufrufe aus Power Automate, Azure Logic Apps oder einer eigenen Erweiterung; die Webhooks nimmt ein HTTP-Trigger derselben Werkzeuge entgegen.

Salesforce

Aufrufe per Apex-Callout oder aus Ihrer Middleware. Die Webhooks nimmt die Integrationsschicht entgegen, die Ihre Salesforce-Organisation ohnehin anbindet.

Eigene Systeme

Händler-, Leasing- und Flottensoftware oder eine Eigenentwicklung: Wer HTTPS-Aufrufe senden und empfangen und einen HMAC-SHA256 bilden kann, kann anbinden.

Geplant sind Konnektoren, mit denen LOGICAR selbst auf Ihr System zugreift — etwa um Aufträge direkt aus SAP abzuholen oder den Stand in Dynamics zurückzuschreiben. Bis dahin ist die API der Weg, und die Zuordnung Ihrer Felder liegt in Ihrer Integrationsschicht.

Sicherheit und Datenschutz.

Für Ihre IT-Prüfung

Nur verschlüsselt. Die API wird über HTTPS angesprochen, und Webhooks gehen nur an HTTPS-Adressen.

Geheimnisse bleiben geheim. Schlüssel speichert LOGICAR nur als Hashwert, Webhook-Secrets verschlüsselt. Beide sehen Sie genau einmal.

Getrennte Konten. Jeder Zugang gehört zu genau einem Kundenkonto und sieht nur dessen Aufträge.

Datensparsam. Fahrer erscheinen höchstens mit Vorname und Initial und nur, wenn das für Ihr Konto eingestellt ist — nie mit Telefonnummer, E-Mail-Adresse oder Anschrift. Standortdaten gibt es nur während der Fahrt.

Protokoll ohne Inhalt. Zu jeder Anfrage speichert LOGICAR Zeitpunkt, Endpunkt, Status, Dauer und Fehlercode, den Zugang, Absenderadresse und User-Agent sowie die Auftragskennung und Ihre externalOrderId — nie den Inhalt und nie einen Schlüssel.

Auftragsverarbeitung. Werden personenbezogene Daten übertragen, etwa Ansprechpartner am Abholort, gehört ein Vertrag über die Auftragsverarbeitung zur Anbindung.

So kommt Ihr System an LOGICAR.

Fünf Schritte
01

Anfrage

Sie schreiben uns, welches System anbinden soll, welche Aufträge darüber laufen und welche Rückmeldungen Sie brauchen.

02

Sandbox

Im Kundenportal legen Sie einen Testzugang an. GET /me zeigt, mit welchem Zugang und welchen Rechten Ihr System ankommt; Aufträge, Webhooks und die Signaturprüfung testen Sie gegen simulierte Abläufe.

03

Abstimmung

Wir klären, welche Angaben und Referenzen Ihr System mitschickt, die Preis- und Freigaberegeln Ihrer Vereinbarung und welche Ereignisse Ihr System abonniert.

04

Freischaltung

LOGICAR schaltet den Echtbetrieb für Ihr Konto frei. Sie legen Zugänge und einen Webhook-Endpunkt für den Echtbetrieb an, tauschen den Testzugang aus und nennen uns einen technischen Ansprechpartner.

05

Betrieb

Aufträge laufen über die API, jede Anfrage und jede Zustellung ist protokolliert. Scheitert eine Zustellung endgültig, meldet sich LOGICAR bei Ihrem technischen Ansprechpartner.

Was die Schnittstelle nicht ist.

Ehrliche Abgrenzung

Für Auftraggeber, nicht für Fahrer.

Die Schnittstelle legt Aufträge an und meldet ihren Stand. Fahrer und Fahrdienstleister übernehmen Aufträge über den Auftragsmarktplatz und die LOGICAR-App.

Keine Wahl des Fahrers per Parameter.

Wer fährt, legt nicht Ihr System fest. Ein Auftrag über die API geht denselben Weg wie einer aus dem Portal: in die Planung von LOGICAR und an geprüfte Fahrer.

Kein Preis, den Ihr System setzt.

Der Preis folgt Ihrer Vereinbarung und wird bei LOGICAR berechnet. Die API übermittelt ihn, sie verhandelt ihn nicht.

Keine Prognosen.

Sie bekommen den Stand, den Standort während der Fahrt und die errechnete Ankunftszeit — keine Vorhersagen über Kapazitäten, Verfügbarkeiten oder künftige Preise.

Wer Überführungen fahren statt beauftragen will, findet alles unter Überführungsfahrer werden. Wie ein Auftrag bei LOGICAR disponiert wird, steht unter Disposition und Dispatch.

Fragen zur Anbindung

Was hier nicht steht, klärt ein kurzer Anruf unter +49 176 41635804.

Ihr System schickt einen POST-Aufruf an /api/v1/extern/orders mit Fahrzeug, Abhol- und Zielort, Transportart, Wunschtermin und Ihrer eigenen Auftragsnummer als externalOrderId. Angemeldet wird per OAuth 2.0 oder API-Schlüssel mit dem Recht orders:write. Je nach Vereinbarung entsteht sofort ein Auftrag zum vereinbarten Preis — die Antwort nennt die LOGICAR-Kennung und die Auftragsnummer — oder eine Anfrage mit Anfragenummer, zu der Sie ein Angebot erhalten.

Über Webhooks: Ihr System hinterlegt eine HTTPS-Adresse, und LOGICAR schickt jedes abonnierte Ereignis dorthin, sobald es eintritt — etwa driver.assigned, vehicle.picked_up oder vehicle.delivered. Jede Nachricht ist mit HMAC-SHA256 signiert. Wer lieber abfragt, bekommt den Stand jederzeit über GET /orders/{id}/status.

Jede Nachricht trägt die Köpfe X-LogiCar-Timestamp und X-LogiCar-Signature. Bilden Sie mit Ihrem Webhook-Secret einen HMAC-SHA256 über Zeitstempel, Punkt und den unveränderten Inhalt der Anfrage, und vergleichen Sie das Ergebnis zeitkonstant mit dem Wert nach sha256=. Nachrichten, deren Zeitstempel mehr als fünf Minuten abweicht, verwerfen Sie.

LOGICAR wiederholt die Zustellung nach 1 Minute, 5 Minuten, 15 Minuten, 1 Stunde, 6 Stunden und 24 Stunden. Als angenommen gilt eine Antwort mit einem 2xx-Status innerhalb von 10 Sekunden. Scheitert auch der letzte Versuch, wird die Nachricht als nicht zustellbar gespeichert, Ihr technischer Ansprechpartner benachrichtigt, und sie kann erneut gesendet werden. Der Auftrag selbst läuft unberührt weiter.

Nein, wenn der Aufruf einen Idempotency-Key trägt: Derselbe Schlüssel mit demselben Inhalt liefert 24 Stunden lang die erste Antwort erneut, statt einen zweiten Auftrag anzulegen; derselbe Schlüssel mit anderem Inhalt wird mit HTTP 409 abgewiesen. Ohne Schlüssel gilt Ihre externalOrderId als Schlüssel — für Systeme wie SAP, die mit Belegnummern arbeiten; sie schützt auch nach den 24 Stunden vor einem zweiten Auftrag.

OAuth 2.0 mit Client Credentials: Ihr System holt sich mit client_id und client_secret ein Zugriffstoken, das eine Stunde gilt. Für einfache Anbindungen genügt ein API-Schlüssel im Kopf Authorization: Bearer oder X-API-Key. Jeder Zugang hat eigene Rechte, etwa orders:write oder tracking:read; Sperren und Widerrufe wirken sofort.

Ja, über die REST-API. Typischerweise erzeugt die SAP Integration Suite aus dem Kundenauftrag oder der Bestellung den Aufruf an LOGICAR und nimmt die Webhooks entgegen; OAuth 2.0 Client Credentials ist dort Standard. Die SAP-Belegnummer läuft als externalOrderId mit und schützt zugleich vor doppelter Anlage. Ein Konnektor, mit dem LOGICAR Aufträge selbst aus SAP abholt, ist geplant.

Ja, eine Sandbox, ohne Freischaltung. Im Portal legen Sie unter Einstellungen einen Zugang der Umgebung Sandbox an; sein Schlüssel beginnt mit lc_test_. Damit laufen Aufträge durch simulierte Abläufe — Standard, Verspätung, Schaden, Storno oder Angebot — mit echten, signierten Webhooks, aber ohne Fahrer und ohne Rechnung. Ein Test-Empfänger zeigt jede Nachricht samt Signaturprüfung. Die Anleitung steht in der Entwickler-Dokumentation unter docs.logicar.cloud.

Geschäftskunden

Anbindung besprechen

Schreiben Sie uns, welches System anbinden soll und wie viele Überführungen darüber laufen. Wir melden uns mit den nächsten Schritten.

API-Zugang anfragen

Erst den Auftrag selbst verstehen?

Wie eine Überführung abläuft, was bei Abholung und Zustellung dokumentiert wird und was das Live-Tracking zeigt, steht auf den Seiten zu Ablauf, Dokumentation und Tracking.