はじめに
再試行
ネットワークは再試行しますが、再試行で二つ目のドキュメントが生成されたり、請求書番号がもうひとつ消費されたりしてはなりません。そのために何かをする必要はありません。直近 10 分以内に送ったものと同一のリクエスト(同じテンプレート、同じ値、同じタイトル、同じキー)が再び届くと、最初のリクエストが生成したドキュメントを、201 ではなく HTTP 200 と replayed: true で返します。
一致判定は意図的に厳密です。タイトルを変えれば新しいドキュメントになります。何を同じリクエストとみなすかを自分で決めたい場合は、そのリクエストに固有な任意の文字列を Idempotency-Key ヘッダーで送ってください。キーは 24 時間記憶され、そのキーを持つ再試行はボディの内容にかかわらず同じドキュメントを返します。いずれの場合も、最初のリクエストがまだ実行中に届いた再試行は数秒待ってから idempotency_in_flight を返します。