SHOPIFY VERSAND-API

Karls Versand-API für ERP und WMS

REST-API ab dem Enterprise-Plan: Bestellungen lesen, Live-Tarife vergleichen und Labels programmatisch erstellen, direkt aus deinem ERP oder WMS. Mit dry_run validierst du eine Bestellung vollständig, ohne echtes Porto zu kaufen; der Idempotency-Key verhindert Doppel-Labels bei Retries.

Was die Karl-API für dein System übernimmt

  1. Trockenlauf vor jedem Label (dry_run)

    Mit dry_run validiert dein System eine Bestellung vollständig (Adresse, Paketmaße, Zoll-Pflichtdaten), ohne echtes Porto zu kaufen und ohne ein Label zu erzeugen. Fehler fängst du vor dem Commit ab, statt fehlerhafte Labels wieder zu stornieren.

  2. Idempotency-Key gegen Doppel-Labels

    Jeder Label-Aufruf trägt einen Idempotency-Key. Läuft ein Retry nach einem Timeout, bekommst du dasselbe Ergebnis zurück, kein zweites Label, keine zweite Gebühr. Ein neuer Key erzeugt bewusst ein neues Label; ein Key ist an genau eine Bestellung gebunden.

  3. Bestellungen lesen, Tarife vergleichen, Labels erstellen

    Offene Bestellungen abrufen, Live-Tarife aller angebundenen Carrier inklusive Smart-Routing-Empfehlung vergleichen und Labels programmatisch erstellen, per REST/JSON mit Bearer-Token. Das erstellte Label landet automatisch im Shopify-Fulfillment, Tracking geht an den Kunden.

  4. Sendungsstatus per Tracking, dokumentiert per openapi.json

    Ein Aufruf mit der Tracking-Nummer liefert normalisierten Status und voraussichtliches Zustelldatum, ideal, um Bestellungen im WMS als unterwegs oder zugestellt zu markieren. Die komplette Schnittstelle liegt maschinenlesbar als openapi.json vor.

Was die Karl-API kann

API-Funktion Karl
REST/JSON-API mit Bearer-Token-Authentifizierung Ja
dry_run: Bestellung vollständig validieren, ohne echtes Porto zu kaufen Ja
Idempotency-Key: kein Doppel-Label bei Retries Ja
Bestellungen auflisten und einzeln lesen Ja
Live-Tarife aller angebundenen Carrier vergleichen, inkl. Smart-Routing-Empfehlung Ja
Volumengewicht je Tarif-Option ausgewiesen Ja
Labels programmatisch erstellen: automatisch im Shopify-Fulfillment hinterlegt Ja
Silent-Druck über den Print-Companion oder Label-PDF (base64) selbst drucken Ja
Sendungsstatus + voraussichtliches Zustelldatum per Tracking-Nummer Ja
Standardpaket per API lesen und setzen Ja
Maschinenlesbare openapi.json zur Client-Generierung Ja

Versand-API ist ein Enterprise-Feature und setzt einen mit Karl verbundenen Shopify-Shop voraus.

Häufige Fragen zur Karl-API

Was setzt die Karl-API voraus?

Die API ist ein Enterprise-Feature und setzt einen mit Karl verbundenen Shopify-Shop voraus. Sie liest deine Shopify-Bestellungen und schreibt das Fulfillment inklusive Tracking zurück, sie erweitert deinen Shop, sie ersetzt ihn nicht. Den API-Key erstellst du in Karl unter Einstellungen → API-Zugang.

Wie authentifiziere ich mich?

Jeder Request trägt den Header Authorization: Bearer <API-Key>. Der Key (karl_live_…) wird beim Erstellen genau einmal im Klartext angezeigt. Karl speichert nur einen Hash. Der Key gehört ausschließlich auf deinen Server, nie ins Frontend oder in öffentlichen Code.

Was macht dry_run genau?

dry_run validiert eine Bestellung vollständig (inklusive Adresse, Paketmaße und Zoll-Pflichtdaten), ohne echtes Porto zu kaufen und ohne ein Label zu erzeugen. So prüft dein System den Versand vorab und fängt Fehler ab, bevor Kosten entstehen.

Wie verhindert der Idempotency-Key Doppel-Labels?

Der Label-Endpoint verlangt einen Idempotency-Key pro Versuch. Sendest du nach einem Timeout denselben Key erneut, bekommst du das Ergebnis des ersten Versuchs zurück, kein zweites Label, keine zweite Gebühr. Ein neuer Key erzeugt bewusst ein neues Label; ein Key ist an genau eine Bestellung gebunden.

Kann ich programmatisch drucken?

Ja. Mit print: companion legt Karl das Label in die Druck-Queue, und der Print-Companion am Versand-PC druckt es ohne Dialog. Ohne Companion nutzt du print: none und bekommst das Label als PDF (base64) zurück, das du selbst druckst.

Gibt es eine maschinenlesbare Schnittstellenbeschreibung?

Ja. Die komplette API liegt als openapi.json vor. Damit generierst du Clients und Typen direkt aus der Spezifikation, statt sie von Hand nachzubauen.

Mehr entdecken

Karl ohne Grundgebühr starten

Karl ist im Shopify App Store verfügbar: Start hat keine Grundgebühr, du zahlst nur je Label (Versand im Inland). Jeder Tarif startet mit einer Testphase: 14 Tage kostenlos inklusive Labelerstellung. Der Carrier rechnet weiterhin direkt mit dir ab.

Im Shopify App Store installieren →