Pagination နဲ့ sync
Cursor နဲ့ စာရင်းတွေကို တစ်မျက်နှာချင်း ဖတ်ပြီး နောက်ဆုံး sync ကတည်းက ပြောင်းတာကိုပဲ ယူပါ။
စာမျက်နှာများ
စာရင်း endpoint တွေက နောက်ဆုံးဟာ အရင်ဖြစ်အောင် limit အထိ (မူလ ၅၀၊ အများဆုံး ၁၀၀) ပြန်ပေးပါတယ်။ နောက်ထပ် ရှိသေးလား meta.pagination က ပြောပါတယ် -
"meta": {
"pagination": { "limit": 50, "next_cursor": "eyJ0IjoiMjAyNi0xMS0y…", "has_more": true }
}နောက်စာမျက်နှာ ယူဖို့ next_cursor ကို cursor အဖြစ် ပြန်ပို့ပြီး တခြား filter တွေကို မပြောင်းပါနဲ့။ နောက်ဆုံး စာမျက်နှာမှာ has_more က false ဖြစ်ပြီး next_cursor က null ဖြစ်ပါတယ်။
curl "https://api.getfom.com/public/v1/orders?status=new&cursor=eyJ0IjoiMjAyNi0xMS0y…" \
-H "Authorization: Bearer $FOM_API_KEY"Cursor ကို ဘာမှန်းမသိတဲ့ စာသားလို သဘောထားပါ၊ ကိုယ်တိုင် မတည်ဆောက်၊ မပြင်ပါနဲ့။
Sync လုပ်ခြင်း
ကိုယ်ပိုင် မိတ္တူကို နောက်ဆုံးအခြေအနေ ဖြစ်အောင် ထားဖို့ updated_since ပို့ပါ။ အဲဒီအချိန် ဒါမှမဟုတ် နောက်ပိုင်း ပြောင်းခဲ့တဲ့ မှတ်တမ်းအားလုံးကို အဟောင်းဆုံး အပြောင်းအလဲ အရင် ရပါတယ်။ ဒါကြောင့် ဘယ်နေရာမှာ ရပ်ရပ် နောက်မှ ဆက်လုပ်နိုင်ပါတယ် -
- ပထမဆုံးအကြိမ်မှာ
2026-01-01T00:00:00Zလို ယခင်ရက်တစ်ရက်ကနေ sync လုပ်ပါ။ - ရလဒ်တွေကို စာမျက်နှာအလိုက် ဖတ်ပြီး မှတ်တမ်းတစ်ခုချင်း သိမ်းပါ။
- နောက်ဆုံး သိမ်းခဲ့တဲ့ မှတ်တမ်းရဲ့
updated_atကို မှတ်ထားပါ။ - နောက်တစ်ကြိမ်မှာ အဲဒီအချိန်ကနေ မေးပါ။
curl "https://api.getfom.com/public/v1/products?updated_since=2026-11-25T08:00:00.000Z" \
-H "Authorization: Bearer $FOM_API_KEY"ရှိပြီးသား မှတ်တမ်းကို ထပ်တွေ့နိုင်လို့ id နဲ့ သိမ်းပါ (ရှိရင် update လုပ်ပါ)။ ပစ္စည်းတွေအတွက် variant တစ်ခုခု ဒါမှမဟုတ် ၎င်းရဲ့ လက်ကျန် ပြောင်းတာကိုလည်း ပစ္စည်း ပြောင်းတယ်လို့ ယူဆပါတယ်။
Sync နဲ့ webhook တွဲသုံးပါ
Webhook များ က ပြောင်းလဲမှုကို စက္ကန့်ပိုင်းအတွင်း ပြောပါတယ်။ မိနစ်အနည်းငယ် ဒါမှမဟုတ် နာရီအနည်းငယ်တိုင်း sync လုပ်ရင် server ပိတ်နေစဉ် လွတ်သွားတာတွေကို ဖမ်းမိပါတယ်။
Filter များ
| Endpoint | Filter |
|---|---|
GET /orders | status, customer_id |
GET /deliveries | status |
GET /customers, GET /products | မရှိပါ |