Idempotencja
Jak uczynić ponowienie bezpiecznym.
Jak to działa
Wysyłaj Idempotency-Key w POST /emails, POST /emails/batch albo POST /templates/{id}/send. Żadna inna trasa go nie czyta. Pierwsze wywołanie wykonuje pracę, a powtórzenie z tym samym kluczem zwraca identyczną wiadomość. POST /emails ustawia dodatkowo Idempotency-Replayed: true, wsad raportuje replayed przy każdym elemencie, a wysyłka szablonu raportuje to w ciele odpowiedzi i odpowiada 200 zamiast 202. Rezerwacja klucza jest samym wstawieniem do bazy, więc dwa żądania ścigające się z tym samym kluczem nie mogą wygrać oba.
Idempotency-Key: invoice-8812Ponowne użycie klucza z inną treścią to 422 idempotency_key_reuse, a nie ciche odtworzenie. Prawie zawsze oznacza to, że klucz wywiedziono z czegoś niewystarczająco unikalnego, a odtworzenie komuś wiadomości, której nie wysłał, jest gorsze niż odmowa.
We wsadzie klucz jest rozszerzany dla każdego elementu, więc jeden klucz na stu wiadomościach nie zwija ich do pierwszej.