Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.getovra.com/llms.txt

Use this file to discover all available pages before exploring further.

Ein Dispute ist eine formelle Anfechtung gegen eine settled Transaktion. Nützlich wenn Ware nicht ankommt, der Merchant überberechnet, oder der Agent trotz Policy etwas Unautorisiertes gezahlt hat. Jede Transaktion kann maximal einen offenen Dispute haben. Dispute-Lifecycle ist plan-tier-gated.

Reason-Codes

CodeBedeutung
unauthorizedSpend nicht von Policy autorisiert
fraudVerdacht auf betrügerische Transaktion
not_receivedWare oder Service nie geliefert
not_as_describedGeliefert aber matcht nicht Vereinbarung
duplicateMehrfach belastet
incorrect_amountBetrag weicht vom vereinbarten Preis ab
canceledCancelled aber trotzdem belastet
credit_not_processedRefund nicht applied

Dispute einreichen

curl -X POST https://api.getovra.com/disputes \
  -H "Authorization: Bearer $OVRA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "transactionId": "tx_...",
    "reason": "not_received",
    "description": "Order vor 10 Tagen aufgegeben, Tracking zeigt keine Bewegung"
  }'
Response:
{
  "id": "dsp_...",
  "transactionId": "tx_...",
  "reason": "not_received",
  "status": "open",
  "createdAt": "2026-04-20T12:34:56Z"
}

Evidence anhängen

curl -X POST https://api.getovra.com/disputes/dsp_.../evidence \
  -H "Authorization: Bearer $OVRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "communication",
    "description": "Email-Thread mit Merchant-Support",
    "fileUrl": "https://storage.example.com/evidence/abc.pdf"
  }'
Evidence-Typen: receipt · shipping · communication · cancellation · refund_policy · product_description · other. File-URLs müssen HTTPS sein und SSRF-safe (keine Private-IPs).

Lösen

curl -X PATCH https://api.getovra.com/disputes/dsp_... \
  -H "Authorization: Bearer $OVRA_API_KEY" \
  -d '{ "status": "resolved" }'
Status auf resolved oder rejected setzen. Nach Schließung sind keine weiteren Mutationen erlaubt.

Webhooks

EventWann
dispute.createdEingereicht
dispute.updatedEvidence hinzugefügt oder Felder geändert
dispute.resolvedGeschlossen (resolved oder rejected)

Plan-Tier-Gating

PlanDispute-Management
Free
StarterNur View
BusinessVoll (filen + verwalten + lösen)
EnterpriseVoll + automated Workflows

Surfaces

SurfaceCapability
REST/disputes, /disputes/:id/evidence
SDKovra.disputes.*
MCPovra_dispute (action: get · file)
Dashboard/dashboard/disputes

Weiter

Transaktionen

Was du anfechtest.

Intelligenz

Audit-Trail und Access-Events für Dispute-Investigations.