Shipping Partner API · v1

Pigee Shipping Partner API

Integrieren Sie Live-Multi-Carrier-Versand, automatisierte Zollanmeldung, Echtzeit-Tracking und Zahlungserfassung in Ihre eigenen Systeme – mit einer einzigen REST API. Geeignet für Versanddienstleister, 3PLs, E-Commerce-Plattformen und kundenspezifische Erfüllungsintegration.

REST
JSON
190+ Länder
200+ Spediteure
135+ Währungen

Live-Multi-Carrier-Tarife

DHL, FedEx, UPS, Aramex, Parcelforce und 200+ lokale Kurierdienste – alle in einem POST. Gibt sortierte Tarife mit Lieferzeit und Gesamtkosten zurück.

🤖

KI-Zollautomation

Klassifiziert automatisch HS-Codes aus Ihrem Produktkatalog. Handelsrechnungen, Zollanmeldungen und Gebühren werden pro Zielland berechnet.

💳

Pigee Pay-Zahlungserfassung

Teilen Sie einen Zahlungslink oder integrieren Sie Checkout. Sammeln Sie Zahlungen von Endkunden in 135+ Währungen und überweisen Sie auf Ihr Bankkonto in Ihrer lokalen Währung.

📡

Echtzeit-Webhooks

Empfangen Sie shipment.created, payment.received, parcel.delivered und weitere Events sofort an Ihren Endpoint übermittelt.

🏷️

Etiketten & Rechnungen

PDF-Etiketten und Handelsrechnungen werden automatisch bei der Bestellerstellung erstellt. Keine Spediteur-Portale erforderlich.

💰

Benutzerdefinierte Servicegebühren

Addieren Sie Ihren eigenen prozentualen oder Pauschalgebühren-Aufschlag auf Pigee-Basistarife pro Spediteur, pro Route oder global.

Schnellstart

Von der Kontoerstellung bis zu Ihrer ersten Live-Sendung in weniger als einer Stunde. Folgen Sie diesen fünf Schritten:

  1. Erstellen Sie ein kostenloses Pigee-Konto unter account.pigeepost.com und wählen Versandpartner als Kontotyp.
  2. Gehen Sie zu Dashboard → Developer → API-Schlüssel und generieren Sie einen Live-Schlüssel und einen Test-Schlüssel.
  3. Wählen Sie Ihren Zahlungsmodus: Pigee Pay oder Pigee Account Balance.
  4. Konfigurieren Sie Ihre Servicegebühr in Dashboard → Gebühren.
  5. Importieren Sie die Postman-Sammlung für Staging-Entwicklung.
💡
Tipp: Die Postman-Sandbox spiegelt die Produktion mit synthetischen Spediteuren, Zollereignissen und Zahlungen wider. Es werden keine echten Gebühren erhoben.

Authentifizierung

Jede Anfrage muss Ihren API-Schlüssel im Authorization Header als Bearer Tokenenthalten. Schlüssel sind auf Ihr Partnerkonto begrenzt und beinhalten Ihre Gebührenkonfiguration und Ihren Zahlungsmodus.

HTTP-Header
Authorization: Bearer pgk_live_YOUR_API_KEY_HERE

Schlüsseltypen

PräfixUmgebungBeschreibung
pgk_live_…LIVEEchte Sendungen und echte Gebühren.
pgk_test_…TESTNur Sandbox. Keine Gebühren, synthetische Carrier-Antworten, sicher für CI/CD.
⚠️
Sicherheit: Geben Sie Ihren API-Schlüssel niemals client-seitig oder in öffentlichen Repositories preis. Kompromittierte Schlüssel müssen sofort von Ihrem Dashboard aus regeneriert werden.

Umgebungen & Basis-URLs

Produktionhttps://api.pigeepost.comLIVE
Sandboxhttps://sandbox.api.pigeepost.comTEST

Die Sandbox ist ein vollständiger 1:1-Spiegel der Produktion. Wechseln Sie zwischen Umgebungen durch Austausch Ihres Schlüsselpräfix oder verwenden Sie die explizite Sandbox-URL für Klarheit.

ℹ️
API-Version: Alle Endpunkte befinden sich derzeit auf v1. Die Version ist Teil des Pfads: /api/v1/….

SDKs & Bibliotheken

Offizielle SDKs wrappen die REST-API mit typisierten Modellen, automatischen Wiederholungen und Sandbox-Helfern.

🟨 JavaScript / Node.js
🐍 Python
🐘 PHP
📱 iOS Swift
🤖 Android Kotlin
🛒 WooCommerce-Plugin
🛍️ Shopify-App
📮 Postman-Sammlung

API-Schlüssel validieren

Rufen Sie diesen Endpunkt auf, um zu bestätigen, dass Ihr API-Schlüssel aktiv ist und richtig konfiguriert ist, bevor Sie live gehen.

POST/api/v1/store/valid200 OK
Validiert Ihren API-Schlüssel und gibt Details zum Partner-Konto zurück.
Anfrage
POST /api/v1/store/valid
Authorization: Bearer pgk_live_…
Content-Type: application/json

{
  "store_type": 2,
  "api_key": "pgk_live_YOUR_KEY"
}
Antwort 200
{
  "valid": true,
  "account": {
    "id": "acc_7H4K",
    "type": "shipping_partner",
    "payment_mode": "pigee_pay",
    "service_fee_pct": 8.5,
    "balance_gbp": 240.00
  }
}

Versandraten abrufen

Aktuelle Kuriere Tarife für eine Sendung abrufen. Gibt alle verfügbaren Services sortiert nach Preis zurück, einschließlich Transportzeit, Versicherungswertunterstützung und Endkosten.

POST/api/v1/store/order/getcarriercost200 OK
Gibt ein Array von verfügbaren Kurier-Optionen mit Preisen, Transportzeitschätzungen und carrier_request_id für die Bestellung zurückgeben.
Anfragekörper
{
  "shop_url": "https://your-store.com",
  "currency": "GBP",
  "parcel": {
    "type": "Box",
    "boxsize": 4
  },
  "weight": { "value": 4, "units": "kg" },
  "dimension": {
    "length": 40,
    "width": 30,
    "height": 20,
    "units": "cms"
  },
  "address": {
    "pickup": {
      "address_line1": "10 High Street",
      "town": "London",
      "post_code": "SW1A 1AA",
      "country": "United Kingdom"
    },
    "destination": {
      "address_line1": "123 Ocean Drive",
      "town": "Miami",
      "post_code": "33101",
      "country": "United States"
    }
  }
}
Antwort 200
{
  "rates": [
    {
      "carrier_request_id": "cr_abc123",
      "carrier_id": "dhl",
      "pigee_carrier_id": "DHL_EXPRESS_WORLDWIDE",
      "method_title": "DHL Express Worldwide",
      "price": 125.50,
      "currency": "GBP",
      "transit_days": 2,
      "insurance_available": true,
      "customs_included": true
    }
  ],
  "currency": "GBP",
  "request_id": "req_7H4K2026"
}

Anfrageparameter

FeldSchriftErforderlichBeschreibung
shop_urlstringerforderlichDie URL Ihres Geschäfts oder Ihrer Plattform.
currencystringerforderlichISO 4217-Währungscode.
parcel.typestringerforderlichBox | Bag | Tube | Pallet
parcel.boxsizeintegererforderlichGrößenklasse 1 bis 6.
weight.valuenumbererforderlichTatsächliches Gewicht der Sendung.
weight.unitsstringerforderlichkg | lbs
dimensionobjectoptionalLänge, Breite, Höhe und Einheiten.
address.pickupobjecterforderlichAbsenderadresse.
address.destinationobjecterforderlichEmpfängeradresse.

Bestellung erstellen

Eine Pigee-Bestellung mit einem carrier_request_id vom Rates-Endpoint. Pigee generiert das Versandetikett, die Handelsrechnung und bei Verwendung von Pigee Pay einen gehosteten Zahlungslink.

ℹ️
Zahlungsart wird in Ihrem Dashboard festgelegt, nicht in dieser Anfrage.
POST/api/v1/store/order/create200 OK
Erstellt eine Sendung und gibt eine Pigee-Bestellnummer, eine Etikett-URL und bei Bedarf einen gehosteten Zahlungslink zurück.
Anfragekörper
{
  "order_from": "api",
  "shop_url": "https://your-store.com",
  "order_id": "ORDER-10001",
  "currency": "GBP",
  "items": [
    {
      "name": "Vintage leather jacket",
      "quantity": 1,
      "value": 600.00,
      "currency": "GBP",
      "hs_code": "4203100090"
    }
  ],
  "shippingData": {
    "method_title": "DHL Express Worldwide",
    "cost": 125.50,
    "currency": "GBP",
    "meta_data": {
      "carrier_request_id": "cr_abc123",
      "carrier_id": "dhl",
      "pigee_carrier_id": "DHL_EXPRESS_WORLDWIDE"
    }
  }
}
Antwort 200
{
  "order_id": "po_78910",
  "pigee_order_id": "PGE-7H4K-2026-0042",
  "status": "pending_payment",
  "payment_url": "https://pay.pigee.com/c/abc123",
  "label_url": null,
  "tracking_number": null
}

Bestellung erfüllen

Senden Sie die endgültigen Erfüllungsdetails nach Zahlungsbestätigung. Pigee generiert das Versandetikett, bucht den Spediteur und gibt eine Trackingnummer zurück.

POST/api/v1/store/order/fulfill200 OK
Löst die Etikettenerstellung und die Spediteursbuchung aus.
Anfragekörper
{
  "order_id": "po_78910",
  "status": "processing",
  "shop_id": "https://your-store.com",
  "currency": "GBP",
  "total": 725.50,
  "shipping_total": 125.50
}
Antwort 200
{
  "order_id": "po_78910",
  "pigee_order_id": "PGE-7H4K-2026-0042",
  "status": "booked",
  "label_url": "https://labels.pigeepost.com/PGE-7H4K-2026-0042.pdf",
  "tracking_number": "1234567890",
  "carrier": "DHL",
  "estimated_delivery": "2026-05-08"
}

Verfolgung

Rufen Sie Live-Trackingereignisse für jede über die API erstellte Sendung ab.

GET/api/v1/tracking/{pigee_order_id}200 OK
Gibt die normalisierte Tracking-Historie für eine Sendung zurück.
Antwort 200
{
  "pigee_order_id": "PGE-7H4K-2026-0042",
  "tracking_number": "1234567890",
  "carrier": "DHL",
  "status": "in_transit",
  "estimated_delivery": "2026-05-08",
  "events": [
    {
      "timestamp": "2026-05-06T08:14:00Z",
      "status": "in_transit",
      "location": "DHL Hub, Leipzig",
      "description": "Shipment in transit"
    }
  ]
}

Zahlungsmodi

Pigee unterstützt zwei Zahlungsarten. Die aktive Zahlungsart wird in Ihrem Partner-Dashboard festgelegt und gilt für alle Bestellungen.

ModusSo funktioniert'sIdeal für
Pigee PayPigee hostet eine Checkout-Seite. Die Bestellungserstellung gibt einen payment_url.E-Commerce- und Marketplace-Integrationen.
KontoguthabenDie Versandkosten werden von Ihrem vorgefüllten Pigee-Guthaben abgezogen.Spediteure, 3PLs und Partner mit hohem Volumen.

Servicegebühren

Als Versandpartner können Sie eine eigene Gebühr auf die Basistarife von Pigee aufschlagen. Gebühren werden in Ihrem Dashboard konfiguriert und vor der Tarifabfrage automatisch angewendet.

  • Prozentuale Gebühr: Wird als Prozentsatz der Basistarifen des Spediteurs berechnet.
  • Pauschale Gebühr: Ein Pauschalbetrag, der pro Sendung hinzugefügt wird.
  • Übersteuerungen pro Strecke: Überschreiben Sie die globale Gebühr für bestimmte Versand-/Lieferpaarungen.

Abrechnungen & Wechselkurs

Pigee Pay nimmt von Endbenutzern in 135+ Währungen an und zahlt auf Ihr Bankkonto in Ihrer Landeswährung aus.

  • Der Auszahlungszyklus beträgt normalerweise T+2 Geschäftstage nach Bestätigung der Sendungslieferung.
  • Heben Sie Ihr Pigee-Guthaben über das Dashboard ab.
  • Detaillierte Transaktionsprotokolle sind verfügbar unter Finanzen → Abrechnungen.
  • Rechnungen für abgerechnete Transaktionen werden automatisch erstellt und sind als PDF verfügbar.

Webhooks

Pigee sendet Echtzeitevents als JSON an Ihren HTTPS-Endpoint POST Anfragen. Konfigurieren Sie Ihre Webhook-URL unter Dashboard → Entwickler → Webhooks.

Beispiel-Webhook-Payload
{
  "event": "parcel.delivered",
  "created_at": "2026-05-08T14:22:07Z",
  "api_version": "v1",
  "data": {
    "pigee_order_id": "PGE-7H4K-2026-0042",
    "order_id": "ORDER-10001",
    "carrier": "DHL",
    "tracking_number": "1234567890",
    "delivered_at": "2026-05-08T14:18:00Z"
  }
}

Webhook-Event-Referenz

shipment.createdBestellung bestätigt, Beförderer gebucht, Etikett generiert.shipment
payment.receivedKunde hat Pigee Pay abgeschlossen.payment
payment.failedPigee Pay Checkout abgelaufen oder abgelehnt.payment
parcel.collectedBeförderer hat das Paket vom Absender abgeholt.tracking
parcel.in_transitPaket an einem Umschlagzentrum gescannt.tracking
parcel.customs_holdPaket von Zoll einbehalten.customs
parcel.customs_clearedZollabfertigung abgeschlossen.customs
parcel.out_for_deliveryPaket auf Fahrzeug der letzten Meile geladen.tracking
parcel.deliveredZustellung bestätigt.tracking
parcel.delivery_failedZustellversuch fehlgeschlagen.tracking
parcel.returnedPaket an Absender zurückgesendet.tracking
settlement.completedGelder auf Ihr Bankkonto überwiesen.payment

Webhook-Signaturen

Jede Webhook-Anfrage enthält einen X-Pigee-Signature Header, einen HMAC-SHA256-Digest des rohen Request-Body. Überprüfen Sie diesen immer vor der Verarbeitung.

Node.js-Verifizierungsbeispiel
// Node.js
const crypto = require('crypto');

function verifyPigeeWebhook(rawBody, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(rawBody)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(expected, 'hex'),
    Buffer.from(signature, 'hex')
  );
}
⚠️
Verwendung Timing-sichere Vergleiche um Timing-Angriffe zu verhindern. Lehnen Sie jeden Webhook ab, bei dem die Signatur nicht übereinstimmt.

Fehler

Alle Fehler geben JSON mit einem error Objekt zurück, das einen maschinenlesbaren code und einen benutzerfreundlichen message.

Fehlerantwort
{
  "error": {
    "code": "INSUFFICIENT_BALANCE",
    "message": "Your Pigee partner balance is not sufficient to create this shipment.",
    "request_id": "req_7H4K2026"
  }
}
HTTPFehlercodeBedeutung und Auflösung
400INVALID_REQUESTFeld fehlt oder ist fehlerhaft.
401INVALID_API_KEYSchlüssel fehlt, ist fehlerhaft oder wurde widerrufen.
402INSUFFICIENT_BALANCEKontoguthaben zu niedrig.
403FORBIDDENDer Kontotyp hat keinen Zugriff auf diesen Endpunkt.
404ORDER_NOT_FOUNDKeine Bestellung für die angegebene ID gefunden.
409BESTELLUNG_BEREITS_ERFUELLTBestellung bereits erfüllt.
422UNGUELTIGE_ADRESSEAdresse konnte nicht validiert werden.
422VERTRAEGER_NICHT_VERFUEGBARKeine Versanddienstleister für diese Route verfügbar.
422SATZ_ABGELAUFENcarrier_request_id abgelaufen. Tarife erneut abrufen.
429RATE_LIMIT_UEBERSCHRITTENZu viele Anfragen. Warten und erneut versuchen.
500INTERNER_FEHLERFehler auf Pigee-Seite. Erneut versuchen mit Backoff.
503VERTRAEGER_ZEITABLAUFAPI des nachgelagerten Versanddienstleisters hat Zeitüberschreitung überschritten.

Rate Limits

Anfragenlimits werden pro API-Schlüssel angewendet und skalieren mit Ihrem Kontotyp.

KontotypAnfragen / MinuteAnfragen / Tag
Kostenlos testen601,000
Versandpartner live30050,000
EnterpriseMaßgeschneidertMaßgeschneidert

Wenn ein Anfragelimit erreicht wird, gibt die API zurück HTTP 429 mit einem Retry-After Header.

Datentypen und Konventionen

  • Datumsangaben und Zeiten - ISO 8601 UTC, z. B. 2026-05-06T14:22:07Z
  • Währungen - ISO 4217 dreistellige Codes, z. B. GBP, USD, NGN
  • Geldbeträge - number mit zwei Dezimalstellen, immer kombiniert mit einem currency Feld
  • Ländernamen - Englische Vollnamen, z. B. "United Kingdom", "United States"
  • Telefonnummern - E.164-Format empfohlen, z. B. +447700900123
  • Gewichte - kg oder lbs je nach Anfrage angegeben
  • IDs - Von Pigee generierte IDs verwenden Präfixformat, z. B. po_78910, cr_abc123

Referenz der Spediteur-IDs

Verwendung pigee_carrier_id Werte aus der Ratenabfrage beim Erstellen von Aufträgen.

carrier_idBeispiel pigee_carrier_idRegion
dhlDHL_EXPRESS_WORLDWIDE, DHL_EXPRESS_12Global
fedexFEDEX_INTERNATIONAL_PRIORITY, FEDEX_INTERNATIONAL_ECONOMYGlobal
upsUPS_WORLDWIDE_EXPRESS, UPS_WORLDWIDE_EXPEDITEDGlobal
aramexARAMEX_EXPRESS, ARAMEX_ECONOMYMENA, Afrika, Asien
parcelforcePARCELFORCE_EXPRESS24, PARCELFORCE_GLOBAL_EXPRESSUK & International
teleportTELEPORT_STANDARDSüdostasien
local_*local_5b3, local_8acRegional, dynamisch zurückgegeben

Changelog

v1.3 - Mai 2026

  • Hinzugefügt insurance_available und customs_included Flags-zu-Sätze-Antwort.
  • Webhook-Signaturverifizierung verwendet jetzt HMAC-SHA256.
  • Neuer Fehlercode RATE_EXPIRED.
  • Tracking-Endpoint hinzugefügt: GET /api/v1/tracking/{pigee_order_id}.

v1.2 - Februar 2026

  • Gebührenschlüsselungs-Außerkraftsetzungen im Dashboard hinzugefügt.
  • Pigee Pay-Zahlungslinks enthalten jetzt einen expires_at Feld.
  • Neue Webhook-Ereignisse für Zoll und Abrechnungen hinzugefügt.

v1.1 - Oktober 2025

  • Erste Postman-Collection veröffentlicht.
  • Sandbox-Umgebung gestartet.
  • Kontostand-Zahlungsmodus veröffentlicht.

v1.0 - Juni 2025

  • Erste öffentliche Version: Validieren, Sätze abrufen, Bestellung erstellen, Bestellung erfüllen.
🚀 SEO von Pigee