API ဆိုတာ ဘာလဲ? အက်ပ်တည်ဆောက်သူများအတွက် ရိုးရှင်းသော လမ်းညွှန်
API (application programming interface) ဆိုတာ software တစ်ခုက အခြားတစ်ခုထံ data တောင်းရန် သို့မဟုတ် အလုပ်တစ်ခု လုပ်ခိုင်းရန် သတ်မှတ်ထားသော နည်းလမ်း ဖြစ်သည်။ သင့်အက်ပ်က သဘောတူထားသော ပုံစံဖြင့် request ပို့သည် — "မနက်ဖြန် booking များ ပေးပါ"၊ "ဒီကဒ်မှ €20 ကောက်ပါ"၊ "ဒီစာကို အကျဉ်းချုပ်ပါ" — ထို့နောက် အခြားစနစ်က ဖွဲ့စည်းထားသော response ပြန်ပို့သည်။ API များသည် အက်ပ်၏ အစိတ်အပိုင်းများ အချင်းချင်း ဆက်သွယ်ပုံ ဖြစ်ပြီး ငွေပေးချေမှု၊ အီးမေးလ်၊ မြေပုံနှင့် AI ကဲ့သို့ ပြင်ပဝန်ဆောင်မှုများကို သင့်အက်ပ်က အသုံးပြုပုံ ဖြစ်သည်။
AI နဲ့ တည်ဆောက်တဲ့အခါ API ဘာကြောင့် အရေးကြီးလဲ
ဖြစ်နိုင်သော အသုံးဝင်သည့် အက်ပ်အများစုသည် API များမှတစ်ဆင့် ဆက်သွယ်သော အစိတ်အပိုင်းများဖြင့် ဖွဲ့စည်းထားသည်:
- သင့်အက်ပ်အတွင်း၊ browser ရှိ စခရင်များက သင့် backend ၏ API ကို ခေါ်ပြီး data ဖတ်/သိမ်းသည်။
- သင့်အက်ပ်အပြင်၊ သင့် backend က အခြားကုမ္ပဏီများ၏ API များကို ခေါ်သည်: ငွေပေးချေရန် Stripe၊ ပြေစာပို့ရန် အီးမေးလ် provider၊ စာသား ထုတ်ရန် AI model provider။
AI builder ကို "ငွေပေးချေမှု လက်ခံပါ" သို့မဟုတ် "AI အကျဉ်းချုပ် ထည့်ပါ" ဟု တောင်းသည့်အခါ ၎င်းက အမှန်တကယ် ပြုလုပ်နေသည်မှာ API ကို ခေါ်သော code ရေးခြင်း ဖြစ်သည်။ အခြေခံကို သိခြင်းက AI က သင့်ထံမှ ဘာလိုအပ်သလဲ (ပုံမှန်အားဖြင့် ထို ဝန်ဆောင်မှုနှင့် အကောင့်နှင့် API key)၊ ဘယ်နေရာတွင် ပြဿနာရှိနိုင်သလဲ၊ ကုန်ကျစရိတ် ဘယ်လောက်လဲဆိုတာ နားလည်စေသည်။
လူတွေ နေ့စဉ်သုံးတဲ့ ဥပမာ
စားသောက်ဆိုင် တစ်ခုကို စဉ်းစားပါ။ မီးဖိုချောင်ထဲ ဝင်ပြီး ချက်စရာ မလိုပါ။ မီနူးကို ဖတ်၊ ဝန်ထမ်းကို သင်လိုချင်တာကို ပုံစံကျကျ ပြော၊ ဝန်ထမ်းက ထမင်းကို ယူလာ — သို့မဟုတ် ဟင်းကုန်ကုန်သွားကြောင်း ပြော။
- မီနူး က API documentation ဖြစ်သည်: ဘာတောင်းလို့ရသလဲ၊ ဘယ်လိုတောင်းရမလဲ ဆိုသော စာရင်း။
- ဝန်ထမ်း က API ဖြစ်သည်: request ဝင်ပြီး response ထွက်သည့် သဘောတူထားသော တစ်ခုတည်းသော နည်းလမ်း။
- မီးဖိုချောင် က အခြားစနစ် ဖြစ်သည်: အတွင်းပိုင်း မည်သို့ အလုပ်လုပ်သည်ကို သင် သိစရာ မလိုပါ။
- သင့်အမှာ က request ဖြစ်ပြီး ပန်းကန် က response ဖြစ်သည်။
မီးဖိုချောင်က မီးဖို သို့မဟုတ် ဝန်ထမ်းများကို ပြောင်းနိုင်သည်၊ မီနူးမပြောင်းသမျှ သင့်ကို မထိခိုက်ပါ။ ဒါကလည်း API ၏ အမှန်တကယ် တန်ဖိုး ဖြစ်သည်: နှစ်ခုသော စနစ်များ တစ်ခုကို အခြားတစ်ခု မည်သို့ တည်ဆောက်ထားသည်ကို မသိဘဲ အတူလုပ်ဆောင်နိုင်စေသည်။
Web API request အလုပ်လုပ်ပုံ
သင်တွေ့မည့် API အများစုသည် browser သုံးသော HTTP ဖြင့် အလုပ်လုပ်သော web API များ ဖြစ်သည်။ request တစ်ခုစီတွင် အပိုင်းအချို့ ရှိသည်:
| အပိုင်း | ဘာလဲ | ဥပမာ |
|---|---|---|
| Method | လုပ်ဆောင်ချက် အမျိုးအစား | GET (ဖတ်), POST (ဖန်တီး) |
| URL / endpoint | သင် လုပ်ဆောင်မည့်အရာ၏ လိပ်စာ | https://api.example.com/bookings |
| Headers | အပို အချက်အလက်၊ သင် ဘယ်သူလဲ အပါအဝင် | Authorization: Bearer <your key> |
| Body | ပို့မည့် data၊ ဖန်တီး/ပြင်ဆင်သည့်အခါ | {"name": "Lena", "time": "14:00"} |
response တစ်ခုစီတွင်လည်း:
| အပိုင်း | ဘာလဲ | ဥပမာ |
|---|---|---|
| Status code | ဘယ်လိုဖြစ်သွားသလဲ ဖော်ပြသော နံပါတ် | 200 OK၊ 201 Created၊ 404 Not Found |
| Body | ပြန်ပေးသော data၊ များသောအားဖြင့် JSON | {"id": 5001, "status": "confirmed"} |
JSON (JavaScript Object Notation) ဆိုတာ curly bracket ထဲရှိ အမည်နှင့် တန်ဖိုးများ၏ ရိုးရှင်းသော စာသားပုံစံ ဖြစ်သည်။ web API များက data ဖလှယ်သည့် စံနည်းလမ်း ဖြစ်သည်။
REST: အသုံးအများဆုံး ပုံစံ
REST ဆိုတာ web API များ ဒီဇိုင်းလုပ်ရာတွင် အသုံးများသော ကွန်ဗင်းရှင်း ဖြစ်သည်။ အမျိုးအစားတစ်ခုစီက ကိုယ်ပိုင် URL ရရှိပြီး စံ method များက ထိုအပေါ် ဘာလုပ်သည်ကို ပြောသည်။ booking အက်ပ်အတွက် REST API ဥပမာ:
| Method | Endpoint | ဘာလုပ်သလဲ |
|---|---|---|
GET | /api/bookings | booking များ စာရင်း |
GET | /api/bookings/5001 | booking တစ်ခု ယူ |
POST | /api/bookings | booking အသစ် ဖန်တီး |
PATCH | /api/bookings/5001 | booking ၏ အစိတ်အပိုင်းကို ပြင် (ဥပမာ အချိန်) |
DELETE | /api/bookings/5001 | booking ကို ပယ်ဖျက် (ဖျက်) |
PUT လည်း ရှိပြီး record တစ်ခုလုံးကို အစားထိုးရန် သဘောထားသည်၊ PATCH ကတော့ သင်ပို့သော field များကိုသာ ပြောင်းသည်။
အမြဲတွေ့ရသော status code များ:
| ကုဒ် | အဓိပ္ပာယ် |
|---|---|
200 / 201 | အောင်မြင် / ဖန်တီးပြီး |
400 | မှားယွင်းသော request — ပို့သည့်အရာ မှား သို့မဟုတ် ပျောက်နေသည် |
401 | အတည်မပြုရသေး — မှန်ကန်သော login သို့မဟုတ် key မရှိ |
403 | ပိတ်ပင်ထားသည် — သိသော်လည်း ဤလုပ်ဆောင်ချက်ကို ခွင့်မပြု |
404 | မတွေ့ပါ |
429 | request များလွန်းသည် — rate limit ကို ထိသည် |
500 | ဆာဗာ အမှား |
အက်ပ် ပျက်သွားသည့်အခါ status code သည် အမြန်ဆုံး သော့ချက် ဖြစ်လေ့ရှိသည်။ ငွေပေးချေမှု provider မှ 401 သည် များသောအားဖြင့် API key မရှိခြင်း သို့မဟုတ် မှားခြင်းကို ဆိုလိုသည်; 429 ဆိုလျှင် ခေါ်ဆိုမှု အရမ်းများနေသည်။
REST တစ်ခုတည်း မဟုတ်ပါ — GraphQL နှင့် RPC ပုံစံ API များလည်း ရှိသော်လည်း ဝန်ဆောင်မှုအများစုနှင့် AI ဖြင့် တည်ဆောက်ထားသော backend များက REST ကို အသုံးပြုသည်။
ဥပမာ: booking အတည်ပြုချက်
ဆံသဆိုင် အက်ပ်တွင် ဖောက်သည်တစ်ဦးက ဆံညှပ်ရန် booking လုပ်သောအခါ API ခေါ်ဆိုမှု အနည်းငယ် ဖြစ်နိုင်သည် — စက္ကန့် တစ်ဆယ်ခန့်အတွင်း:
- browser ရှိ booking စာမျက်နှာက ဝန်ဆောင်မှု၊ အချိန်နှင့် ဖောက်သည် အသေးစိတ်များပါသော
POST /api/bookingsကို သင့် backend သို့ ပို့သည်။ - သင့် backend က အချိန်လပ်မလပ် စစ်၊ database တွင် သိမ်း၊
201 Createdပြန်ပေးသည်။ - သင့် backend က အီးမေးလ် provider ၏ API ကို ၎င်း၏ လျှို့ဝှက် key ဖြင့် ခေါ်သည်: "ဤအတည်ပြုချက်ကို lena@example.com သို့ ပို့ပါ။"
- ကြိုတင်ငွေရှိပါက သင့် backend က ငွေပေးချေမှု provider ၏ API ကို checkout session ဖန်တီးရန် တောင်းပြီး ဖောက်သည်ကို ထိုနေရာသို့ ပို့သည်။
- နောက်ပိုင်း ငွေပေးချေမှု provider က ငွေပေးချေမှု အောင်မြင်ကြောင်း သင့်အက်ပ် ကို ခေါ်ပြောသည်။ ထိုပြန်ခေါ်ဆိုမှုသည် webhook ဖြစ်သည်။
ပထမ အဆင့်နှစ်ခုသည် frontend နှင့် backend အကြား သင့်ကိုယ်ပိုင် API ဖြစ်သည်။ အဆင့် ၃ မှ ၅ သည် ပြင်ပ API များ ဖြစ်သည်။
အသုံးများသော ဝေါဟာရများ
| ဝေါဟာရ | အဓိပ္ပာယ် |
|---|---|
| Endpoint | API က တုံ့ပြန်သည့် တိကျသော URL တစ်ခု။ |
| API key | သင့်အက်ပ်ကို ဝန်ဆောင်မှုတစ်ခုသို့ ခွဲခြားသိစေသော လျှို့ဝှက်စာကြောင်း။ စကားဝှက်ကဲ့သို့ ဆက်ဆံပါ။ |
| Authentication | key၊ token သို့မဟုတ် login ဖြင့် ဘယ်သူ ခေါ်နေသည်ကို သက်သေပြခြင်း။ authentication ဆိုတာ ဘာလဲ ကို ကြည့်ပါ။ |
| Rate limit | ကာလတစ်ခုအတွင်း တောင်းဆိုနိုင်သော အရေအတွက် ကန့်သတ်ချက်။ |
| SDK | တစ်ခုသော API ကို ခေါ်ရန် ပိုလွယ်စေသော အဆင်သင့် code library။ |
| Documentation | "မီနူး" — ဘယ် endpoint များ ရှိသလဲ၊ ဘာလက်ခံပြီး ဘာပြန်ပေးသလဲ။ |
| Sandbox / test mode | ငွေ သို့မဟုတ် အမှန်တကယ် data မသုံးဘဲ စမ်းရန် ဝန်ဆောင်မှု၏ ဗားရှင်း။ |
| Webhook | အဖြစ်အပျက် ဖြစ်သည့်အခါ အခြားဝန်ဆောင်မှုမှ သင့်အက်ပ်ထံ ခေါ်ဆိုမှု။ |
အဖြစ်များသော အမှားများနှင့် အယူအဆမှားများ
- Secret key များကို frontend တွင် ထားခြင်း။ browser တွင် run သော code ထဲရှိ အရာမှန်သမျှကို ဝင်ကြည့်သူ မည်သူမဆို မြင်နိုင်သည်။ secret key များကို ဆာဗာတွင်သာ ထား၊ environment variables သို့မဟုတ် secrets တွင် ထားပါ။
- Chat ထဲ key ကူးထည့်ခြင်း။ chat history ကို သိမ်းထားနိုင်သည်။ အစား builder ၏ secrets feature ကို သုံးပါ၊ ဖော်ထုတ်မိသော key မှန်သမျှကို ပြောင်းပါ။
- API အခမဲ့ဟု ယူဆခြင်း။ API အများအပြားက request တစ်ခု သို့မဟုတ် အသုံးပြုမှု ယူနစ်တစ်ခုအလိုက် ငွေယူသည် — AI model API များက token ဖြင့် ငွေယူသည်။ စျေးနှုန်းကို စစ်ပြီး အသုံးစရိတ်ကန့်သတ်ချက် သတ်မှတ်ပါ။ LLM API များကို ဘယ်လို သုံးမလဲ ကို ကြည့်ပါ။
- Failure ကို မကိုင်တွယ်ခြင်း။ ပြင်ပဝန်ဆောင်မှုများ ပျက်ကျ၊ timeout ဖြစ်ကာ ကန့်သတ်ချက်ကို ထိတတ်သည်။ သင့်ထိုက်တန်သော error message နှင့် retry များကို တောင်းပါ။
- Browser ကို ယုံခြင်း။ သင့်ကိုယ်ပိုင် API သည် ခွင့်ပြုချက်ကို ကိုယ်တိုင် စစ်ရမည်။ ခလုတ်ဝှက်ခြင်းသည် တိုက်ရိုက် endpoint ကို တစ်ယောက်ယောက် ခေါ်ခြင်းကို မတားပါ။
- စမ်းသပ်စဉ် live key သုံးခြင်း။ ပွင့်လင်းစွာ launch မလုပ်မချင်း test mode key များ သုံးပါ။
AI builder ကို ဘာတောင်းရမလဲ
- "ဒီအက်ပ်က ဘယ်ပြင်ပ API များ သုံးသလဲ၊ တစ်ခုစီ ဘယ်လောက် ကျသလဲ?"
- "ငွေပေးချေမှု API ကို ဆာဗာမှသာ ခေါ်ပါ။ key ကို environment variable မှ ဖတ်ပါ။"
- "ကျွန်ုပ်တို့ API ရှိ endpoint အားလုံး၊ ၎င်းတို့ လုပ်ဆောင်ချက်နှင့် ဘယ်သူ ခေါ်ခွင့်ရှိသလဲ စာရင်းပြုစုပါ။"
- "booking ကို ပြင်ဆင်ခြင်း သို့မဟုတ် ဖျက်ခြင်းမတိုင်မီ ဝင်ထားသော အသုံးပြုသူက ပိုင်ဆိုင်သလား ဆာဗာပေါ်တွင် စစ်ပါ။"
- "အီးမေးလ် API ပျက်ပါက booking ကို ဆက်သိမ်းပြီး error ကို log လုပ်ပါ။"
- "ယခုအတွက် provider ၏ test mode ကို သုံးပါ။"
Mythex တွင် API များ
Mythex သည် web အက်ပ်၏ အစိတ်အပိုင်းအဖြစ် သို့မဟုတ် frontend ဘေးတွင် run သော Node၊ Python (FastAPI)၊ C# သို့မဟုတ် Java ဖြင့် သီးခြား backend အဖြစ် သင့်ကိုယ်ပိုင် API ကို တည်ဆောက်နိုင်ပြီး ပြင်ပဝန်ဆောင်မှုများကို ခေါ်သော code ကိုလည်း ရေးနိုင်သည်။ key များကို chat တွင် မဟုတ်ဘဲ project secrets အဖြစ် ထည့်ပါ၊ preview တွင်နှင့် publish ပြီးနောက် အက်ပ်က အသုံးပြုနိုင်သည်။ docs တွင် ပြင်ပ API အားလုံး ပေါင်းစပ်ခြင်း နှင့် REST API backend တည်ဆောက်ခြင်း recipe များ ရှိသည်။
မေးခွန်းများ
API ဆိုတာ ရိုးရိုးရှင်းရှင်း ဘာလဲ?
API (application programming interface) ဆိုတာ software တစ်ခုက အခြားတစ်ခုထံ data တောင်းရန် သို့မဟုတ် အလုပ်တစ်ခု လုပ်ခိုင်းရန် သတ်မှတ်ထားသော နည်းလမ်းဖြစ်သည်။ သင့်အက်ပ်က သဘောတူထားသော ပုံစံဖြင့် request ပို့ပြီး အခြားစနစ်က response ပြန်ပေးသည် — ဥပမာ ရာသီဥတု data၊ ငွေပေးချေမှု ရလဒ် သို့မဟုတ် AI ဖန်တီးသော စာပြန်။
REST API ဆိုတာ ဘာလဲ?
REST API ဆိုတာ web API ၏ အသုံးများသော ပုံစံဖြစ်ပြီး အမျိုးအစားတစ်ခုစီ (booking၊ customer) တွင် URL ရှိကာ စံ HTTP method များ သုံးသည် — ဖတ်ရန် GET၊ ဖန်တီးရန် POST၊ ပြင်ရန် PUT သို့မဟုတ် PATCH၊ ဖျက်ရန် DELETE။ data ကို များသောအားဖြင့် JSON ဖြင့် ပြန်ပေးသည်။
API key ဆိုတာ ဘာလဲ၊ ဘယ်မှာ သိမ်းရမလဲ?
API key ဆိုတာ သင့်အက်ပ်ကို ဝန်ဆောင်မှုတစ်ခုသို့ ခွဲခြားသိစေသော လျှို့ဝှက်စာကြောင်း ဖြစ်ပြီး ငွေသုံးခွင့် သို့မဟုတ် data ဝင်ခွင့် ပေးလေ့ရှိသည်။ environment variables သို့မဟုတ် project ၏ server secrets တွင်သာ သိမ်းပါ၊ browser တွင် run သော code တွင် မထားပါနှင့်၊ public repository တွင် လုံးဝ မထားပါနှင့်။
API နှင့် webhook ကွာခြားချက် ဘာလဲ?
API တွင် သင့်အက်ပ်က လိုအပ်သည့်အခါ အခြားဝန်ဆောင်မှုထံ တစ်ခုခု မေးသည်။ Webhook တွင် တစ်ခုခု ဖြစ်ပေါ်သည့်အခါ အခြားဝန်ဆောင်မှုက သင့်အက်ပ်ကို ခေါ်သည် — ဥပမာ ငွေပေးချေမှု provider က ငွေပေးချေမှု အောင်မြင်ကြောင်း အသိပေးခြင်း။