Dokumentiere Shopify Client-Credentials Authentifizierung

This commit is contained in:
2026-08-12 16:37:03 +02:00
parent 7e59d22872
commit acdfdeff24
2 changed files with 26 additions and 18 deletions
@@ -24,14 +24,15 @@ Es werden keine vorbereiteten Geschäftsdaten an nachgelagerte Prozesse übergeb
## 4. Exakter Prozessablauf
1. HTTP-Methode und erforderliche Shopify-Header validieren.
2. HMAC-Signatur mit dem konfigurierten Shopify-App-Secret prüfen.
2. HMAC-Signatur mit dem konfigurierten Shopify-Client-Secret prüfen.
3. JSON-Body als technisches Eingangsdokument validieren.
4. Webhook-ID idempotent gegen bereits verarbeitete Eingänge prüfen.
5. Technischen Eingang mit Topic, Shop-Domain, Shopify-Webhooks-ID und Payload-Hash speichern.
6. Shopify Order-GID aus dem Ereignis oder durch den definierten Shopify-Read-Schritt bestimmen.
7. Nur die stabile Ereignis-/Order-Identität an das owning Bestellmodul übergeben.
8. Keine Shopify-Mutation, keine Fulfillment-Aktion, keine Label-Aktion, kein n8n-Versand und kein Klaviyo-Event auslösen.
9. Technischen Lauf mit kompaktem Ergebnis abschliessen.
6. Für definierte Shopify-Read-Schritte einen kurzlebigen Admin-API-Token über den Client-Credentials-Flow beziehen; der Token wird ausschließlich serverseitig verwendet.
7. Shopify Order-GID aus dem Ereignis oder durch den definierten Shopify-Read-Schritt bestimmen.
8. Nur die stabile Ereignis-/Order-Identität an das owning Bestellmodul übergeben.
9. Keine Shopify-Mutation, keine Fulfillment-Aktion, keine Label-Aktion, kein n8n-Versand und kein Klaviyo-Event auslösen.
10. Technischen Lauf mit kompaktem Ergebnis abschliessen.
Read sources:
@@ -39,6 +40,13 @@ Read sources:
- Shopify-API nur read-only, sofern für die Ereignisidentität erforderlich
- eigene technische Importzustandsdaten
Authentifizierung:
- Die interne Dev-Dashboard-App nutzt den Shopify-Client-Credentials-Flow.
- `SHOPIFY_CLIENT_ID`, `SHOPIFY_CLIENT_SECRET` und `SHOPIFY_SHOP` werden ausschließlich aus der serverseitigen DEV-Konfiguration gelesen.
- Admin-API-Tokens werden nicht im Repository, nicht im Frontend und nicht im Response gespeichert.
- Ein interaktiver OAuth-Callback ist für dieses API-only-Ziel nicht Teil des Zielprozesses.
Public endpoint:
- `POST https://erpnaurua.imhochrain.ch/api/shopify/webhooks.php`
@@ -120,6 +128,7 @@ Keine Rohpayloads, Kundendaten oder Geschäftsdatasets werden im Response-Payloa
- Prozess und Sub-Prozesse sind dokumentiert.
- Endpoint validiert Shopify-HMAC und Pflichtheader.
- Server kann für read-only Shopify-Abfragen einen Client-Credentials-Token beziehen.
- Duplicate-Webhook ist idempotent.
- technische Eingangsdaten und Prozesslauf sind nachvollziehbar.
- die Bestellübergabe bleibt auf stabile Identitäten begrenzt.