문서로 건너뛰기
API

멱등성

재시도를 안전하게 만들기.

동작 방식

Idempotency-KeyPOST /emails, POST /emails/batch, POST /templates/{id}/send에 보냅니다. 다른 라우트는 이 헤더를 읽지 않습니다. 첫 호출이 실제 작업을 하고, 같은 키로 반복하면 동일한 메시지를 반환합니다. POST /emailsIdempotency-Replayed: true도 함께 설정하고, 배치는 항목마다 replayed를 보고하며, 템플릿 발송은 본문에 이를 보고하고 202 대신 200을 응답합니다. 키의 선점은 데이터베이스 삽입 자체로 이루어지므로, 같은 키로 경쟁하는 두 요청이 모두 성공할 수는 없습니다.

헤더
Idempotency-Key: invoice-8812

같은 키를 다른 본문과 함께 재사용하면 조용한 재생이 아니라 422 idempotency_key_reuse입니다. 대개는 충분히 고유하지 않은 값에서 키를 만들었다는 뜻이며, 보내지도 않은 메시지를 누군가에게 재생해 주는 것보다는 거부하는 편이 낫습니다.

배치에서는 키가 항목별로 확장되므로, 100개 메시지에 키 하나를 써도 전부 첫 번째 하나로 뭉뚱그려지지 않습니다.