လွယ်လွယ်ပြောရရင် Webhook ဆိုတာ တစ်ခုခု ဖြစ်ပျက်တာနဲ့ ချက်ချင်း အကြောင်းကြားပေးတဲ့ စနစ်တစ်ခု ဖြစ်ပါတယ်။ ကိုယ်က သွားမေးစရာမလိုဘူး။ သူ့ဟာသူ လာပြောတာ။
ဥပမာ ကိုယ့်အိမ်မှာ ဧည့်သည်လာမလား သိချင်တယ်ဆိုပါတော့။ နည်းနှစ်နည်း ရှိတယ်။ ပထမနည်းက ငါးမိနစ်တစ်ခါ တံခါးဝ သွားသွားကြည့်နေတာ။ ဒုတိယနည်းက ခေါင်းလောင်းတပ်ထားတာ။ ဧည့်သည်ရောက်တာနဲ့ ခေါင်းလောင်းတီးတယ်။ ကိုယ်က ထိုင်နေရာကနေ သိပြီ။
Webhook က ဒုတိယနည်းပါ။ ပထမနည်း — ထပ်ခါထပ်ခါ သွားမေးနေတာကိုတော့ Polling လို့ ခေါ်တယ်။
တကယ့်ဥပမာနဲ့ ပြောရရင် Discord သုံးတဲ့သူတွေ သိမှာပါ။ GitHub မှာ code push လုပ်လိုက်တာနဲ့ Discord channel ထဲမှာ “main branch ကို push လုပ်သွားတယ်” ဆိုတဲ့ message အလိုအလျောက် ရောက်လာတယ်။ ဘယ်သူမှ လက်နဲ့ သွားရေးနေတာမဟုတ်ဘူး။ GitHub က Webhook ကနေ Discord ဆီကို လှမ်းပြောလိုက်တာ။
နောက်တစ်ခု — Online shop တွေ။ Customer တစ်ယောက် ငွေပေးချေလိုက်တာနဲ့ ဆိုင်ရှင်ရဲ့ Server ဆီကို “ငွေရပြီ၊ ပစ္စည်းပို့တော့” ဆိုတဲ့ အကြောင်းကြားစာ ရောက်တယ်။ Stripe လို payment စနစ်တွေက ဒီနည်းနဲ့ အလုပ်လုပ်တာ။ ဆိုင်ရှင်က “ငွေဝင်ပြီလား” လို့ ငါးမိနစ်တစ်ခါ သွားမေးနေစရာမလိုဘူး။
ဒါဆို Webhook က ဘယ်လိုအလုပ်လုပ်လဲ။ ရိုးရိုးလေးပါ။ ကိုယ်က ကိုယ့် Website ရဲ့ URL တစ်ခု ပေးထားတယ်။ ဥပမာ https://myapp.com/stripe-hook ။ Event တစ်ခု ဖြစ်တာနဲ့ — ငွေပေးချေတာ၊ code push လုပ်တာ — တခြားဘက်က အဲဒီ URL ကို စာတစ်စောင် ပို့လိုက်တယ်။ အဲဒီစာထဲမှာ “ဘာဖြစ်သွားလဲ” ဆိုတဲ့ အချက်အလက် ပါတယ်။ ကိုယ့် Server က စာရတာနဲ့ လုပ်စရာရှိတာ ဆက်လုပ်တယ်။ ဒါပဲ။
ကိုယ်တိုင် စမ်းကြည့်ချင်ရင် Discord မှာ အလွယ်ဆုံး —
- Discord server တစ်ခုရဲ့ Settings → Integrations → Webhooks → New Webhook ကို နှိပ်။
- ရလာတဲ့ Webhook URL ကို copy ထား။
- အဲဒီ URL ကို GitHub repo ရဲ့ Settings → Webhooks ထဲမှာ ထည့်။
- ဒါဆို repo မှာ တစ်ခုခုဖြစ်တိုင်း Discord ထဲ message အလိုအလျောက် ရောက်ပြီ။
ဒီလောက်ဆို Webhook ဆိုတာ ခေါင်းလောင်းသံလိုပဲ — ဖြစ်ပျက်တာနဲ့ လာပြောတဲ့ စနစ်ဆိုတာ ရှင်းလောက်ပြီ။ API က “သွားတောင်းမှ ရတာ” ဆိုရင် Webhook က “ရောက်လာမှ သိတာ” လို့ မှတ်ထားလိုက်။