محفوظ دوبارہ کوشش
کنکشن ٹوٹنے پر آپ نہیں جان سکتے کہ آپ کا آرڈر پہنچا یا نہیں۔ اس لیے اسے دوبارہ بھیجیں: 7 دن تک وہی Idempotency-Key یعنی وہی آرڈر، اور وہ ایک ہی بار چارج ہوتا ہے۔
یہ کیسے کام کرتا ہے
POST /orders کو Idempotency-Key ہیڈر درکار ہے: بغیر اسپیس کے 200 تک ASCII حروف، جو آپ خود بناتے ہیں اور آرڈر کے اپنے ریکارڈ کے ساتھ رکھتے ہیں۔ UUID اچھا کام کرتا ہے۔ نئے آرڈر کے لیے نئی Idempotency-Key استعمال کریں۔
curl -X POST "https://api.talismanleads.io/v1/orders" \
-H "Authorization: Bearer tl_live_your_key_here" \
-H "Idempotency-Key: crm-export-2026-11-05" \
-H "Content-Type: application/json" \
-d '{"checker":"whatsapp_status_detection","entries":["+14155550142","+12125550187"]}'آپ کو کیا ملتا ہے
201 اور نیا آرڈر۔200، وہی آرڈر، اور Idempotent-Replay: true۔ مزید کچھ چارج نہیں ہوتا، چاہے اس کے بعد قیمت بدل گئی ہو۔order_status_unknown یا rate_limited۔409 idempotency_conflict۔ کوئی آرڈر نہیں دیا جاتا۔insufficient_balance جیسے انکار کے بعد وہی Idempotency-Key409 price_changed ملتا ہے، اور نئی Idempotency-Key نئی قیمت پر آرڈر دیتی ہے۔جب آپ کو معلوم نہ ہو
کوئی بھی کھویا ہوا جواب، order_status_unknown، اور ایسا جواب جو JSON نہ ہو، جیسے گیٹ وے کا 502 یا 504، سب کا ایک ہی مطلب ہے: اصل صورتحال جاننے کے لیے ریکویسٹ وہی Idempotency-Key لگا کر دہرائیں۔ اس سے کبھی دو بار چارج نہیں ہوتا۔ ریکویسٹ کا ٹائم آؤٹ ہونے یا ناکام ہونے پر کبھی بھی نئی Idempotency-Key نہ بنائیں: وہ نیا آرڈر ہوتا ہے، اور اس کا چارج ہوتا ہے۔
دہرانے کے درمیان ایک منٹ رکیں۔ اگر چند منٹ بعد بھی order_status_unknown ہی ملے، تو رک جائیں اور request_id کے ساتھ سپورٹ سے رابطہ کریں۔ نئی Idempotency-Key نہ بنائیں۔
Idempotency-Key کتنی دیر چلتی ہے
Idempotency-Key پہلی بار بھیجے جانے سے 7 دن تک یاد رکھی جاتی ہے۔ اس کے بعد وہی Idempotency-Key نیا آرڈر دیتی ہے، اس لیے چند دنوں کے اندر دوبارہ کوشش کریں اور ہر نئے آرڈر کے لیے نئی Idempotency-Key رکھیں۔