Zum Inhalt springen

In EntwicklungBald verfügbar

Docs

REST-API + MCP — alles dokumentiert.

OpenAPI-3.1-Spec, 16 Base-Tools, DSGVO-Webhooks, Rate-Limits pro Plan. Die Referenz für Shops, die PackMate in den eigenen Stack integrieren.

Quickstart

Fünf Minuten bis zur ersten Anfrage

Vom Install zum ersten authentifizierten API-Call. Funktioniert für REST und MCP — gleicher Key, gleiche Tools, andere Transports.

  1. 1

    PackMate in Shopify installieren

    Klick „Installieren" im App Store. PackMate läuft in jedem Plan, also kannst du mit Free starten.

  2. 2

    API-Key generieren

    Einstellungen → API & MCP → Key generieren. Keys haben Prefix pm_live_ oder pm_test_ für Sandbox.

    pm_live_4f3a8b9c2d1e...
  3. 3

    Erste Anfrage stellen

    Nutz curl, fetch oder einen beliebigen HTTP-Client. Der X-API-Key Header authentifiziert jede Anfrage.

    curl https://packmate.shop/api/v1/health \
      -H 'X-API-Key: pm_live_…'
  4. 4

    Nächster Schritt: MCP verbinden

    Wenn du KI-Integration willst, funktioniert derselbe Key für den MCP-Server. Siehe /ai für Claude / ChatGPT-Setup.

Authentifizierung

API-Keys, Scopes, Rotation

PackMate nutzt API-Keys mit dem X-API-Key Header. Keys werden SHA-256 at Rest gehashed, sind Shop-scoped und können in einem Klick rotiert werden.

Key-Format

Zwei Prefixe: pm_live_ für Produktion, pm_test_ für Sandbox. Body sind 32 Zeichen Base62, der Prefix ist Klartext zur visuellen Identifikation.

pm_live_4f3a8b9c2d1e7f6a5b4c3d2e1f0a9b8c

Header-Format

Sende den Key im X-API-Key Header bei jeder Anfrage. Bearer-Token im Authorization Header wird auch akzeptiert.

X-API-Key: pm_live_…
# oder
Authorization: Bearer pm_live_…

Rotation

Generiere einen neuen Key im Admin, tausch ihn im Client, dann revoke den alten. PackMate unterstützt bis zu 5 aktive Keys pro Shop für gestaffelte Rotationen.

DELETE /api/v1/keys/:key_id
Response: 204 No Content

Scopes

Keys haben standardmäßig Voll-Read+Write. Scoped Keys (read-only, label-only) sind auf der Roadmap — bis dahin nutz Shopify-Staff-Permissions, um zu limitieren, wer Keys generiert.

scope: read_only | label_only | full
# (read_only und label_only kommen Q3 2026)
Rate-Limits

Limits skalieren mit deinem Plan

Per-Minute und Burst-Limits. Bursts werden via Token-Bucket geglättet — kurze Spikes werden nicht geblockt. Custom-Pläne verhandeln eigene Limits.

PlanReq / minBurstParallel
Free601205
Basic12024010
Pro30060025
Business600120050
Customneg.neg.neg.
Wischen für mehr

Wenn du das Limit erreichst, bekommst du eine 429-Response mit Retry-After Header. Der Header sagt dir, wie viele Sekunden zu warten sind.

Error-Codes

Was es bedeutet, wenn was schiefgeht

Standard HTTP-Semantik mit PackMate-spezifischen Error-Bodies. Jeder Error enthält ein maschinenlesbares code-Feld und eine menschenlesbare Message.

CodeBedeutungAktion
400
Bad Request — Body oder Query ist fehlerhaftPrüf die Request-Form gegen die OpenAPI-Spec.
401
Unauthorized — fehlender oder ungültiger API-KeySende X-API-Key Header mit einem gültigen pm_live_ oder pm_test_ Key.
402
Payment Required — Plan-Cap erreichtUpgrade Plan oder warte bis zum nächsten Abrechnungszyklus. Nutz Bulk-Reconciliation nach Upgrade.
403
Forbidden — Feature nicht in deinem PlanAktuell ist nur query_carrier_rates plan-gegated (Custom only).
404
Not Found — Ressource existiert nichtVerifizier die ID. Für Bestellungen: die Order ist evtl. noch nicht synced.
422
Unprocessable — semantische Validierung fehlgeschlagenLies die error.message — typischerweise fehlende Maße oder ungültiges Material.
429
Too Many Requests — Rate-Limit erreichtBack-off via Retry-After Header. Siehe Rate-Limits-Tabelle oben.
500
Internal Error — Bug auf unserer SeiteRetry einmal, dann Email an support@packmate.shop mit der request_id aus dem Error-Body.
503
Service Unavailable — Wartung oder DB-IssueRetry mit exponentiellem Backoff. Status-Page unter status.packmate.shop.
Wischen für mehr
Client-Fehler (4xx)Server-Fehler (5xx)
Webhooks

DSGVO + Lifecycle Webhooks

PackMate registriert sechs Shopify-Webhooks. Vier sind DSGVO-Pflicht; zwei sind operativ. Alle Payloads sind mit HMAC-SHA256 signiert — verifizier vor Verarbeitung.

customers/redactPflicht

Customer hat Datenlöschung beantragt. PackMate anonymisiert Customer-bezogene Pack-Historie binnen 30 Tagen.

customers/data_requestPflicht

Customer hat Datenexport beantragt. PackMate kompiliert den Export binnen 30 Tagen.

shop/redactPflicht

Shopify schickt das rund 48 Stunden nach der Deinstallation. PackMate löscht dann alle Daten des Shops aus seiner Datenbank.

app/uninstalledPflicht

Die App wurde deinstalliert. PackMate markiert den Shop als deinstalliert, widerruft seine API-Schlüssel und beendet das Abo. Gelöscht werden die Daten mit shop/redact.

products/updateOptional

Produkt hat sich geändert — PackMate aktualisiert gecachte Maße und Metafields.

app/scopes_updateOptional

Pflicht-Scopes haben sich geändert — PackMate fordert den Händler auf, neu zu autorisieren.

Alle Webhooks mit HMAC-SHA256 via deinem App-Secret signiert. Verifizier den X-Shopify-Hmac-SHA256 Header vor Verarbeitung.

Bereit zur Integration? Generier einen Key.

Installier PackMate, generier einen API-Key, mach deine erste Anfrage — alles in unter fünf Minuten.