Idempotenz
Einen erneuten Versuch sicher machen.
Wie es funktioniert
Senden Sie Idempotency-Key bei POST /emails, POST /emails/batch oder POST /templates/{id}/send. Keine andere Route liest ihn. Der erste Aufruf leistet die Arbeit, und eine Wiederholung mit demselben Schlüssel gibt dieselbe Nachricht zurück. POST /emails setzt zusätzlich Idempotency-Replayed: true, während der Batch replayed pro Element meldet und der Template-Versand es im Body meldet und mit 200 statt 202 antwortet. Der Anspruch wird als das Datenbank-Insert selbst genommen, sodass zwei Anfragen, die mit demselben Schlüssel gegeneinander laufen, nicht beide gewinnen können.
Idempotency-Key: invoice-8812Einen Schlüssel mit einem anderen Body wiederzuverwenden ergibt ein 422 idempotency_key_reuse statt einer stillen Wiederholung. Fast immer bedeutet das, dass der Schlüssel aus etwas abgeleitet wurde, das nicht eindeutig genug ist, und jemandem eine Nachricht erneut zu schicken, die er nicht gesendet hat, ist schlimmer als eine Ablehnung.
In einem Batch wird der Schlüssel pro Element erweitert, sodass ein Schlüssel für hundert Nachrichten sie nicht auf die erste zusammenfallen lässt.