SpeechCall မက်ဆေ့ချ်များ
SpeechCall သည် မီနူးရွေးချယ်မှုများနှင့် DTMF (dual-tone multi-frequency) အပြန်အလှန်တုံ့ပြန်မှုများဖြင့် အလိုအလျောက် အသံခေါ်ဆိုမှုများ ပြုလုပ်နိုင်စေမည့် အပြန်အလှန်တုံ့ပြန်သော အသံတုံ့ပြန်မှု (IVR) မက်ဆေ့ခ်ျအမျိုးအစားဖြစ်သည်။
ခြုံငုံသုံးသပ်ချက်
SpeechCall သည် လုပ်ငန်းများကို လုပ်ဆောင်နိုင်သည်-
- သုံးစွဲသူများထံ အလိုအလျောက် အသံခေါ်ဆိုမှုများ ပြုလုပ်ပါ။
- မိတ်ဆက်အသံမက်ဆေ့ချ်များကို ဖွင့်ပါ။
- အပြန်အလှန်အကျိုးသက်ရောက်မှုမီနူးရွေးချယ်စရာများကိုတင်ပြပါ။
- DTMF သော့နှိပ်တုံ့ပြန်မှုများကို ကိုင်တွယ်ပါ (0-9၊ *၊ #)
- မမှန်ကန်သော/အချိန်ကုန်ထည့်သွင်းမှုများအတွက် စိတ်ကြိုက်အပြုအမူကို သတ်မှတ်ပါ။
- သုံးစွဲသူရွေးချယ်မှုများအပေါ် အခြေခံ၍ စိတ်ကြိုက်ကိုယ်ထည်များနှင့် ခေါင်းစီးများဖြင့် ဝဘ်ချိတ်များကို အစပျိုးပါ။
- ခေါ်ဆိုမှုစီးဆင်းမှုကို ဒိုင်းနမစ်ဖြင့် စီမံခန့်ခွဲပါ (မီနူးများကြားတွင် သွားလာပါ)
Cases ကိုအသုံးပြုပါ။
- ဖောက်သည်စစ်တမ်းများ - ဖုန်းမီနူးရွေးချယ်မှုများမှတစ်ဆင့် အကြံပြုချက်များကို စုဆောင်းပါ။
- ရက်ချိန်းသတိပေးချက်များ - အသံဖြင့် အပြန်အလှန်ဆက်သွယ်မှုဖြင့် အတည်ပြုပါ သို့မဟုတ် ပြန်လည်စီစဉ်ပါ။
- အော်ဒါခြေရာခံခြင်း - မှာယူမှုအခြေအနေ အပ်ဒိတ်များကို ပေးပါ။
- အပြန်အလှန် အကြောင်းကြားချက်များ - လုပ်ဆောင်မှုရွေးချယ်မှုများဖြင့် အရေးကြီးသော အချက်အလက်များကို ပေးပို့ပါ။
- Voice Verification - အသံခေါ်ဆိုမှုများမှတစ်ဆင့် အချက်ပေါင်းများစွာ စစ်မှန်ကြောင်း အတည်ပြုခြင်း။
တောင်းဆိုမှုပုံစံ
အခြေခံဖွဲ့စည်းပုံ
{
"messages": [
{
"from": "YourSender",
"to": "+380XXXXXXXXX",
"text": "ivr",
"type": "speechcall",
"menu": [
{
"introUrl": "ivr_XXXXX",
"idleTimeoutMsec": 10000,
"dtmfActions": {
"d1": [
{
"action": "webhook",
"url": "https://YourWebhookURL/0",
"body": {
"confirm": true
},
"headers": {
"test-header": "test"
}
},
{
"action": "hangup"
}
],
"d2": [
{
"action": "webhook",
"url": "https://YourWebhookURL/1",
"body": {
"confirm": false
}
},
{
"action": "hangup"
}
],
"wrong": [
{
"action": "gotoMenu",
"menu": "1"
}
]
}
}
]
}
]
}
Parameter ဖော်ပြချက်
| ကန့်သတ်ချက် | ရိုက် | လိုအပ်သည် | ဖော်ပြချက် |
|---|---|---|---|
from | string | ဟုတ်တယ် | ပေးပို့သူ အမှတ်အသား (alpha အမည် သို့မဟုတ် ID) |
to | string | ဟုတ်တယ် | လက်ခံသူဖုန်းနံပါတ်ကို နိုင်ငံတကာဖော်မတ် |
စာသား | string | ဟုတ်တယ် | SpeechCall |
ရိုက် | string | ဟုတ်တယ် | "မိန့်ခွန်းခေါ်ဆိုမှု" |
menu | ခင်းကျင်း | ဟုတ်တယ် | ခေါ်ဆိုမှု |
Menu ဖွဲ့စည်းမှု
မီနူးအရာတစ်ခုစီတွင်-
| ကန့်သတ်ချက် | ရိုက် | လိုအပ်သည် | ဖော်ပြချက် |
|---|---|---|---|
introUrl | string | ဟုတ်တယ် | URL သို့မဟုတ် မိတ်ဆက်အသံဖိုင် |
idleTimeoutMsec | ကိန်းပြည့် | မရှိ | ခလုတ်နှိပ်ခြင်းကို စောင့်ရန် မီလီစက္ကန့်အတွင်း အချိန်ကုန်သွားသည် (ဥပမာ၊ 10000)။ အကယ်၍ အသုံးပြုသူက တုံ့ပြန်ခြင်းမရှိပါက၊ မှားယွင်းသော သော့အောက်တွင် ပြင်ဆင်ထားသော လုပ်ဆောင်ချက်များကို လုပ်ဆောင်မည် |
dtmfActions | အရာဝတ္ထု | ဟုတ်တယ် | လုပ်ဆောင်ချက်များအတွက် DTMF သော့မြေပုံ |
DTMF လုပ်ဆောင်ချက်များ
dtmfActions အရာဝတ္ထုသည် DTMF သော့များ သို့မဟုတ် အထူးအခြေအနေများကို လုပ်ဆောင်ချက်များ၏ arrays သို့ မြေပုံဆွဲသည်-
| DTMF သော့ | ဖော်ပြချက် |
|---|---|
d0 | 0 |
d1 | 1 |
d2 | 2 |
| … | … |
d9 | 9 |
d* | * |
d# | # |
မှား | မမှန်ကန်သောသော့ကို နှိပ်သည့်အခါ သို့မဟုတ် ထည့်သွင်းခြင်းမရှိဘဲ idleTimeoutMsec သို့ရောက်ရှိသည့်အခါ အစပျိုးသည် |
DTMF သော့/အခြေအနေတစ်ခုစီသည် အစဉ်လိုက်လုပ်ဆောင်မည့် လုပ်ဆောင်မှုများ၏ အခင်းအကျင်းတစ်ခုဆီသို့ မြေပုံညွှန်းပေးသည်။
ပံ့ပိုးထားသောလုပ်ဆောင်ချက်များ
| အက် | ကန့်သတ်ချက်များ | ဖော်ပြချက် |
|---|---|---|
webhook | url (string၊ လိုအပ်သည်)body (object၊ optional)headers (object၊ optional) | HTTP POST တောင်းဆိုချက်ကို JSON ဖော်မတ်ဖြင့် သတ်မှတ်ထားသော URL သို့ ပေးပို့သည်။ webhook တောင်းဆိုချက်ရှိ လုပ်ဆောင်ချက် အကွက်အောက်တွင် body အရာဝတ္တုကို စုစည်းထားပါမည်။ စိတ်ကြိုက်ခေါင်းစီးများကို HTTP ခေါင်းစီးများအဖြစ် ထည့်သွင်းထားသည်။ |
hangup | အနတ္တ | ခေါ်ဆိုမှုကို အဆုံးသတ်သည် |
gotoMenu | menu (string သို့မဟုတ် integer) | ၎င်း၏ 0-အခြေခံအညွှန်းကို အသုံးပြု၍ "မီနူး ခင်းကျင်းရှိ အခြားမီနူးသို့ ခေါ်ဆိုမှုကို လမ်းညွှန်သည် (ဥပမာ၊ "1") |
အသေးစိတ်လုပ်ဆောင်ချက် အပြုအမူ
Webhook လုပ်ဆောင်ချက် (webhook)
webhook လုပ်ဆောင်ချက်သည် ခေါ်ဆိုမှု မက်တာဒေတာနှင့် စိတ်ကြိုက်ရွေးချယ်နိုင်သော စိတ်ကြိုက်ဒေတာဖြင့် သင်၏ပြန်ခေါ်ရန် URL သို့ HTTP POST တောင်းဆိုချက်တစ်ခု ပေးပို့သည်-
bodyကို ပံ့ပိုးထားပါက၊ ၎င်း၏ သော့တန်ဖိုးအတွဲများကို payload body ၏actionအကွက်အတွင်း ပို့ပေးပါသည်။ခေါင်းစီးများကို ပံ့ပိုးထားပါက ၎င်းတို့ကို တောင်းဆိုချက်တွင် စိတ်ကြိုက် HTTP ခေါင်းစီးများအဖြစ် ပေးပို့မည်ဖြစ်သည်။
Hangup Action (hangup)
hangup လုပ်ဆောင်ချက်သည် လက်ရှိခေါ်ဆိုမှုအား ချက်ချင်းရပ်ပစ်သည်။ အတွဲလိုက် သို့မဟုတ် မီနူးများတွင် နောက်ထပ်လုပ်ဆောင်မှုများ ‘hangup’ လုပ်ဆောင်ချက်ပြီးနောက် လုပ်ဆောင်မည်မဟုတ်ပါ။
မီနူးလုပ်ဆောင်ချက် (gotoMenu) သို့သွားပါ။
gotoMenu လုပ်ဆောင်ချက်သည် menu ခင်းကျင်းအတွင်းရှိ မတူညီသော မီနူးဖွဲ့စည်းပုံသို့ ခေါ်ဆိုမှုစီးဆင်းမှုကို ပြန်လည်ညွှန်းပေးသည်။ ၎င်းသည် ပစ်မှတ်မီနူး၏ 0-အခြေခံအညွှန်းကို သတ်မှတ်ပေးသည့် ကန့်သတ်ချက်တစ်ခုဖြစ်သည့် မီနူး (ဥပမာ၊ "1" ဒုတိယမီနူးသို့သွားရန် သို့မဟုတ် ပထမမီနူးကို ပြန်လည်စတင်ရန် "0")။
မလှုပ်ရှားခြင်းနှင့် ကိုင်တွယ်ခြင်း အမှား (မှား)
dtmfActions အတွင်းရှိ ‘မှားယွင်းသော’ သော့သည် အထူးလုပ်ဆောင်ပေးသည့် ကိုင်တွယ်ဖြေရှင်းသူဖြစ်သည်။ ၎င်းသည် ၎င်း၏လုပ်ဆောင်မှုများ၏ စီစဉ်ကို မြင်ကွင်းနှစ်ခုတွင် လုပ်ဆောင်သည်-
- Invalid Input- ခေါ်ဆိုသူသည်
dtmfActionsတွင် မသတ်မှတ်ထားသော DTMF သော့ကို နှိပ်သည် (ဥပမာ၊ ၎င်းတို့သည်3ကို နှိပ်သော်လည်း မီနူးကd1နှင့်d2ကိုသာ သတ်မှတ်သည်)။ - Idle Timeout- ခေါ်ဆိုသူသည်
idleTimeoutMsecမှ သတ်မှတ်ထားသော ကြာချိန်အတွင်း မည်သည့်သော့ကိုမျှ မနှိပ်ပါ။
မှား ကို မသတ်မှတ်ထားဘဲ ခေါ်ဆိုသူသည် မမှန်ကန်သော သော့ကို နှိပ်ပါက သို့မဟုတ် အချိန်ကုန်ပါက၊ ခေါ်ဆိုမှု အစီအစဥ်သည် မူရင်းအတိုင်း ဖုန်းချသွားပါမည်။ wrong ကို သတ်မှတ်ခြင်းသည် သင့်အား ကွင်းဆက်မီနူးများ တည်ဆောက်နိုင်စေသည် (ဥပမာ၊ "လုပ်ဆောင်ချက်": "gotoMenu", "menu": "0") သို့မဟုတ် အသုံးပြုသူကို အကူအညီမီနူးတစ်ခုသို့ ပြန်ညွှန်းပေးနိုင်သည်။
Webhook ပေးပို့မှုပုံစံ
webhook လုပ်ဆောင်ချက်ကို အစပျိုးသောအခါ၊ စနစ်သည် အကြောင်းအရာ-အမျိုးအစား- application/json ဖြင့် ပြင်ဆင်ထားသော url သို့ HTTP POST တောင်းဆိုချက်ကို ပေးပို့သည်။
Webhook Request Headers
လုပ်ဆောင်ချက်ကို ခေါင်းစီးများ ကန့်သတ်ချက်ဖြင့် ပြင်ဆင်သတ်မှတ်ပါက၊ ထိုသော့တန်ဖိုးအတွဲများကို တောင်းဆိုချက်တွင် HTTP ခေါင်းစီးများအဖြစ် ထည့်သွင်းထားသည်။
Webhook တောင်းဆိုချက်ကိုယ်ထည်
သင့် webhook URL သို့ ပေးပို့သည့် JSON payload တွင် အောက်ပါဖွဲ့စည်းပုံပါရှိသည်-
{
"from": "0443914272",
"to": "50001",
"mid": "7748021",
"action": {
"confirm": true
}
}
| လယ် | ရိုက် | ဖော်ပြချက် |
|---|---|---|
from | string | ခေါ်ဆိုသူ ဖုန်းနံပါတ် / ပေးပို့သူ ID |
to | string | လက်ခံသူဖုန်းနံပါတ် |
လယ် | string | မက်ဆေ့ခ်ျ ID |
လုပ်ဆောင်ချက် | အရာဝတ္ထု | လုပ်ဆောင်ချက်၏ body အကွက် |
ဥပမာ အပြည့်အစုံ
Timeout & Input Validation ဖြင့် ရိုးရှင်းသော IVR
{
"messages": [
{
"from": "YourSender",
"to": "+380XXXXXXXXX",
"text": "ivr",
"type": "speechcall",
"menu": [
{
"introUrl": "ivr_651854",
"idleTimeoutMsec": 10000,
"dtmfActions": {
"d1": [
{
"action": "webhook",
"url": "https://YourWebhookURL/0",
"body": {
"confirm": true
}
},
{
"action": "hangup"
}
],
"d2": [
{
"action": "webhook",
"url": "https://YourWebhookURL/1",
"body": {
"confirm": false
}
},
{
"action": "hangup"
}
],
"wrong": [
{
"action": "hangup"
}
]
}
}
]
}
]
}
Multiple Menus နှင့် DTMF Routing ပါရှိသော ရှုပ်ထွေးသော IVR
ဤဥပမာသည် မီနူးအများအပြားကို သတ်မှတ်ပုံနှင့် အသုံးပြုသူ မမှန်ကန်သောသော့ကို ထည့်သွင်းသည့်အခါ သို့မဟုတ် ခေါ်ဆိုမှုအချိန်ကုန်သွားသောအခါတွင် gotoMenu လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ၎င်းတို့ကြားတွင် သွားလာခြင်းကို သရုပ်ပြသည်။ ၎င်းသည် webhook အစပျိုးမှုများနှင့်အတူ ပေးပို့ထားသော စိတ်ကြိုက်ကောင်များနှင့် စိတ်ကြိုက် HTTP ခေါင်းစီးများကိုလည်း ပြသသည်။
{
"messages": [
{
"from": "YourSender",
"to": "+380XXXXXXXXX",
"text": "ivr",
"type": "speechcall",
"menu": [
{
"introUrl": "ivr_XXXXX",
"idleTimeoutMsec": 10000,
"dtmfActions": {
"d1": [
{
"action": "webhook",
"url": "https://YourWebhookURL/0",
"body": {
"confirm": true
},
"headers": {
"test-header": "test"
}
},
{
"action": "hangup"
}
],
"d2": [
{
"action": "webhook",
"url": "https://YourWebhookURL/1",
"body": {
"confirm": false
}
},
{
"action": "hangup"
}
],
"wrong": [
{
"action": "gotoMenu",
"menu": "1"
}
]
}
},
{
"introUrl": "ivr_651854",
"idleTimeoutMsec": 10000,
"dtmfActions": {
"d1": [
{
"action": "webhook",
"url": "https://YourWebhookURL/0",
"body": {
"confirm": true
}
},
{
"action": "hangup"
}
],
"d2": [
{
"action": "webhook",
"url": "https://YourWebhookURL/1",
"body": {
"confirm": false
}
},
{
"action": "hangup"
}
],
"wrong": [
{
"action": "hangup"
}
]
}
}
]
}
]
}
တုံ့ပြန်မှုပုံစံ
အောင်မြင်မှုတုံ့ပြန်ခြင်း။
{
"messages": [
{
"messageId": "unique-message-id",
"recipient": "+380XXXXXXXXX",
"status": "sent"
}
]
}
မှားယွင်းကိုင်တွယ်ခြင်း။
| HTTP အခြေအနေ | ဖော်ပြချက် |
|---|---|
| 200 | တောင်းဆိုမှု အောင်မြင် |
| 400 | တောင်းဆိုချက်ပုံစံ မမှန်ကန် |
| 401 | အထောက်အထားမခိုင်လုံခြင်း |
| 429 | နှုန်းကန့်သတ်ချက်ထက်ကျော်လွန် |
| 500 | အတွင်းပိုင်း ဆာဗာ အမှားအယွင်း |
cURL ဥပမာ
curl -X POST https://restapi.smsbat.com/bat/messagelist \
-u "username:password" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"from": "YourSender",
"to": "+380XXXXXXXXX",
"text": "ivr",
"type": "speechcall",
"menu": [
{
"introUrl": "ivr_XXXXX",
"idleTimeoutMsec": 10000,
"dtmfActions": {
"d1": [
{
"action": "webhook",
"url": "https://YourWebhookURL/0",
"body": {
"confirm": true
},
"headers": {
"test-header": "test"
}
},
{
"action": "hangup"
}
],
"d2": [
{
"action": "webhook",
"url": "https://YourWebhookURL/1",
"body": {
"confirm": false
}
},
{
"action": "hangup"
}
],
"wrong": [
{
"action": "gotoMenu",
"menu": "1"
}
]
}
},
{
"introUrl": "ivr_651854",
"idleTimeoutMsec": 10000,
"dtmfActions": {
"d1": [
{
"action": "webhook",
"url": "https://YourWebhookURL/0",
"body": {
"confirm": true
}
},
{
"action": "hangup"
}
],
"d2": [
{
"action": "webhook",
"url": "https://YourWebhookURL/1",
"body": {
"confirm": false
}
},
{
"action": "hangup"
}
],
"wrong": [
{
"action": "hangup"
}
]
}
}
]
}
]
}'
အကောင်းဆုံးအလေ့အကျင့်များ
- Audio Files - intro URLs များကို အသုံးပြု၍ရကြောင်း သေချာစေပြီး အသံဖိုင်များကို ပံ့ပိုးပေးထားသည့် ဖော်မတ်များဖြစ်ကြောင်း သေချာပါစေ။
- Webhook ယုံကြည်စိတ်ချရမှု - လျင်မြန်စွာတုံ့ပြန်ရန် webhooks များကိုဒီဇိုင်းထုတ်ပါ (2 စက္ကန့်အတွင်း)
- DTMF ရွေးချယ်မှုများ - ပိုမိုကောင်းမွန်သောအသုံးပြုသူအတွေ့အကြုံအတွက် ရွေးချယ်မှု 4-6 ခုအထိ မီနူးရွေးချယ်မှုများကို ကန့်သတ်ပါ။
- ** Timeout Handling** - စိတ်ကြိုက်လုပ်ဆောင်မှု ကန့်သတ်ချက်များကို သတ်မှတ်ရန်
idleTimeoutMsecကို အသုံးပြုပါ (ဥပမာ 10000 ms) နှင့်မှားယွင်းသောDTMF သော့အောက်တွင် ကျက်သရေရှိသော လှည့်ကွက်တစ်ခုကို စီစဉ်သတ်မှတ်ပါ (မီနူးကို ထပ်ခါထပ်ခါ သို့မဟုတ် ဖုန်းချခြင်းကဲ့သို့) - Multi-Menu Call Flow - သုံးစွဲသူများကို ယခင်မီနူးများသို့ လမ်းကြောင်းပြောင်းသည့်အခါ အဆုံးမဲ့ loops များကို ကာကွယ်ရန်
gotoMenuကို ဂရုတစိုက် အသုံးပြုပါ။ - Fallback Strategy - အဖြေမပြန်သော သို့မဟုတ် အဆက်ဖြတ်ခြင်းမရှိသော အသုံးပြုသူများအတွက် တုံ့ပြန်မှုမက်ဆေ့ချ်များကို အသုံးပြုပါ။
ဆက်စပ်အကြောင်းအရာများ
- Send Message - အထွေထွေစာတိုပေးပို့ခြင်းလမ်းညွှန်
- Flash Call - ရိုးရှင်းသော အသံဖြင့် အတည်ပြုခြင်းခေါ်ဆိုမှုများ
- Check Status - မက်ဆေ့ချ်ပေးပို့မှုအခြေအနေကို ခြေရာခံပါ။
- Message Types - ပံ့ပိုးပေးထားသော မက်ဆေ့ဂျ်အမျိုးအစားများအားလုံး၏ ခြုံငုံသုံးသပ်ချက်