Skip to main content

Gather

POST 
/calls/:call_control_id/actions/gather

Gather DTMF signals to build interactive menus.

You can pass a list of valid digits. The Answer command must be issued before the gather command.

Expected Webhooks (see callback schema below):

  • call.dtmf.received (you may receive many of these webhooks)
  • call.gather.ended

Request

Path Parameters

    call_control_id stringrequired

    Unique identifier and token for controlling the call

Body

required

Gather

    minimum_digits int32

    Default value: 1

    The minimum number of digits to fetch. This parameter has a minimum value of 1.

    maximum_digits int32

    Default value: 128

    The maximum number of digits to fetch. This parameter has a maximum value of 128.

    timeout_millis int32

    Default value: 60000

    The number of milliseconds to wait to complete the request.

    inter_digit_timeout_millis int32

    Default value: 5000

    The number of milliseconds to wait for input between digits.

    initial_timeout_millis int32

    Default value: 5000

    The number of milliseconds to wait for the first DTMF.

    terminating_digit string

    Default value: #

    The digit used to terminate input if fewer than maximum_digits digits have been gathered.

    valid_digits string

    Default value: 0123456789#*

    A list of all digits accepted as valid.

    gather_id string

    Possible values: non-empty and <= 40 characters

    An id that will be sent back in the corresponding call.gather.ended webhook. Will be randomly generated if not specified.

    client_state string

    Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.

    command_id string

    Use this field to avoid duplicate commands. Telnyx will ignore any command with the same command_id for the same call_control_id.

Responses

200: Successful response upon making a call control command.

default: Unexpected error

Callbacks

Request samples


curl -L 'https://api.telnyx.com/v2/calls/:call_control_id/actions/gather' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"minimum_digits": 1,
"maximum_digits": 10,
"timeout_millis": 60000,
"inter_digit_timeout_millis": 10000,
"initial_timeout_millis": 10000,
"terminating_digit": "#",
"valid_digits": "123",
"gather_id": "my_gather_id",
"client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
"command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
}'

Response samples


{
"data": {
"result": "ok"
}
}