SayAndCapture

SayAndCapture enables you to send a voice message (text-to-speech) to an end/ user and be able to capture the DTMF input by the end user.

The requests for all actions are the same as v1.1 except the removal of clientRequestId


Path for the new API

/POST /api/v1/subaccounts/{{sub-account-id}}/callflows - v1.2


Sample of a sayAndCapturerequest

{
    "callflow": [
        {
        "action": "say&capture",
        "params": {
            "source": "+6568332000",
            "destination": "+6591234567",
            "text": "Hello, this is a say and capture example. please press any number within 10 seconds at the end of this message.",
        "language": "en",
        "voiceProfile": "en-US-BenjaminRUS",
        "repetition": 1,
        "speed": 1,
        "dtmfCallbackUrl": "https://your-url-here.com/",
        "minDigits": 1,
        "maxDigits": 1,
        "digitTimeout": 10000,
        "overallTimeout": 10000,
        "completeOnHash": true,
        "noOfTries": 1,
        "endMessage": null
            }
        }
    ]
}

Response

Success

{
    "sessionId": "d9874358-89ac-4c50-bbab-1eb634482a94",
    "sessionStatus": "CREATED",
    "callFlowRequestId": "89b545a5-0676-11ee-8100-d500c0d203fc",
    "statusCode": 1,
    "statusMessage": "Created"
}

Failure

{
    "sessionStatus": "NOT_CREATED",
    "callFlowRequestId": "16fdab56-0b26-11ee-833c-53a990c2c075",
    "statusCode": -1009,
    "statusMessage": "Invalid call flow entry provided. $.callflow[0].params.text: is missing but it is required"
}
{
    "sessionStatus": "NOT_CREATED",
    "callFlowRequestId": "0564e804-0a7e-11ee-9c83-6df9c048a122",
    "statusCode": -1002,
    "statusMessage": "Speech profile or language parameter invalid"
}

Explaining Session Status

Session status indicates if a call is successfully accepted & created or not created on the 8x8 platform. 8x8 returns two status:

  • CREATED- call is successfully created on the platform.
  • NOT CREATED- call is not successfully created on the platform and 8x8 returns statusCode and statusMessageto understand why the call was not accepted on the platform

Status Code and Status Message

Status CodeMessage
1Created
-1001Invalid JSON request body
-1002Speech profile or language parameter invalid
-1003Valid maxDigits required when minDigits provided
-1005Valid overallTimeout is required when digitTimeout provided
-1007$.callflow[0].action should be one of: [Call action names]
Eg: $.callflow[0].action should be one of: say,playFile,sayAndCapture
-1008
Valid maxDigits is required when completeOnHash is false
-1009Invalid call flow entry provided. [Additional error details here].
Eg: Invalid call flow entry provided. $.callflow[0].params.text: is missing but it is required
-9999An unknown error has occurred.