Twilio. Calls
(twilio v0.2.0)
Copy Markdown
API calls: create, delete, list, retrieve, update.
Summary
Functions
Create a new outgoing call to phones, SIP-enabled endpoints or Twilio Client connections
Like create/2, but returns the result or raises Infusion.Runtime.Error.
Delete a Call record from your account. Once the record is deleted, it will no longer appear in the API and Account Portal logs.
Like delete/2, but returns the result or raises Infusion.Runtime.Error.
Retrieves a collection of calls made to and from your account
Like list/2, but returns the result or raises Infusion.Runtime.Error.
Like list/2, but returns every item, from every page: a lazy stream of Twilio.Schemas.Call.t() that fetches pages as it is read.
Like list_all/2, but returns the stream or raises Infusion.Runtime.Error.
Fetch the call specified by the provided Call SID
Like retrieve/2, but returns the result or raises Infusion.Runtime.Error.
Initiates a call redirect or terminates a call
Like update/3, but returns the result or raises Infusion.Runtime.Error.
Functions
@spec create(map() | keyword(), keyword()) :: {:ok, Twilio.Schemas.Call.t()} | {:error, Infusion.Runtime.Error.t()}
Create a new outgoing call to phones, SIP-enabled endpoints or Twilio Client connections
POST /2010-04-01/Accounts/{AccountSid}/Calls.json
{AccountSid} in the path is the :account_sid setting; pass account_sid: "..." as an option to use another.
Parameters
application_sid- The SID of the Application resource that will handle the call, if the call will be handled by an application.async_amd- Select whether to perform answering machine detection in the background. Default, blocks the execution of the call until Answering Machine Detection is completed. Can be:trueorfalse.async_amd_status_callback- The URL that we should call using theasync_amd_status_callback_methodto notify customer application whether the call was answered by human, machine or fax.async_amd_status_callback_method- The HTTP method we should use when calling theasync_amd_status_callbackURL. Can be:GETorPOSTand the default isPOST.byoc- The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note thatbyocis only meaningful whentois a phone number; it will otherwise be ignored. (Beta)call_reason- The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)call_token- A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.caller_id- The phone number, SIP address, or Client identifier that made this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted asname@company.com.client_notification_url- The URL that we should use to deliverpush call notification.fallback_method- The HTTP method that we should use to request thefallback_url. Can be:GETorPOSTand the default isPOST. If anapplication_sidparameter is present, this parameter is ignored.fallback_url- The URL that we call using thefallback_methodif an error occurs when requesting or executing the TwiML aturl. If anapplication_sidparameter is present, this parameter is ignored.from(required) - The phone number or client identifier to use as the caller id. If using a phone number, it must be a Twilio number or a Verified outgoing caller id for your account. If thetoparameter is a phone number,Frommust also be a phone number.machine_detection- Whether to detect if a human, answering machine, or fax has picked up the call. Can be:EnableorDetectMessageEnd. UseEnableif you would like us to returnAnsweredByas soon as the called party is identified. UseDetectMessageEnd, if you would like to leave a message on an answering machine. Ifsend_digitsis provided, this parameter is ignored. For more information, see Answering Machine Detection.machine_detection_silence_timeout- The number of milliseconds of initial silence after which anunknownAnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.machine_detection_speech_end_threshold- The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200.machine_detection_speech_threshold- The number of milliseconds that is used as the measuring stick for the length of the speech activity, where durations lower than this value will be interpreted as a human and longer than this value as a machine. Possible Values: 1000-6000. Default: 2400.machine_detection_timeout- The number of seconds that we should attempt to detect an answering machine before timing out and sending a voice request withAnsweredByofunknown. The default timeout is 30 seconds.method- The HTTP method we should use when calling theurlparameter's value. Can be:GETorPOSTand the default isPOST. If anapplication_sidparameter is present, this parameter is ignored.passports- The STIR/SHAKEN passport for this call, provided as a base64 encoded string. Multiple passports (at max 5) are comma separated and provided as base64 encoded stringrecord- Whether to record the call. Can betrueto record the phone call, orfalseto not. The default isfalse. Therecording_urlis sent to thestatus_callbackURL.recording_channels- The number of channels in the final recording. Can be:monoordual. The default ismono.monorecords both legs of the call in a single channel of the recording file.dualrecords each leg to a separate channel of the recording file. The first channel of a dual-channel recording contains the parent call and the second channel contains the child call.recording_configuration_id- The identifier of the configuration to be used when creating and processing the recordingrecording_status_callback- The URL that we call when the recording is available to be accessed.recording_status_callback_event- The recording status events that will trigger calls to the URL specified inrecording_status_callback. Can be:in-progress,completedandabsent. Defaults tocompleted. Separate multiple values with a space.recording_status_callback_method- The HTTP method we should use when calling therecording_status_callbackURL. Can be:GETorPOSTand the default isPOST.recording_track- The audio track to record for the call. Can be:inbound,outboundorboth. The default isboth.inboundrecords the audio that is received by Twilio.outboundrecords the audio that is generated from Twilio.bothrecords the audio that is received and generated by Twilio.send_digits- The string of keys to dial after connecting to the number, with a maximum length of 32 digits. Valid digits in the string include any digit (0-9), 'A', 'B', 'C', 'D', '#', and '*'. You can also use 'w' to insert a half-second pause and 'W' to insert a one-second pause. For example, to pause for one second after connecting and then dial extension 1234 followed by the # key, set this parameter toW1234#. Be sure to URL-encode this string because the '#' character has special meaning in a URL. If bothSendDigitsandMachineDetectionparameters are provided, thenMachineDetectionwill be ignored.sip_auth_password- The password required to authenticate the user account specified insip_auth_username.sip_auth_username- The username used to authenticate the caller making a SIP call.status_callback- The URL we should call using thestatus_callback_methodto send status information to your application. If nostatus_callback_eventis specified, we will send thecompletedstatus. If anapplication_sidparameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted).status_callback_event- The call progress events that we will send to thestatus_callbackURL. Can be:initiated,ringing,answered, andcompleted. If no event is specified, we send thecompletedstatus. If you want to receive multiple events, specify each one in a separatestatus_callback_eventparameter. See the code sample for monitoring call progress. If anapplication_sidis present, this parameter is ignored.status_callback_method- The HTTP method we should use when calling thestatus_callbackURL. Can be:GETorPOSTand the default isPOST. If anapplication_sidparameter is present, this parameter is ignored.time_limit- The maximum duration of the call in seconds. Constraints depend on account and configuration.timeout- The integer number of seconds that we should allow the phone to ring before assuming there is no answer. The default is60seconds and the maximum is600seconds. For some call flows, we will add a 5-second buffer to the timeout value you provide. For this reason, a timeout value of 10 seconds could result in an actual timeout closer to 15 seconds. You can set this to a short time, such as15seconds, to hang up before reaching an answering machine or voicemail.to(required) - The phone number, SIP address, or client identifier to call.trim- Whether to trim any leading and trailing silence from the recording. Can be:trim-silenceordo-not-trimand the default istrim-silence.twiml- TwiML instructions for the call Twilio will use without fetching Twiml from url parameter. If bothtwimlandurlare provided thentwimlparameter will be ignored. Max 4000 characters.url- The absolute URL that returns the TwiML instructions for the call. We will call this URL using themethodwhen the call connects. For more information, see the Url Parameter section in Making Calls.
@spec create!(map() | keyword(), keyword()) :: Twilio.Schemas.Call.t()
Like create/2, but returns the result or raises Infusion.Runtime.Error.
@spec delete(String.t(), keyword()) :: {:ok, nil} | {:error, Infusion.Runtime.Error.t()}
Delete a Call record from your account. Once the record is deleted, it will no longer appear in the API and Account Portal logs.
DELETE /2010-04-01/Accounts/{AccountSid}/Calls/{Sid}.json
Path parameters
sid(required) - The Twilio-provided Call SID that uniquely identifies the Call resource to delete
{AccountSid} in the path is the :account_sid setting; pass account_sid: "..." as an option to use another.
Like delete/2, but returns the result or raises Infusion.Runtime.Error.
@spec list(map() | keyword(), keyword()) :: {:ok, Twilio.Schemas.CallsListResponse.t()} | {:error, Infusion.Runtime.Error.t()}
Retrieves a collection of calls made to and from your account
GET /2010-04-01/Accounts/{AccountSid}/Calls.json
{AccountSid} in the path is the :account_sid setting; pass account_sid: "..." as an option to use another.
Parameters
to- Only show calls made to this phone number, SIP address, Client identifier or SIM SID.from- Only include calls from this phone number, SIP address, Client identifier or SIM SID.parent_call_sid- Only include calls spawned by calls with this SID.status- The status of the calls to include. Can be:queued,ringing,in-progress,canceled,completed,failed,busy, orno-answer.start_time- Only include calls that started on this date. Specify a date asYYYY-MM-DDin UTC, for example:2009-07-06, to read only calls that started on this date.start_time_query- Only include calls that started before this date. Specify a date asYYYY-MM-DDin UTC, for example:2009-07-06, to read only calls that started before this date.start_time_query_2- Only include calls that started on or after this date. Specify a date asYYYY-MM-DDin UTC, for example:2009-07-06, to read only calls that started on or after this date.end_time- Only include calls that ended on this date. Specify a date asYYYY-MM-DDin UTC, for example:2009-07-06, to read only calls that ended on this date.end_time_query- Only include calls that ended before this date. Specify a date asYYYY-MM-DDin UTC, for example:2009-07-06, to read only calls that ended before this date.end_time_query_2- Only include calls that ended on or after this date. Specify a date asYYYY-MM-DDin UTC, for example:2009-07-06, to read only calls that ended on or after this date.page_size- How many resources to return in each list page. The default is 50, and the maximum is 1000.page- The page index. This value is simply for client state.page_token- The page token. This is provided by the API.
To read every item across all pages, use list_all.
@spec list!(map() | keyword(), keyword()) :: Twilio.Schemas.CallsListResponse.t()
Like list/2, but returns the result or raises Infusion.Runtime.Error.
@spec list_all(map() | keyword(), keyword()) :: {:ok, Enumerable.t()} | {:error, Infusion.Runtime.Error.t()}
Like list/2, but returns every item, from every page: a lazy stream of Twilio.Schemas.Call.t() that fetches pages as it is read.
The first page is fetched right away, so its errors are returned; a later page that fails raises Infusion.Runtime.Error. Stopping early (Enum.take/2) fetches no more pages.
@spec list_all!(map() | keyword(), keyword()) :: Enumerable.t()
Like list_all/2, but returns the stream or raises Infusion.Runtime.Error.
@spec retrieve(String.t(), keyword()) :: {:ok, Twilio.Schemas.Call.t()} | {:error, Infusion.Runtime.Error.t()}
Fetch the call specified by the provided Call SID
GET /2010-04-01/Accounts/{AccountSid}/Calls/{Sid}.json
Path parameters
sid(required) - The SID of the Call resource to fetch.
{AccountSid} in the path is the :account_sid setting; pass account_sid: "..." as an option to use another.
@spec retrieve!(String.t(), keyword()) :: Twilio.Schemas.Call.t()
Like retrieve/2, but returns the result or raises Infusion.Runtime.Error.
@spec update(String.t(), map() | keyword(), keyword()) :: {:ok, Twilio.Schemas.Call.t()} | {:error, Infusion.Runtime.Error.t()}
Initiates a call redirect or terminates a call
POST /2010-04-01/Accounts/{AccountSid}/Calls/{Sid}.json
Path parameters
sid(required) - The Twilio-provided string that uniquely identifies the Call resource to update
{AccountSid} in the path is the :account_sid setting; pass account_sid: "..." as an option to use another.
Parameters
fallback_method- The HTTP method that we should use to request thefallback_url. Can be:GETorPOSTand the default isPOST. If anapplication_sidparameter is present, this parameter is ignored.fallback_url- The URL that we call using thefallback_methodif an error occurs when requesting or executing the TwiML aturl. If anapplication_sidparameter is present, this parameter is ignored.method- The HTTP method we should use when calling theurl. Can be:GETorPOSTand the default isPOST. If anapplication_sidparameter is present, this parameter is ignored.statusstatus_callback- The URL we should call using thestatus_callback_methodto send status information to your application. If nostatus_callback_eventis specified, we will send thecompletedstatus. If anapplication_sidparameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted).status_callback_method- The HTTP method we should use when requesting thestatus_callbackURL. Can be:GETorPOSTand the default isPOST. If anapplication_sidparameter is present, this parameter is ignored.time_limit- The maximum duration of the call in seconds. Constraints depend on account and configuration.twiml- TwiML instructions for the call Twilio will use without fetching Twiml from url. Twiml and url parameters are mutually exclusiveurl- The absolute URL that returns the TwiML instructions for the call. We will call this URL using themethodwhen the call connects. For more information, see the Url Parameter section in Making Calls.
@spec update!(String.t(), map() | keyword(), keyword()) :: Twilio.Schemas.Call.t()
Like update/3, but returns the result or raises Infusion.Runtime.Error.