Idempotency
पुनः प्रयास को सुरक्षित बनाना।
यह कैसे काम करता है
Idempotency-Key को POST /emails, POST /emails/batch या POST /templates/{id}/send पर भेजें। कोई और रूट इसे नहीं पढ़ता। पहली कॉल काम करती है, और उसी कुंजी के साथ दोहराव वही संदेश लौटाता है। POST /emails Idempotency-Replayed: true भी सेट करता है, जबकि batch हर आइटम पर replayed बताता है और template send उसे बॉडी पर बताता है तथा 202 के बजाय 200 देता है। दावा database insert के रूप में ही लिया जाता है, इसलिए एक ही कुंजी के साथ दौड़ रहे दो अनुरोध दोनों नहीं जीत सकते।
Idempotency-Key: invoice-8812अलग बॉडी के साथ वही कुंजी दोबारा इस्तेमाल करने पर चुपचाप दोहराव नहीं, बल्कि 422 idempotency_key_reuse मिलता है। इसका लगभग हमेशा अर्थ यह होता है कि कुंजी ऐसी किसी चीज़ से बनाई गई थी जो पर्याप्त रूप से अद्वितीय नहीं है, और किसी को ऐसा संदेश दोबारा भेजना जो उसने भेजा ही नहीं, अस्वीकार करने से बुरा है।
batch में कुंजी हर आइटम के लिए बढ़ा दी जाती है, इसलिए सौ संदेशों पर एक कुंजी उन्हें पहले संदेश में ढहा नहीं देती।