Idempotency-Key နဲ့ လုံခြုံစွာ ပြန်ကြိုးစားခြင်း
ပြင်ဆင်မှု တစ်ခုကို နှစ်ခါ ပို့လည်း အော်ဒါ နှစ်ခု မဖြစ်စေပါ။
ကွန်ရက် ပြတ်တတ်ပါတယ်။ အော်ဒါ ဖန်တီးဖို့ request တစ်ခု အချိန်ကုန်သွားရင် FOM က အော်ဒါ ဖန်တီးပြီးပြီလား မသိနိုင်ပါ။ POST နဲ့ PATCH တိုင်းမှာ Idempotency-Key ပို့ထားရင် key တူတူနဲ့ ပြန်ကြိုးစားတာ လုံခြုံပါတယ် -
curl -X POST https://api.getfom.com/public/v1/orders \
-H "Authorization: Bearer $FOM_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: pos-sale-20261125-0042" \
-d '{ "customer_id": "…", "items": [{ "variant_id": "…", "qty": 1 }] }'ဘယ်လို အလုပ်လုပ်လဲ
- Key တစ်ခုရဲ့ ပထမ response ကို ၂၄ နာရီ သိမ်းထားပါတယ်။ Key တူ request တူ ထပ်ပို့ရင် အဲဒီ response ကို
meta.idempotent_replay: trueနဲ့ ပြန်ပေးပြီး ဘာမှ အသစ် မလုပ်ပါ။ - Key တူပြီး request မတူ ရင်
422ရပါတယ်။ - ပထမ request လုပ်ဆောင်နေဆဲ ပြန်ကြိုးစားရင်
409ရပါတယ်၊ ခဏစောင့်ပြီး ထပ်ကြိုးစားပါ။ - မအောင်မြင်တဲ့ request က ဘာမှ မသိမ်းလို့ ပြင်ပြီး key တူတူနဲ့ ပြန်ကြိုးစားနိုင်ပါတယ်။
Key ကို ကိုယ်တိုင် ရွေးပါ - စာလုံး၊ ဂဏန်းနဲ့ - _ . : ၂၅၅ လုံးအထိ။ ကိုယ်ပိုင် အရောင်း id လို လုပ်ဆောင်ချက်နဲ့ ဆက်စပ်တာ ဒါမှမဟုတ် လုပ်ဆောင်ချက်တိုင်းအတွက် UUID အသစ် သုံးပါ။ API key တစ်ခုချင်းစီအလိုက် သီးခြားပါ။
TypeScript SDK က ပြင်ဆင်မှုတိုင်းမှာ key ကို အလိုအလျောက် ပို့ပေးပါတယ်။