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.
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.
OAuth 2.0 und API-Schlüssel, Rechte je Zugang, Verbindungstest und ein Protokoll jeder Anfrage.
Anlegen, abrufen, ändern und stornieren; Stand, Tracking und Dokumente; Angebote anfordern und annehmen; Schutz vor doppelter Anlage.
Signierte Ereignisse mit festem Wiederholungsplan und Abonnements, die Ihr System selbst verwaltet.
Die Sandbox mit Testzugängen und simulierten Abläufen steht sofort offen. Fertige Anbindungen für SAP, Dynamics 365 und Salesforce sind geplant.
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 ruft auf, wenn ein Transport entsteht oder es etwas wissen will.
Derselbe Ablauf wie bei jedem Auftrag aus dem Portal.
LOGICAR ruft Ihr System auf, sobald der Auftrag einen seiner Schritte erreicht.
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.
/ordersorders:write/orders/{id}orders:read/orders?externalOrderId=…orders:read/orders/{id}orders:write/orders/{id}/cancelorders:write/orders/{id}/statusorders:read/orders/{id}/trackingtracking:read/orders/{id}/documentsdocuments:read/quotesquotes:write/quotes/{id}quotes:read/quotes/{id}/acceptquotes:write/webhook-subscriptionswebhooks:manage/webhook-subscriptionswebhooks:manage/webhook-subscriptions/{id}webhooks:manage/meohne Recht 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.
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.
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"
} 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.
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"{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "orders:read orders:write"
} 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.
orders:readAufträge und ihren Stand lesenorders:writeAufträge anlegen, ändern und stornierentracking:readSendungsverfolgung und ETA lesendocuments:readAuftragsdokumente abrufen (Protokolle, Nachweise)quotes:readAngebote lesenquotes:writeAngebote anfordern und annehmeninvoices:readRechnungen lesenwebhooks: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.
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.
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.
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.
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"
}
} 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.
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);
}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:
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.
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.
{
"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"
}
]
}
}
}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.
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.
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.
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.
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.
Aufrufe aus Power Automate, Azure Logic Apps oder einer eigenen Erweiterung; die Webhooks nimmt ein HTTP-Trigger derselben Werkzeuge entgegen.
Aufrufe per Apex-Callout oder aus Ihrer Middleware. Die Webhooks nimmt die Integrationsschicht entgegen, die Ihre Salesforce-Organisation ohnehin anbindet.
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.
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.
Sie schreiben uns, welches System anbinden soll, welche Aufträge darüber laufen und welche Rückmeldungen Sie brauchen.
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.
Wir klären, welche Angaben und Referenzen Ihr System mitschickt, die Preis- und Freigaberegeln Ihrer Vereinbarung und welche Ereignisse Ihr System abonniert.
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.
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.
Die Schnittstelle legt Aufträge an und meldet ihren Stand. Fahrer und Fahrdienstleister übernehmen Aufträge über den Auftragsmarktplatz und die LOGICAR-App.
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.
Der Preis folgt Ihrer Vereinbarung und wird bei LOGICAR berechnet. Die API übermittelt ihn, sie verhandelt ihn nicht.
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.
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.