Docs

Idempotenz

Zuletzt aktualisiert: 2026-10-033 Min. Lesezeit

Das Netz bricht manchmal eine Anfrage ab, und es ist unklar, ob sie angekommen ist. Um ein POST zu wiederholen, ohne die Arbeit doppelt auszuführen (und zu bezahlen), senden Sie den Header Idempotency-Key - einen eindeutigen Wert pro logischer Operation. Eine UUID eignet sich gut.

curl -X POST https://developers.grem.capital/api/v1/valuation/express \
  -H "Authorization: Bearer gsk_live_xxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 3f1c8a90-1e2b-4c77-9a10-2b6d0f9e4a11" \
  -d '{"propertyCategory":"apartment","addressText":"Torstraße 12, Berlin","totalArea":64}'

So funktioniert es

  • Die erste Anfrage mit einem Schlüssel läuft normal; ihre erfolgreiche Antwort wird gespeichert.
  • Eine Wiederholung mit demselben Schlüssel liefert die gespeicherte Antwort: Das Werkzeug läuft nicht erneut und wird nicht erneut berechnet.
  • Solange die erste Anfrage noch läuft, erhält eine zweite Anfrage mit demselben Schlüssel 409 mit title: idempotency_conflict. Warten Sie und wiederholen Sie mit demselben Schlüssel.
  • Ist die erste Anfrage mit einem Fehler beendet, wird der Schlüssel freigegeben - eine Wiederholung läuft neu. Eine Anfrage, die den Dienst nie erreicht hat (Verbindung abgelehnt), gibt den Schlüssel ebenfalls frei.
  • Nach einer Zeitüberschreitung (502 provider_error) eines Werkzeugs, einer Objekt- oder einer Lead-Erstellung bleibt der Schlüssel 15 Minuten reserviert, damit eine Wiederholung die Arbeit nicht zweimal ausführt. Prüfen Sie vor einer Wiederholung das Ergebnis: bei Werkzeugen GET /works, bei Erstellungen GET /objects und GET /leads. Ergebnisse von Fotoverbesserung, Website und Entwurf werden in GET /works nicht geführt - prüfen Sie sie im Kabinett oder unter Ihren Objekten. Eine Wiederholung nach den 15 Minuten führt die Arbeit (und ihre Berechnung) erneut aus.
  • Ausnahme ist die Expressbewertung: Nach einer Zeitüberschreitung wird der Schlüssel freigegeben - wiederholen Sie sie sofort mit demselben Schlüssel, eine fertige Bewertung kommt zurück, kostenlos: weder die Bewertung noch der API-Aufruf wird erneut berechnet.
  • Ein Schlüssel wird 24 Stunden gespeichert und gehört zu Ihrem API-Schlüssel und zur Operation - der Methode und dem tatsächlichen Pfad: Gleiche Werte unter verschiedenen API-Schlüsseln, derselbe Schlüssel bei einem anderen Werkzeug sowie POST /objects/property und POST /objects/rental sind verschiedene Anfragen.

Der Body der Wiederholung wird nicht mit der ersten Anfrage verglichen. Senden Sie eine andere Anfrage mit einem bereits verwendeten Schlüssel, erhalten Sie die Antwort auf die erste. Für jede neue Operation ein neuer Schlüssel.

Wo es gilt

Anfrage
POST /valuation/express und alle Werkzeuge (POST /valuation/report, POST /content/generate, POST /flyer/create usw.)ja
POST /objects/{kind} - Objekt erstellenja
POST /leads - Lead erstellenja
POST /match/leads/{id}/events - Swipe-Match-Ereignisja; der Schlüssel muss ^[A-Za-z0-9_.:-]{8,128}$ entsprechen, sonst wird er ignoriert
POST /uploads, POST /chat/messages, POST /valuation/review/jobs/{id}/confirmnein (im Chat dient dazu clientMessageId)

Im SDK ist der Schlüssel das letzte Argument einer Methode.

Verwandte Artikel

War dieser Artikel hilfreich?