Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

UserDefinedMessageSubscription Resource


(information)

Info

This feature is in Public Beta.

See the Voice SDK Call Message Events page for more information.

A UserDefinedMessageSubscription Resource is a Call subresource that represents a subscription to user-defined messages sent from the Voice SDK. You must create a UserDefinedMessageSubscription Resource in order to receive messages from the Voice SDK.

A UserDefinedMessageSubscription Resource can only be created during an active Call associated with the Voice SDK.

Your Voice SDK application must be configured to send messages. Read more about sending and receiving Voice SDK messages on the Voice SDK Call Message Events page.


UserDefinedMessageSubscription Properties

userdefinedmessagesubscription-properties page anchor
Resource properties
account_sidtype: SID<AC>Not PII

call_sidtype: SID<CA>Not PII

The SID of the Call(link takes you to an external page) the User Defined Message Subscription is associated with. This refers to the Call SID that is producing the User Defined Messages.


sidtype: SID<ZY>Not PII

The SID that uniquely identifies this User Defined Message Subscription.


date_createdtype: string<DATE TIME RFC 2822>Not PII

The date that this User Defined Message Subscription was created, given in RFC 2822 format.


uritype: stringNot PII

The URI of the User Defined Message Subscription Resource, relative to https://api.twilio.com.


Create a UserDefinedMessageSubscription Resource

create-a-userdefinedmessagesubscription-resource page anchor
POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/UserDefinedMessageSubscriptions.json

You need to subscribe to a Call's user-defined messages in order to receive messages from the Voice SDK. You do this by creating a UserDefinedMessageSubscription Resource for that Call SID.

You must have an endpoint that can handle POST or GET requests with a Content-Type of application/json. You specify this endpoint in the Callback parameter when creating your UserDefinedMessageSubscription, and this is where Twilio will send requests containing the messages from the Voice SDK.

Use the appropriate Call SID in the path of your POST request. Use the parent Call SID if you wish to send a message to parent Call leg. Use the child Call SID if you wish to send a message to the child Call leg.

See the Voice SDK Overview page for more information on Voice SDK Call legs.

Parameters

create-parameters page anchor
URI parameters
AccountSidtype: SID<AC>Not PII
Path Parameter

The SID of the Account(link takes you to an external page) that subscribed to the User Defined Messages.


CallSidtype: SID<CA>Not PII
Path Parameter

The SID of the Call(link takes you to an external page) the User Defined Messages subscription is associated with. This refers to the Call SID that is producing the user defined messages.


Request body parameters
Callbacktype: string<URI>Not PII
Required

The URL we should call using the method to send user defined events to your application. URLs must contain a valid hostname (underscores are not permitted).


IdempotencyKeytype: stringNot PII

A unique string value to identify API call. This should be a unique string value per API call and can be a randomly generated.


Methodtype: enum<HTTP METHOD>Not PII

The HTTP method Twilio will use when requesting the above Url. Either GET or POST. Default is POST.

Possible values:
GETPOST

Set up a subscription to receive user-defined messages from the Voice SDK

set-up-a-subscription-to-receive-user-defined-messages-from-the-voice-sdk page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_13
// Download the helper library from https://www.twilio.com/docs/node/install
_13
// Find your Account SID and Auth Token at twilio.com/console
_13
// and set the environment variables. See http://twil.io/secure
_13
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_13
const authToken = process.env.TWILIO_AUTH_TOKEN;
_13
const client = require('twilio')(accountSid, authToken);
_13
_13
client.calls('CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_13
.userDefinedMessageSubscriptions
_13
.create({
_13
callback: 'https://www.example.com/your-endpoint-that-can-receive-messages'
_13
})
_13
.then(user_defined_message_subscription => console.log(user_defined_message_subscription.sid));

Output

_10
{
_10
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"call_sid": "CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"sid": "ZYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"date_created": "Wed, 18 Dec 2019 20:02:01 +0000",
_10
"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/UserDefinedMessageSubscriptions/ZYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json"
_10
}


Rate this page: