Externer Endpunkt für ERP-/WMS-/Middleware-Systeme, um Capture/Void/Refund auszulösen, ohne den OXID-Admin zu nutzen. Das Freischalten und die Secret-Generierung selbst macht der Kunde im Admin (siehe Konfiguration) — hier die technische Schnittstellen-Referenz für die Anbindung.
Endpunkt: POST index.php?cl=mmd_riverty_integration_api
Auth: Header X-Riverty-Integration-Secret gegen das im Admin konfigurierte Secret (timing-safe Vergleich).
Request-Body:
{
"type": "capture",
"orderNumber": "2026070001",
"mode": "partial",
"items": [{"sku": "ART-001", "quantity": 1}],
"idempotencyKey": "erp-job-48213"
}
type: capture, void oder refund (Aliase cancel/cancellation für void). orderId ODER orderNumber erforderlich. mode: full oder partial (Default: partial). idempotencyKey: optional, verhindert Doppel-Ausführung bei Retries.
Response-Codes:
| Code | Bedeutung |
|---|---|
| 200 | Erfolg |
| 400 | Ungültiges JSON oder Validierungsfehler |
| 401 | Secret fehlt oder falsch |
| 403 | Integration API deaktiviert |
| 409 | Idempotency-Key wird gerade verarbeitet |
| 422 | Idempotency-Key mit abweichendem Request-Body wiederverwendet |
| 503 | Secret nicht konfiguriert |
| 500 | Unerwarteter Fehler |
Void hat über die Integration API keine Teilmengen-Variante — nur vollständiges Void. Capture und Refund unterstützen
mode: "partial".
| Command | Beschreibung |
|---|---|
oe-console oe:riverty:cleanup |
Räumt abgelaufene API-Logs, verwaiste Idempotency-Keys und abgelaufene Pending-Transaktionen auf (Aufbewahrungsfristen werden vom Kunden im Admin konfiguriert, siehe Konfiguration) |
Option --dry-run zeigt betroffene Zeilenzahlen, ohne zu löschen.
Empfohlener Cronjob:
0 3 * * * cd /var/www/html && vendor/bin/oe-console oe:riverty:cleanup >> /var/log/riverty-cleanup.log 2>&1
Beispiel 1 — Teil-Refund per Integration API:
curl -X POST "https://shop.example.com/index.php?cl=mmd_riverty_integration_api" \
-H "X-Riverty-Integration-Secret: <secret>" \
-H "Content-Type: application/json" \
-d '{
"type": "refund",
"orderNumber": "2026070001",
"mode": "partial",
"items": [{"sku": "ART-001", "quantity": 1}],
"captureNumber": "CAP-123",
"idempotencyKey": "erp-refund-9911"
}'
Beispiel 2 — Cronjob im Dry-Run testen, bevor er scharf geschaltet wird:
vendor/bin/oe-console oe:riverty:cleanup --dry-run