Skip to content

स्पीचकल सन्देशहरू

SpeechCall एक अन्तरक्रियात्मक भ्वाइस प्रतिक्रिया (IVR) सन्देश प्रकार हो जसले तपाईंलाई मेनु विकल्पहरू र DTMF (डुअल-टोन बहु-फ्रिक्वेन्सी) अन्तरक्रियाहरूका साथ स्वचालित भ्वाइस कलहरू गर्न अनुमति दिन्छ।

सिंहावलोकन

SpeechCall ले व्यवसायहरूलाई सक्षम बनाउँछ: - ग्राहकहरूलाई स्वचालित भ्वाइस कल गर्नुहोस् - परिचयात्मक अडियो सन्देशहरू प्ले गर्नुहोस् - अन्तरक्रियात्मक मेनु विकल्पहरू प्रस्तुत गर्नुहोस् - DTMF कुञ्जी प्रेस प्रतिक्रियाहरू ह्यान्डल गर्नुहोस् (०-९, *, #) - अमान्य/टाइमआउट इनपुटहरूको लागि अनुकूलन व्यवहार परिभाषित गर्नुहोस् - प्रयोगकर्ता चयनहरूमा आधारित अनुकूलन निकायहरू र हेडरहरूसँग वेबहुकहरू ट्रिगर गर्नुहोस् - कल प्रवाह गतिशील रूपमा प्रबन्ध गर्नुहोस् (मेनुहरू बीच नेभिगेट गर्नुहोस्)

केसहरू प्रयोग गर्नुहोस्

  • ग्राहक सर्वेक्षण - फोन मेनु विकल्पहरू मार्फत प्रतिक्रिया सङ्कलन
  • अपोइन्टमेन्ट रिमाइन्डरहरू - भ्वाइस अन्तर्क्रियाको साथ पुष्टि गर्नुहोस् वा पुन: तालिका बनाउनुहोस्
  • अर्डर ट्र्याकिङ - अर्डर स्थिति अद्यावधिकहरू प्रदान गर्नुहोस्
  • अन्तर्क्रियात्मक सूचनाहरू - कार्य विकल्पहरूको साथ महत्त्वपूर्ण जानकारी डेलिभर गर्नुहोस्
  • आवाज प्रमाणीकरण - भ्वाइस कलहरू मार्फत बहु-कारक प्रमाणीकरण

अनुरोध ढाँचा

आधारभूत संरचना

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

प्यारामिटर विवरण

प्यारामिटर प्रकार आवश्यक विवरण
'बाट' स्ट्रिङ हो प्रेषक पहिचानकर्ता (अल्फा नाम वा आईडी)
to स्ट्रिङ हो अन्तर्राष्ट्रिय ढाँचामा प्राप्तकर्ता फोन नम्बर
पाठ स्ट्रिङ हो पाठ मान, सामान्यतया "ivr" SpeechCall
प्रकार स्ट्रिङ हो "स्पीचकल" हुनुपर्छ
मेनु array हो कलको लागि मेनु कन्फिगरेसनहरूको एरे

मेनु कन्फिगरेसन

प्रत्येक मेनु वस्तु समावेश:

प्यारामिटर प्रकार आवश्यक विवरण
'introUrl' स्ट्रिङ हो परिचयात्मक अडियो फाइलको URL वा पहिचानकर्ता
idleTimeoutMsec पूर्णांक छैन कुञ्जी थिच्नका लागि मिलिसेकेन्डमा टाइमआउट (जस्तै, १००००)। यदि प्रयोगकर्ताले प्रतिक्रिया दिँदैन भने, गलत कुञ्जी अन्तर्गत कन्फिगर गरिएका कार्यहरू कार्यान्वयन गरिनेछन्
dtmfActions वस्तु हो कार्यहरूको DTMF कुञ्जीहरूको नक्सा

DTMF कार्यहरू

'dtmfActions' वस्तुले DTMF कुञ्जीहरू वा कार्यहरूको एरेहरूमा विशेष सर्तहरू नक्सा गर्दछ:

DTMF कुञ्जी विवरण
d0 0
d1 1
d2 2
... ...
d9 9 थिच्नुहोस्
d* थिच्नुहोस् *
d# #
'गलत' अवैध कुञ्जी थिच्दा वा कुनै इनपुट बिना idleTimeoutMsec पुग्दा ट्रिगर हुन्छ

प्रत्येक DTMF कुञ्जी/सर्त क्रमबद्ध रूपमा कार्यान्वयन गरिने कार्यहरूको एर्रेमा नक्सा गर्दछ।

समर्थित कार्यहरू

कार्य प्यारामिटरहरू विवरण
वेबहुक url (स्ट्रिङ, आवश्यक)
body (वस्तु, ऐच्छिक)
हेडर (वस्तु, ऐच्छिक)
निर्दिष्ट URL मा JSON ढाँचामा HTTP POST अनुरोध पठाउँछ। वेबहुक अनुरोधमा बॉडी वस्तु कार्य फिल्ड अन्तर्गत नेस्ट गरिनेछ। अनुकूलन हेडरहरू HTTP हेडरहरूको रूपमा समावेश छन्।
hangup कुनै पनि छैन कल समाप्त हुन्छ
gotoMenu मेनु (स्ट्रिङ वा पूर्णांक) यसको ०-आधारित अनुक्रमणिका प्रयोग गरेर मेनु एरेमा अर्को मेनुमा कल नेभिगेट गर्छ (जस्तै, "1")

वेबहुक डेलिभरी ढाँचा

जब webhook कार्य ट्रिगर हुन्छ, प्रणालीले कन्फिगर गरिएको url लाई Content-Type: application/json सँग HTTP POST अनुरोध पठाउँछ।

वेबहुक अनुरोध हेडरहरू

यदि कार्य हेडर प्यारामिटरसँग कन्फिगर गरिएको छ भने, ती कुञ्जी-मान जोडीहरूलाई अनुरोधमा HTTP हेडरहरूको रूपमा समावेश गरिन्छ।

वेबहुक अनुरोध निकाय

तपाईंको वेबहुक URL मा पठाइएको JSON पेलोडको निम्न संरचना छ:

{
  "from": "0443914272",
  "to": "50001",
  "mid": "7748021",
  "action": {
    "confirm": true
  }
}
क्षेत्र प्रकार विवरण
'बाट' स्ट्रिङ कल गर्ने फोन नम्बर / प्रेषक आईडी
to स्ट्रिङ प्रापकको फोन नम्बर
'मध्य' स्ट्रिङ सन्देश ID
'कार्य' वस्तु कार्यको body फिल्डमा परिभाषित गरिएको अनुकूलन JSON वस्तु

पूरा उदाहरण

टाइमआउट र इनपुट प्रमाणीकरणको साथ सरल IVR

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

बहु मेनु र DTMF राउटिङको साथ जटिल IVR

यो उदाहरणले प्रयोगकर्ताले अमान्य कुञ्जी इनपुट गर्दा वा कल टाइम आउट हुँदा gotoMenu कार्य प्रयोग गरेर कसरी बहु मेनुहरू परिभाषित गर्ने र तिनीहरूको बीचमा नेभिगेट गर्ने भनेर देखाउँछ। यसले वेबहुक ट्रिगरहरूसँग पठाइएका अनुकूलन निकायहरू र अनुकूलन HTTP हेडरहरू पनि देखाउँदछ।

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

प्रतिक्रिया ढाँचा

सफलताको प्रतिक्रिया

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

त्रुटि ह्यान्डलिंग

HTTP स्थिति विवरण
२०० अनुरोध सफल
400 अमान्य अनुरोध ढाँचा
४०१ प्रमाणीकरण असफल
४२९ दर सीमा नाघ्यो
५०० आन्तरिक सर्भर त्रुटि

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

उत्तम अभ्यासहरू

  1. अडियो फाइलहरू - परिचय URL हरू पहुँचयोग्य छन् र अडियो फाइलहरू समर्थित ढाँचाहरूमा छन् भनी सुनिश्चित गर्नुहोस्।
  2. वेबहुक विश्वसनीयता - छिटो प्रतिक्रिया दिन वेबहुक डिजाइन गर्नुहोस् (२ सेकेन्ड भित्र)
  3. DTMF विकल्पहरू - राम्रो प्रयोगकर्ता अनुभवको लागि मेनु विकल्पहरूलाई 4-6 विकल्पहरूमा सीमित गर्नुहोस्
  4. टाइमआउट ह्यान्डलिंग - अनुकूलन निष्क्रियता सीमाहरू निर्दिष्ट गर्न idleTimeoutMsec प्रयोग गर्नुहोस् (जस्तै 10000 ms), र गलत DTMF कुञ्जी अन्तर्गत एक आकर्षक फलब्याक कन्फिगर गर्नुहोस् (जस्तै मेनु दोहोर्याउने वा ह्याङिङ अप गर्ने)
  5. मल्टी-मेनु कल फ्लो - प्रयोगकर्ताहरूलाई अघिल्लो मेनुहरूमा फर्काउँदा अनन्त लुपहरू रोक्न सावधानीपूर्वक gotoMenu प्रयोग गर्नुहोस्।
  6. फलब्याक रणनीति - जवाफ नदिने वा विच्छेदन गर्ने प्रयोगकर्ताहरूका लागि फलब्याक सन्देशहरू प्रयोग गर्नुहोस्

सम्बन्धित विषयहरू