Messaġġi SpeechCall
SpeechCall huwa tip ta ‘messaġġ ta’ rispons tal-vuċi interattiv (IVR) li jippermettilek tagħmel sejħiet bil-vuċi awtomatizzati b’għażliet ta ‘menu u interazzjonijiet DTMF (ton dual-tone multi-frekwenza).
Ħarsa ġenerali
SpeechCall jippermetti lin-negozji biex:
- Agħmel sejħiet bil-vuċi awtomatizzati lill-klijenti
- Ilgħab messaġġi awdjo tal-bidu
- Ippreżenta għażliet tal-menu interattivi
- Immaniġġja tweġibiet għall-istampa tat-tasti DTMF (0-9, *, #)
- Iddefinixxi l-imġiba tad-dwana għal inputs invalidi/timeout
- Trigger webhooks b’korpi u headers tad-dwana bbażati fuq selezzjonijiet tal-utent
- Immaniġġja l-fluss tat-telefonati b’mod dinamiku (naviga bejn il-menus)
Każijiet ta’ Użu
- Stħarriġ tal-Klijenti - Iġbor rispons permezz tal-għażliet tal-menu tat-telefon
- Tfakkiriet ta’ Appuntamenti - Ikkonferma jew iskeda mill-ġdid b’interazzjoni bil-vuċi
- Traċċar tal-Ordni - Ipprovdi aġġornamenti tal-istatus tal-ordni
- Notifiki Interattivi - Iwassal informazzjoni importanti b’għażliet ta’ azzjoni
- Verifika tal-Vuċi - Awtentikazzjoni b’ħafna fatturi permezz ta’ sejħiet bil-vuċi
Format tat-Talba
Struttura Bażika
{
"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"
}
]
}
}
]
}
]
}
Deskrizzjoni tal-Parametru
| Parametru | Tip | Meħtieġa | Deskrizzjoni |
|---|---|---|---|
| ”minn” | spag | Iva | Identifikatur tal-mittent (isem alfa jew ID) |
| “għal” | spag | Iva | Numru tat-telefon tar-riċevitur f’format internazzjonali |
| ”test” | spag | Iva | Valur tat-test, tipikament “ivr” għal SpeechCall |
| ”tip” | spag | Iva | Għandu jkun "speechcall" |
| ”menu” | firxa | Iva | Array ta’ konfigurazzjonijiet tal-menu għas-sejħa |
Konfigurazzjoni tal-Menu
Kull oġġett tal-menu fih:
| Parametru | Tip | Meħtieġa | Deskrizzjoni |
|---|---|---|---|
introUrl | spag | Iva | URL jew identifikatur tal-fajl awdjo introduttorju |
idleTimeoutMsec | numru sħiħ | Le | Timeout f’millisekondi biex tistenna għal tasti (eż., 10000). Jekk l-utent ma jirrispondix, l-azzjonijiet konfigurati taħt iċ-ċavetta “ħażina” se jiġu eżegwiti |
dtmfActions | oġġett | Iva | Mappa taċ-ċwievet DTMF għall-azzjonijiet |
Azzjonijiet DTMF
L-oġġett dtmfActions jimmappa ċwievet DTMF jew kundizzjonijiet speċjali għal matriċi ta’ azzjonijiet:
| Ċavetta DTMF | Deskrizzjoni |
|---|---|
d0 | Agħfas 0 |
d1 | Agħfas 1 |
| ”d2” | Agħfas 2 |
| … | … |
d9 | Agħfas 9 |
d* | Agħfas * |
d# | Agħfas # |
| “ħażin” | Triggers meta tiġi ppressata ċavetta invalida jew meta idleTimeoutMsec jintlaħaq mingħajr ebda input |
Kull ċavetta/kundizzjoni DTMF timmappa għal firxa ta’ azzjonijiet li se jiġu eżegwiti f’sekwenza.
Azzjonijiet Appoġġjati
| Azzjoni | Parametri | Deskrizzjoni |
|---|---|---|
| ”webhook” | url (string, meħtieġ)body (oġġett, fakultattiv)headers (oġġett, fakultattiv) | Tibgħat talba HTTP POST fil-format JSON lill-URL speċifikat. L-oġġett body se jkun imdawwar taħt il-qasam action fit-talba tal-webhook. L-intestaturi tad-dwana huma inklużi bħala headers HTTP. |
hangup | Xejn | Tispiċċa s-sejħa |
gotoMenu | menu (string jew numru sħiħ) | Innaviga s-sejħa għal menu ieħor fl-array menu billi tuża l-indiċi tagħha bbażat fuq 0 (eż., "1") |
Imġieba ta’ Azzjoni Dettaljata
Azzjoni tal-Webhook (webhook)
L-azzjoni “webhook” tibgħat talba HTTP POST lill-URL tar-callback tiegħek bil-metadejta tas-sejħa u d-dejta personalizzata fakultattiva:
- Jekk jiġi pprovdut “korp”, il-pari ta’ valuri ewlenin tiegħu jintbagħtu ġewwa l-qasam “azzjoni” tal-korp tat-tagħbija.
- Jekk jiġu pprovduti
headers, jintbagħtu bħala headers HTTP personalizzati fit-talba.
Azzjoni Hangup (‘hangup’)
L-azzjoni hangup ttemm is-sejħa attiva immedjatament. L-ebda azzjonijiet oħra fis-sekwenza jew menus ma jiġu pproċessati wara azzjoni hangup.
Mur għall-Azzjoni tal-Menu (gotoMenu)
L-azzjoni gotoMenu tidderieġi mill-ġdid il-fluss tas-sejħa għal struttura ta’ menu differenti fi ħdan il-firxa ta’ menu. Huwa jieħu parametru wieħed menu li jispeċifika l-indiċi bbażat fuq 0 tal-menu fil-mira (eż., "1" biex tmur fit-tieni menu, jew "0" biex terġa tibda l-ewwel menu).
Immaniġġjar ta’ Inattività u Żbalji (‘ħażin’)
Iċ-ċavetta “ħażina” ġewwa “dtmfActions” hija handler speċjali tal-fallthrough. Tesegwixxi s-sekwenza tal-firxa ta ‘azzjonijiet tagħha f’żewġ xenarji:
- Input Invalidu: Min iċempel jagħfas ċavetta DTMF li mhix definita f’
dtmfActions(per eżempju, tagħfas3iżda l-menu jiddefinixxi bissd1ud2). - Idle Timeout: Min iċempel ma jagħfas l-ebda ċavetta fiż-żmien speċifikat minn
idleTimeoutMsec.
Jekk “ħażin” ma jiġix definit u min iċempel jagħfas ċavetta invalida jew tispiċċa, il-fluss tas-sejħa jieqaf b’mod awtomatiku. Id-definizzjoni ta’ ħażin tippermettilek tibni menus loop (eż. tmur lura għall-istess menu b’"azzjoni": "gotoMenu", "menu": "0") jew tidderieġi mill-ġdid lill-utent għal menu ta’ għajnuna.
Format ta’ Kunsinna tal-Webhook
Meta l-azzjoni “webhook” tiġi attivata, is-sistema tibgħat talba HTTP POST lill-”url” konfigurat b‘“Content-Type: application/json”.
Webhook Request Headers
Jekk l-azzjoni hija kkonfigurata bil-parametru headers, dawk il-pari ewlenin-valur huma inklużi bħala headers HTTP fit-talba.
Korp ta’ Talba tal-Webhook
It-tagħbija JSON mibgħuta lill-URL tal-webhook tiegħek għandha l-istruttura li ġejja:
{
"from": "0443914272",
"to": "50001",
"mid": "7748021",
"action": {
"confirm": true
}
}
| Qasam | Tip | Deskrizzjoni |
|---|---|---|
| ”minn” | spag | Numru tat-telefon ta’ min iċempel/ID tal-mittent |
| ”għal” | spag | Numru tat-telefon tar-riċevitur |
| ”nofs” | spag | ID tal-messaġġ |
| ”azzjoni” | oġġett | L-oġġett JSON tad-dwana definit fil-qasam body tal-azzjoni |
Eżempju Tlesti
IVR sempliċi bi Timeout & Validazzjoni tal-Input
{
"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"
}
]
}
}
]
}
]
}
IVR Kumpless b’Menus Multipli u Rotot DTMF
Dan l-eżempju juri kif tiddefinixxi menus multipli u tinnaviga bejniethom billi tuża l-azzjoni gotoMenu meta l-utent idaħħal ċavetta invalida jew meta s-sejħa tispiċċa. Juri wkoll korpi tad-dwana u headers HTTP personalizzati mibgħuta mal-webhook triggers.
{
"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"
}
]
}
}
]
}
]
}
Format ta’ Rispons
Rispons ta’ Suċċess
{
"messages": [
{
"messageId": "unique-message-id",
"recipient": "+380XXXXXXXXX",
"status": "sent"
}
]
}
Immaniġġjar ta’ Żbalji
| Stat HTTP | Deskrizzjoni |
|---|---|
| 200 | Talba b’suċċess |
| 400 | Format ta’ talba mhux validu |
| 401 | L-awtentikazzjoni falliet |
| 429 | Limitu tar-rata inqabeż |
| 500 | Żball intern tas-server |
cURL Eżempju
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"
}
]
}
}
]
}
]
}'
L-Aħjar Prattiċi
- Fajls Awdjo - Kun żgur li l-URLs tal-introduzzjoni huma aċċessibbli u li l-fajls tal-awdjo huma f’formati appoġġjati
- Webhook Reliability - Iddisinja webhooks biex jirrispondu malajr (fi żmien 2 sekondi)
- ** Għażliet DTMF ** - Illimita l-għażliet tal-menu għal 4-6 għażliet għal esperjenza aħjar tal-utent
- Immaniġġjar ta’ Timeout - Uża
idleTimeoutMsecbiex tispeċifika limiti ta’ inattività tad-dwana (eż. 10000 ms), u kkonfigurat riżerva grazzjuża taħt iċ-ċavetta DTMF ‘ħażina’ (bħal tirrepeti l-menu jew tdendel) - Fluss ta’ Sejħiet b’Multi-Menu - Uża
gotoMenub’attenzjoni biex tevita loops infiniti meta tgħaddi lill-utenti lura għal menus preċedenti - Fallback Strategy - Uża messaġġi fallback għal utenti li ma jwieġbux jew skonnettjaw
Suġġetti Relatati
- Ibgħat il-Messaġġ - Gwida ġenerali biex tibgħat il-messaġġ
- Sejħa Flash - Sejħiet sempliċi ta’ verifika tal-vuċi
- Iċċekkja l-Istatus - Issegwi l-istatus tal-kunsinna tal-messaġġ
- Tipi ta’ messaġġi - Ħarsa ġenerali tat-tipi kollha ta’ messaġġi appoġġjati