Anmelden
Entwickler

Loader4D API

Rufen Sie die Ladeoptimierung direkt aus Ihrem eigenen ERP, WMS oder Transportmanagementsystem auf. Dieselbe Packmaschine wie im Browser, hinter einer einzigen HTTP-Anfrage.

Die API ist live

Ein Testschlüssel bietet 25 Aufrufe pro Monat: echte Engine, echter Plan, kein Credit-Verbrauch. Prüfen Sie Ihre Integration ohne Zahlung und wählen Sie für den Live-Betrieb einen Tarif.

Was Sie tun können

Optimierungs-Endpunkt

Senden Sie Ihre Laderäume und Ihre Ladungsliste als JSON und erhalten Sie den Ladeplan mit den Koordinaten jedes Stücks zurück. Achslasten und nicht platzierbare Positionen stehen ebenfalls in der Antwort.

Das Ergebnis geht nicht verloren

Eine Optimierung dauert Sekunden. In einem synchronen Entwurf vernichtet eine abgebrochene Verbindung das Ergebnis; hier holen Sie es mit der Auftragskennung wieder ab und zahlen dieselbe Berechnung nie zweimal.

Eine vorhersehbare Rechnung

Credits werden in Stufen berechnet, nicht pro Stück. Die Maschine wendet für eine kleine Sendung dasselbe Suchbudget auf wie für eine große; eine Abrechnung pro Stück würde kleine Aufrufe bestrafen und Ihre Rechnung unvorhersehbar machen.

Entwickeln, ohne Ihr Kontingent zu verbrauchen

Testschlüssel liefern echte Ergebnisse und verbrauchen keine Credits; sie sind auf 25 Aufrufe pro Monat begrenzt. Testen Sie, bis Ihre Integration steht — für den Live-Betrieb tauschen Sie nur den Schlüssel.

Endpunkte

Die Authentifizierung erfolgt über einen Bearer-Header mit Ihrem Schlüssel. Schlüssel werden niemals in der Adresszeile akzeptiert.

Authorization: Bearer l4d_live_...
Aufruf Was er tut
POST /api/v1/pack Öffnet einen Packauftrag; liefert 202 und eine Auftragskennung.
GET /api/v1/jobs/{id} Liefert den Zustand des Auftrags und nach Abschluss das Ergebnis.
GET /api/v1/usage Liefert Ihr Kontingent für die Periode und die verbleibenden Credits.

Beispielanfrage

Längen sind Zentimeter, Gewichte Kilogramm. Es gibt keine Einheiteneinstellung pro Anfrage; rechnen Sie auf Ihrer Seite um. Eine in Zoll gesendete Anfrage belädt einen zehnmal zu langen Lkw.

POST /api/v1/pack
Authorization: Bearer l4d_test_...
Content-Type: application/json
Idempotency-Key: 7f3c1a9e4b6d4c2f

{
  "reference": "SO-2026-4417",
  "spaces": [
    { "id": "sp1", "name": "40HC", "type": "container",
      "length": 1200, "width": 235, "height": 269,
      "max_weight": 26000, "available": 2 }
  ],
  "items": [
    { "id": "A1", "name": "Karton", "length": 120, "width": 100, "height": 40,
      "weight": 8, "quantity": 24, "group": "Siparis-1",
      "constraints": { "no_tilt": true } },
    { "id": "B1", "name": "Varil", "shape": "cylinder",
      "diameter": 58, "length": 88, "weight": 190, "quantity": 12,
      "constraints": { "floor_only": true } }
  ],
  "strategy": { "group_items": true, "balance_load": true }
}

Die Antwort kommt sofort; für das Ergebnis fragen Sie die Auftragskennung ab.

HTTP/1.1 202 Accepted
Location: /api/v1/jobs/ba7189d3b1824da3806ca3ee973b2294

{ "id": "ba7189d3...", "status": "queued", "progress": 0,
  "reference": "SO-2026-4417", "credits": 1 }

Ist der Auftrag fertig, kommt jedes Stück mit seinen Koordinaten. Der Ursprung ist die vordere linke untere Ecke des Laderaums, und der angegebene Wert ist genau diese Ecke des Stücks, nicht sein Mittelpunkt.

{ "id": "ba7189d3...", "status": "succeeded", "credits": 1,
  "result": {
    "summary": { "spaces_used": 1, "pieces_requested": 36,
                 "pieces_packed": 36, "weight": 2472,
                 "volume_utilization": 0.7431 },
    "spaces": [
      { "space_id": "sp1", "name": "40HC",
        "placements": [
          { "item_id": "A1", "sequence": 1,
            "x": 0, "y": 0, "z": 0,
            "length": 120, "width": 100, "height": 40, "weight": 8 }
        ],
        "axle_loads": [] }
    ],
    "unpacked": []
  } }

Die vollständige Feld- und Beschränkungsliste, die Fehlercodes und das OpenAPI-Dokument finden Sie in der API-Referenz

Credits und Grenzen

Credits werden abgezogen, wenn ein Auftrag angenommen wird, nicht wenn er endet. Sonst kämen hundert gleichzeitig eintreffende Aufrufe alle durch die Kontingentprüfung, bevor auch nur einer gezählt worden wäre.

Stücke insgesamt in der Anfrage Credits
1 – 1001
101 – 1 0005
1 001 – 10 00025
10 001 und mehr100

Diese Grenzen sorgen dafür, dass ein einzelner Aufruf den Dienst nicht minutenlang belegen kann. Braucht Ihre Last mehr, teilen Sie sie auf oder schreiben Sie uns.

Häufige Fragen

Mit welcher Sprache kann ich integrieren?

Mit jeder Sprache, die eine HTTP-Anfrage stellen kann. Sie können außerdem unser OpenAPI-3.0-Dokument herunterladen und in den meisten Sprachen einen typisierten Client erzeugen; das ist der Unterschied zwischen einer Integration von Stunden und einer von Tagen.

openapi/v1.json herunterladen

Wie funktioniert die Abrechnung?

Die API gehört zu den kostenpflichtigen Tarifen; Live-Aufrufe erfordern ein Credit-Paket, das sich jede Periode erneuert. Nicht genutzte Credits verfallen. Zum Ausprobieren braucht es keine Credits: Ein Testschlüssel erlaubt 25 Aufrufe pro Monat.

Rückerstattungsrichtlinie

Wie werden meine Schlüssel geschützt?

Ein Schlüssel wird nur einmal bei der Erstellung angezeigt; in der Datenbank liegt nur ein verschlüsselter Hashwert. Schlüssel gehören dem Team und nicht einer Person, Ihre Integration läuft also weiter, auch wenn die einrichtende Person das Team verlässt. Geben Sie jeder Integration einen eigenen Schlüssel; bei Verdacht auf ein Leck widerrufen Sie dann nur diesen einen und die anderen laufen weiter.

Datenschutzerklärung

Was, wenn ich dieselbe Anfrage versehentlich zweimal sende?

Senden Sie einen Idempotency-Key-Header mit einem Wert, den Sie je logischer Anfrage erzeugen. Ein Wiederholungsversuch mit demselben Schlüssel und demselben Rumpf liefert den ursprünglichen Auftrag, statt einen zweiten zu öffnen. Derselbe Schlüssel mit einem anderen Rumpf wird abgelehnt: die frühere Antwort stillschweigend zurückzugeben, würde Sie auf Arbeit warten lassen, die nie eingereiht wurde.

Setzt ein abgebrochener Auftrag dort fort, wo er stehen blieb?

Nein, und es ist richtig, das klar zu sagen. Die Suche ist eine einzige Berechnung, ein Zwischenstand wird nicht gespeichert; ein gescheiterter Auftrag läuft von vorn. Die Auftragskennung bringt Ihnen keine Fortsetzung, sondern die Gewissheit, dass das Ergebnis nicht verloren geht.

Sehe ich die Ergebnisse auch in der Oberfläche?

Über die API geöffnete Aufträge sind eigenständig und werden nicht in Ihre Projektliste aufgenommen; das Ergebnis kommt direkt in der Antwort. API-Aufrufe verbrauchen Credits und keine Plätze, sie wirken sich also nicht auf die Plätze der Teammitglieder aus, die die Oberfläche nutzen.