Help Center SpeechCall Messages

SpeechCall Messages

SpeechCall-ը ինտերակտիվ ձայնային պատասխանի (IVR) հաղորդագրության տեսակ է, որը թույլ է տալիս ավտոմատ ձայնային զանգեր կատարել մենյուի ընտրանքներով և DTMF (երկտոնային բազմահաճախական) փոխազդեցություններով:

Տեսություն

SpeechCall-ը բիզնեսներին հնարավորություն է տալիս՝

  • Ավտոմատացված ձայնային զանգեր կատարեք հաճախորդներին
  • Նվագարկեք ներածական աուդիո հաղորդագրություններ
  • Ներկայացրեք ընտրացանկի ինտերակտիվ տարբերակները
  • Կառավարեք DTMF ստեղնաշարի պատասխանները (0-9, *, #)
  • Սահմանեք հատուկ վարքագիծ անվավեր/ժամկետի մուտքերի համար
  • Գործարկեք վեբ-կեռիկներ հատուկ մարմիններով և վերնագրերով, որոնք հիմնված են օգտագործողի ընտրության վրա
  • Կառավարեք զանգերի հոսքը դինամիկ (նավարկեք ընտրացանկերի միջև)

Օգտագործման դեպքեր

  • Հաճախորդների հարցումներ - Հավաքեք կարծիք հեռախոսի մենյուի ընտրանքների միջոցով
  • ** Նշանակման հիշեցումներ ** - Հաստատեք կամ վերապլանավորեք ձայնային փոխազդեցությամբ
  • **Պատվերների հետևում ** - Տրամադրել պատվերի կարգավիճակի թարմացումներ
  • Ինտերակտիվ ծանուցումներ - Գործողությունների ընտրանքներով կարևոր տեղեկատվություն տրամադրեք
  • Ձայնի ստուգում - Բազմաֆունկցիոնալ նույնականացում ձայնային զանգերի միջոցով

Հարցման ձևաչափ

Հիմնական կառուցվածք

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

Պարամետրի նկարագրություն

ՊարամետրՏեսակՊահանջվում էՆկարագրություն
«ից»լարայինԱյոՈւղարկողի նույնացուցիչը (ալֆա անունը կամ ID)
«դեպի»լարայինԱյոՍտացողի հեռախոսահամարը միջազգային ձևաչափով
«տեքստ»լարայինԱյոՏեքստային արժեքը, սովորաբար «ivr» SpeechCall
«տեսակ»լարայինԱյոՊետք է լինի «խոսքի զանգ»
«մենյու»զանգվածԱյոԶանգի ընտրացանկի կազմաձևերի զանգված

մենյուի կազմաձևում

Մենյուի յուրաքանչյուր օբյեկտ պարունակում է.

ՊարամետրՏեսակՊահանջվում էՆկարագրություն
«introUrl»լարայինԱյոՆերածական աուդիո ֆայլի URL կամ նույնացուցիչ
«idleTimeoutMsec»ամբողջ թիվՈչՍտեղնաշարի սեղմման համար սպասելու ժամանակը միլիվայրկյաններով է (օրինակ՝ «10000»): Եթե ​​օգտատերը չպատասխանի, «սխալ» ստեղնի տակ կազմաձևված գործողությունները կկատարվեն
«dtmfActions»օբյեկտԱյոՔարտեզ DTMF բանալիների գործողությունների

DTMF գործողություններ

«dtmfActions» օբյեկտը քարտեզագրում է DTMF ստեղները կամ հատուկ պայմանները գործողությունների զանգվածներին.

DTMF բանալիՆկարագրություն
«d0»Սեղմեք 0
«d1»Սեղմեք 1
«d2»Սեղմեք 2
«d9»Սեղմեք 9
«դ*»Սեղմեք *
«d#»Սեղմեք #
«սխալ»Գործարկվում է, երբ սեղմվում է անվավեր ստեղն կամ երբ «idleTimeoutMsec» է հասնում առանց մուտքագրման

Յուրաքանչյուր DTMF ստեղն/պայման քարտեզագրվում է գործողությունների զանգվածին, որոնք կկատարվեն հաջորդականությամբ:

Աջակցվող գործողություններ

ԳործողությունՊարամետրերՆկարագրություն
«վեբկապ»«url» (տող, պարտադիր)
«body» (օբյեկտ, ընտրովի)
«վերնագրեր» (օբյեկտ, ընտրովի)
Նշված URL-ին ուղարկում է HTTP POST հարցում JSON ձևաչափով: «body» օբյեկտը կտեղադրվի «գործողություն» դաշտի տակ՝ webhook հարցումում: Հատուկ վերնագրերը ներառված են որպես HTTP վերնագրեր:
«հանգուցալուծում»Ոչ միԱվարտում է զանգը
«gotoMenu»«մենյու» (տող կամ ամբողջ թիվ)Նավարկում է զանգը դեպի «մենյու» զանգվածի մեկ այլ ընտրացանկ՝ օգտագործելով 0-ի վրա հիմնված ինդեքսը (օրինակ՝ «1»»)

Մանրամասն գործողությունների վարքագիծ

Webhook Action (‘webhook’)

«Webhook» գործողությունը HTTP POST հարցում է ուղարկում ձեր հետադարձ կապի URL-ին՝ զանգի մետատվյալներով և կամընտիր հատուկ տվյալներով.

  • Եթե տրամադրվում է «մարմին», դրա բանալին-արժեք զույգերն ուղարկվում են օգտակար բեռի մարմնի «գործողություն» դաշտ:
  • Եթե «վերնագրերը» տրամադրված են, դրանք ուղարկվում են որպես հատուկ HTTP վերնագրեր հարցումում:

Hangup Action («Hangup»)

«Hangup» գործողությունն անմիջապես դադարեցնում է ակտիվ զանգը: Հերթականության կամ ընտրացանկի հետագա գործողությունները չեն մշակվի «կախված» գործողությունից հետո:

Գնալ դեպի մենյու գործողություն («gotoMenu»)

«gotoMenu» գործողությունը վերահղում է զանգի հոսքը դեպի «մենյու» զանգվածի մենյուի այլ կառուցվածք: Այն պահանջում է «մենյու» մեկ պարամետր, որը սահմանում է թիրախային ընտրացանկի 0-ի վրա հիմնված ինդեքսը (օրինակ՝ «1»՝ երկրորդ ընտրացանկ գնալու համար, կամ «0»՝ առաջին ընտրացանկը վերագործարկելու համար):


Անգործություն և սխալների մշակում («սխալ»)

«dtmfActions»-ի ներսում «սխալ» ստեղնը հատուկ անկման կառավարիչ է: Այն իրականացնում է իր գործողությունների հաջորդականությունը երկու սցենարով.

  1. Սխալ մուտքագրում. զանգահարողը սեղմում է DTMF ստեղնը, որը սահմանված չէ «dtmfActions»-ում (օրինակ, նրանք սեղմում են «3», բայց ընտրացանկը սահմանում է միայն «d1» և «d2»):
  2. Idle Timeout. զանգահարողը չի սեղմում որևէ ստեղն «idleTimeoutMsec»-ի կողմից սահմանված տևողության ընթացքում:

Եթե ​​«սխալ» սահմանված չէ, և զանգահարողը սեղմում է անվավեր ստեղն կամ ժամանակն ավարտվում է, զանգի հոսքը լռելյայնորեն կդադարի: «Սխալ» սահմանելը թույլ է տալիս ստեղծել ցիկլային մենյու (օրինակ՝ վերադառնալ նույն ընտրացանկ՝ «գործողություն»՝ «gotoMenu», «մենյու»՝ «0»») կամ օգտատիրոջը վերահղել դեպի օգնության ընտրացանկ:


Webhook-ի առաքման ձևաչափ

Երբ «webhook» գործողությունը գործարկվում է, համակարգը HTTP POST հարցում է ուղարկում կազմաձևված «url» հասցեին՝ «Content-Type. application/json»:

Webhook-ի հարցումների վերնագրեր

Եթե գործողությունը կազմաձևված է «վերնագրեր» պարամետրով, այդ բանալին-արժեք զույգերը ներառված են որպես HTTP վերնագրեր հարցումում:

Webhook Request Body

Ձեր webhook URL-ին ուղարկված JSON ծանրաբեռնվածությունը ունի հետևյալ կառուցվածքը.

{
  "from": "0443914272",
  "to": "50001",
  "mid": "7748021",
  "action": {
    "confirm": true
  }
}
ԴաշտայինՏեսակՆկարագրություն
«ից»լարայինԶանգահարողի հեռախոսահամարը / ուղարկողի ID
«դեպի»լարայինՍտացողի հեռախոսահամարը
«միջին»լարայինՀաղորդագրության ID
«գործողություն»օբյեկտՀատուկ JSON օբյեկտը սահմանված է գործողության «body» դաշտում

Ամբողջական օրինակ

Պարզ 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"
              }
            ]
          }
        }
      ]
    }
  ]
}

Կոմպլեքս IVR բազմաթիվ մենյուներով և DTMF երթուղղմամբ

Այս օրինակը ցույց է տալիս, թե ինչպես կարելի է սահմանել մի քանի մենյու և նավարկել դրանց միջև՝ օգտագործելով «gotoMenu» գործողությունը, երբ օգտատերը մուտքագրում է անվավեր բանալի կամ երբ զանգի ժամանակը սպառվում է: Այն նաև ցույց է տալիս մաքսային մարմիններ և հատուկ HTTP վերնագրեր, որոնք ուղարկվել են webhook գործարկիչներով:

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

Լավագույն պրակտիկա

  1. Աուդիո Ֆայլեր - Համոզվեք, որ ներածական URL-ները հասանելի են, և աուդիո ֆայլերը աջակցվող ձևաչափերով են
  2. Webhook Reliability - Նախագծեք վեբ-կեռիկներ արագ արձագանքելու համար (2 վայրկյանում)
  3. DTMF Ընտրանքներ - Սահմանափակեք ընտրացանկի ընտրանքները 4-6 ընտրանքով՝ օգտվողի ավելի լավ փորձի համար
  4. Timeout Handling - Օգտագործեք «idleTimeoutMsec»՝ նշելու անգործության հատուկ սահմանաչափերը (օրինակ՝ 10000 ms) և կարգավորեք նրբագեղ հետադարձ կապ «սխալ» DTMF ստեղնի տակ (օրինակ՝ ցանկը կրկնելը կամ անջատելը)
  5. Multi-Menu Call Flow - Զգուշորեն օգտագործեք «gotoMenu»-ն՝ կանխելու անսահման հանգույցները, երբ օգտատերերին երթուղում են դեպի նախորդ ընտրացանկերը:
  6. Հետադարձ ռազմավարություն - Օգտագործեք հետադարձ հաղորդագրություններ այն օգտատերերի համար, ովքեր չեն պատասխանում կամ անջատում են կապը

Հարակից թեմաներ