Help Center SpeechCall ziņojumi

SpeechCall ziņojumi

SpeechCall ir interaktīvas balss atbildes (IVR) ziņojuma veids, kas ļauj veikt automatizētus balss zvanus ar izvēlnes opcijām un DTMF (divtoņu daudzfrekvenču) mijiedarbību.

Pārskats

SpeechCall ļauj uzņēmumiem:

  • Veiciet automatizētus balss zvanus klientiem
  • Atskaņojiet ievada audio ziņas
  • Klāt interaktīvas izvēlnes opcijas
  • Apstrādājiet DTMF taustiņu nospiešanas atbildes (0-9, *, #)
  • Definējiet pielāgotu darbību nederīgām/noildzes ievadēm
  • Aktivizējiet tīmekļa aizķeres ar pielāgotiem pamattekstiem un galvenēm, pamatojoties uz lietotāju atlasēm
  • Pārvaldiet zvanu plūsmu dinamiski (pārvietojieties starp izvēlnēm)

Lietošanas gadījumi

  • Klientu aptaujas - apkopojiet atsauksmes, izmantojot tālruņa izvēlnes opcijas
  • Atgādinājumi par tikšanos - apstipriniet vai pārplānojiet laiku, izmantojot balss mijiedarbību
  • Pasūtījumu izsekošana - Nodrošiniet pasūtījuma statusa atjauninājumus
  • Interaktīvie paziņojumi - sniedziet svarīgu informāciju, izmantojot darbības iespējas
  • Balss verifikācija - Daudzfaktoru autentifikācija, izmantojot balss zvanus

Pieprasīt formātu

Pamatstruktūra

{
  "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"
              }
            ]
          }
        }
      ]
    }
  ]
}

Parametra apraksts

ParametrsTipsNepieciešamsApraksts
nostīgaSūtītāja identifikators (burtu vārds vai ID)
uzstīgaSaņēmēja tālruņa numurs starptautiskā formātā
tekstsstīgaTeksta vērtība, parasti “ivr” funkcijai SpeechCall
”tips”stīgaJābūt "speechcall"
izvēlnemasīvsIzvēlņu konfigurāciju klāsts zvanam

Izvēlnes konfigurācija

Katrs izvēlnes objekts satur:

ParametrsTipsNepieciešamsApraksts
”introUrl”stīgaIevada audio faila URL vai identifikators
idleTimeoutMsecvesels skaitlisTaimauts milisekundēs, lai gaidītu taustiņu nospiešanu (piemēram, “10000”). Ja lietotājs nereaģē, tiks izpildītas darbības, kas konfigurētas ar taustiņu “nepareizi”.
`dtmfActions’objektsDTMF darbību taustiņu karte

DTMF darbības

Objekts “dtmfActions” kartē DTMF atslēgas vai īpašos nosacījumus ar darbību masīviem:

DTMF atslēgaApraksts
”d0”Nospiediet 0
”d1”Nospiediet 1
”d2”Nospiediet 2
“d9”Nospiediet 9
d*Nospiediet *
d#Nospiediet #
nepareiziAktivizē, ja tiek nospiesta nederīga atslēga vai kad tiek sasniegts `idleTimeoutMsec’ bez jebkādas ievades

Katra DTMF atslēga/nosacījums tiek kartēts uz darbību masīvu, kas tiks izpildītas secīgi.

Atbalstītās darbības

DarbībaParametriApraksts
webhookurl (virkne, obligāta)
body (objekts, neobligāti)
galvenes (objekts, neobligāti)
Nosūta HTTP POST pieprasījumu JSON formātā uz norādīto URL. Objekts “body” tiks ligzdots tīmekļa aizķeres pieprasījuma laukā “darbība”. Pielāgotas galvenes ir iekļautas kā HTTP galvenes.
pakārtNavPabeidz zvanu
gotoMenu”izvēlne” (virkne vai vesels skaitlis)Pārvieto izsaukumu uz citu izvēlni masīvā “menu”, izmantojot indeksu, kura pamatā ir 0 (piemēram, “1”)

Detalizēta rīcība

Tīmekļa aizķeres darbība (webhook)

Darbība “Webhook” nosūta HTTP POST pieprasījumu uz jūsu atzvanīšanas URL ar zvana metadatiem un neobligātiem pielāgotajiem datiem: - Ja ir nodrošināts pamatteksts, tā atslēgu-vērtību pāri tiek nosūtīti lietderīgās slodzes pamatteksta laukā Action.

  • Ja ir norādītas galvenes, tās pieprasījumā tiek nosūtītas kā pielāgotas HTTP galvenes.

Sarunu pārtraukšanas darbība (“pārtraukšana”)

Darbība “pārtraukt” nekavējoties pārtrauc aktīvo zvanu. Pēc darbības pārtraukšanas netiks veiktas nekādas turpmākas darbības secībā vai izvēlnēs.

Doties uz izvēlnes darbību (gotoMenu)

Darbība “gotoMenu” novirza izsaukuma plūsmu uz citu izvēlnes struktūru masīvā “menu”. Nepieciešams viens parametrs “menu”, kas norāda mērķa izvēlnes indeksu, kura pamatā ir 0 (piemēram, “1”, lai pārietu uz otro izvēlni, vai “0”, lai restartētu pirmo izvēlni).


Neaktivitāte un kļūdu apstrāde (“nepareizi”)

Nepareizā atslēga laukā ‘dtmfActions’ ir īpašs apdarinātājs. Tā izpilda savu darbību virkni divos scenārijos: 1. Nederīga ievade: zvanītājs nospiež DTMF taustiņu, kas nav definēts laukā “dtmfActions” (piemēram, viņš nospiež 3, bet izvēlnē ir definēti tikai d1 un d2). 2. Dīkstāves taimauts: zvanītājs nenospiež nevienu taustiņu ‘idleTimeoutMsec’ norādītajā laikā.

Ja nav definēts “nepareizs” un zvanītājs nospiež nederīgu taustiņu vai taimauts, zvana plūsma pēc noklusējuma tiks pārtraukta. Definējot “nepareizi”, varat izveidot cilpas izvēlnes (piemēram, atgriezties tajā pašā izvēlnē ar “action”: “gotoMenu”, “menu”: “0”) vai novirzīt lietotāju uz palīdzības izvēlni.


Webhook piegādes formāts

Kad tiek aktivizēta tīmekļa aizķeres darbība, sistēma nosūta HTTP POST pieprasījumu konfigurētajam vietrādim url ar “Content-Type: application/json”.

Tīmekļa aizķeres pieprasījumu galvenes

Ja darbība ir konfigurēta ar parametru “headers”, šie atslēgu un vērtību pāri pieprasījumā tiek iekļauti kā HTTP galvenes.

Tīmekļa aizķeres pieprasījuma daļa

Uz jūsu tīmekļa aizķeres URL nosūtītajai JSON slodzei ir šāda struktūra:

{
  "from": "0443914272",
  "to": "50001",
  "mid": "7748021",
  "action": {
    "confirm": true
  }
}
LauksTipsApraksts
nostīgaZvanītāja tālruņa numurs / sūtītāja ID
uzstīgaSaņēmēja tālruņa numurs
vidūstīgaZiņojuma ID
”darbība”objektsPielāgots JSON objekts, kas definēts darbības laukā “body”

Pilnīgs piemērs

Vienkāršs IVR ar taimautu un ievades validāciju

{
  "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"
              }
            ]
          }
        }
      ]
    }
  ]
}

Sarežģīts IVR ar vairākām izvēlnēm un DTMF maršrutēšanu

Šajā piemērā ir parādīts, kā definēt vairākas izvēlnes un pārvietoties starp tām, izmantojot darbību GotoMenu, kad lietotājs ievada nederīgu taustiņu vai kad zvana noildze. Tas parāda arī pielāgotus pamattekstus un pielāgotas HTTP galvenes, kas nosūtītas ar tīmekļa aizķeres aktivizētājiem.

{
  "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"
              }
            ]
          }
        }
      ]
    }
  ]
}

Atbildes formāts

Veiksmīga atbilde

{
  "messages": [
    {
      "messageId": "unique-message-id",
      "recipient": "+380XXXXXXXXX",
      "status": "sent"
    }
  ]
}

Kļūdu apstrāde

HTTP statussApraksts
200Pieprasījums veiksmīgs
400Nederīgs pieprasījuma formāts
401Autentifikācija neizdevās
429Likmes ierobežojums pārsniegts
500Iekšējā servera kļūda

cURL piemērs

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"
                }
              ]
            }
          }
        ]
      }
    ]
  }'

Labākā prakse

1. Audio faili — pārliecinieties, vai ir pieejami ievada vietrāži URL un audio faili ir atbalstītos formātos. 2. Tīmekļa aizķeres uzticamība — izveidojiet tīmekļa aizķeres, lai ātri reaģētu (2 sekunžu laikā) 3. DTMF opcijas — ierobežojiet izvēlnes opcijas līdz 4–6, lai nodrošinātu labāku lietotāja pieredzi 4. Noildzes apstrāde — izmantojiet parametru “idleTimeoutMsec”, lai norādītu pielāgotus neaktivitātes ierobežojumus (piemēram, 10 000 ms) un konfigurētu graciozu atkāpšanos zem “nepareizas” DTMF atslēgas (piemēram, izvēlnes atkārtošana vai klausules pārtraukšana). 5. Vairāku izvēlņu zvanu plūsma — uzmanīgi izmantojiet gotoMenu, lai novērstu bezgalīgas cilpas, novirzot lietotājus atpakaļ uz iepriekšējām izvēlnēm. 6. Atkāpšanās stratēģija — izmantojiet rezerves ziņojumus lietotājiem, kuri neatbild vai neatslēdzas.

Saistītās tēmas