Pāriet uz saturu

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": "BazarCOM",
      "to": "+380936670003",
      "text": "ivr",
      "type": "speechcall",
      "menu": [
        {
          "introUrl": "ivr_651854",
          "idleTimeoutMsec": 10000,
          "dtmfActions": {
            "d1": [
              {
                "action": "webhook",
                "url": "https://api.example.com/callback/option1",
                "body": {
                  "confirm": true
                },
                "headers": {
                  "X-Custom-Header": "value"
                }
              },
              {
                "action": "hangup"
              }
            ],
            "d2": [
              {
                "action": "webhook",
                "url": "https://api.example.com/callback/option2",
                "body": {
                  "confirm": false
                }
              },
              {
                "action": "hangup"
              }
            ],
            "wrong": [
              {
                "action": "hangup"
              }
            ]
          }
        }
      ]
    }
  ]
}

Parametra apraksts

Parametrs Tips Nepieciešams Apraksts
no stīga Sūtītāja identifikators (burtu vārds vai ID)
uz stīga Saņēmēja tālruņa numurs starptautiskā formātā
teksts stīga Teksta vērtība, parasti “ivr” funkcijai SpeechCall
"tips" stīga Jābūt "speechcall"
izvēlne masīvs Izvēlņu konfigurāciju klāsts zvanam

Izvēlnes konfigurācija

Katrs izvēlnes objekts satur:

Parametrs Tips Nepieciešams Apraksts
"introUrl" stīga Ievada audio faila URL vai identifikators
idleTimeoutMsec vesels skaitlis Taimauts 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' objekts DTMF 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ēga Apraksts
"d0" Nospiediet 0
"d1" Nospiediet 1
"d2" Nospiediet 2
... ...
"d9" Nospiediet 9
d* Nospiediet *
d# Nospiediet #
nepareizi Aktivizē, 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ība Parametri Apraksts
webhook url (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ārt Nav Pabeidz 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")

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
  }
}
Lauks Tips Apraksts
no stīga Zvanītāja tālruņa numurs / sūtītāja ID
uz stīga Saņēmēja tālruņa numurs
vidū stīga Ziņojuma ID
"darbība" objekts Pielā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": "BazarCOM",
      "to": "+380936670003",
      "text": "ivr",
      "type": "speechcall",
      "menu": [
        {
          "introUrl": "ivr_651854",
          "idleTimeoutMsec": 10000,
          "dtmfActions": {
            "d1": [
              {
                "action": "webhook",
                "url": "https://api.example.com/callback/option1",
                "body": {
                  "confirm": true
                }
              },
              {
                "action": "hangup"
              }
            ],
            "d2": [
              {
                "action": "webhook",
                "url": "https://api.example.com/callback/option2",
                "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_651854",
          "idleTimeoutMsec": 10000,
          "dtmfActions": {
            "d1": [
              {
                "action": "webhook",
                "url": "http://api.smsbat.local/gatereq/temp/hook",
                "body": {
                  "confirm": true
                },
                "headers": {
                  "test-header": "test"
                }
              },
              {
                "action": "hangup"
              }
            ],
            "d2": [
              {
                "action": "webhook",
                "url": "http://api.smsbat.local/gatereq/temp/hook",
                "body": {
                  "confirm": false
                }
              },
              {
                "action": "hangup"
              }
            ],
            "wrong": [
              {
                "action": "gotoMenu",
                "menu": "1"
              }
            ]
          }
        },
        {
          "introUrl": "ivr_651854",
          "idleTimeoutMsec": 10000,
          "dtmfActions": {
            "d1": [
              {
                "action": "webhook",
                "url": "http://localhost/1"
              }
            ],
            "d2": [
              {
                "action": "webhook",
                "url": "http://localhost/1"
              }
            ],
            "wrong": [
              {
                "action": "hangup"
              }
            ]
          }
        }
      ]
    }
  ]
}

Atbildes formāts

Veiksmīga atbilde

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

Kļūdu apstrāde

HTTP statuss Apraksts
200 Pieprasījums veiksmīgs
400 Nederīgs pieprasījuma formāts
401 Autentifikācija neizdevās
429 Likmes ierobežojums pārsniegts
500 Iekšē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_651854",
            "idleTimeoutMsec": 10000,
            "dtmfActions": {
              "d1": [
                {
                  "action": "webhook",
                  "url": "http://api.smsbat.local/gatereq/temp/hook",
                  "body": {
                    "confirm": true
                  },
                  "headers": {
                    "test-header": "test"
                  }
                },
                {
                  "action": "hangup"
                }
              ],
              "d2": [
                {
                  "action": "webhook",
                  "url": "http://api.smsbat.local/gatereq/temp/hook",
                  "body": {
                    "confirm": false
                  }
                },
                {
                  "action": "hangup"
                }
              ],
              "wrong": [
                {
                  "action": "gotoMenu",
                  "menu": "1"
                }
              ]
            }
          },
          {
            "introUrl": "ivr_651854",
            "idleTimeoutMsec": 10000,
            "dtmfActions": {
              "d1": [
                {
                  "action": "webhook",
                  "url": "http://localhost/1"
                }
              ],
              "d2": [
                {
                  "action": "webhook",
                  "url": "http://localhost/1"
                }
              ],
              "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