API de voz
Explora la API de voz programable de Twilio y crea experiencias de llamadas personalizadas con reconocimiento de voz, grabación de llamadas, llamadas en conferencia y mucho más.
Regístrate y empieza a construirPrueba una llamada telefónica desde la API de voz
Cuando se inicia la llamada telefónica, este código realiza una solicitud a la API de voz de Twilio proporcionando tanto un número de teléfono al que llamar, como una ubicación del servidor que proporcionará instrucciones TwiML sobre cómo enrutar la llamada telefónica.
Esta lógica de llamada se basa en una serie de verbos TwiML, entre los que se incluyen <Say> (decir) para hablar con el agente de llamada, <Gather> (reunir) para tomar la entrada del teclado de marcación del usuario y <Play> (reproducir) para devolver el audio al usuario.
Demostración disponible en Estados Unidos y Canadá.
- PHP
- Node
- Python
- Ruby
- Java
- .NET (C#)
<?php
// Update the path below to your autoload.php,
// see https://getcomposer.org/doc/01-basic-usage.md
require_once '/path/to/vendor/autoload.php';
use Twilio\Rest\Client;
// Your Account Sid and Auth Token from twilio.com/console
$sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$token = "your_auth_token";
$twilio = new Client($sid, $token);
$call = $twilio->calls
->create("+15558675310", // to
"+15017122661", // from
array("url" => "http://demo.twilio.com/docs/voice.xml")
);
print($call->sid);
// Install the C# / .NET helper library from twilio.com/docs/csharp/install
using System;
using Twilio;
using Twilio.Rest.Api.V2010.Account;
class Program
{
static void Main(string[] args)
{
// Find your Account Sid and Token at twilio.com/console
const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const string authToken = "your_auth_token";
TwilioClient.Init(accountSid, authToken);
var call = CallResource.Create(
url: new Uri("http://demo.twilio.com/docs/voice.xml"),
to: new Twilio.Types.PhoneNumber("+15558675310"),
from: new Twilio.Types.PhoneNumber("+15017122661")
);
Console.WriteLine(call.Sid);
}
}
// Install the Java helper library from twilio.com/docs/java/install
import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Call;
import com.twilio.type.PhoneNumber;
import java.net.URI;
public class Example {
// Find your Account Sid and Token at twilio.com/console
public static final String ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
public static final String AUTH_TOKEN = "your_auth_token";
public static void main(String[] args) {
Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
Call call = Call.creator(
new com.twilio.type.PhoneNumber("+15558675310"),
new com.twilio.type.PhoneNumber("+15017122661"),
URI.create("http://demo.twilio.com/docs/voice.xml"))
.create();
System.out.println(call.getSid());
}
}
// Download the helper library from https://www.twilio.com/docs/node/install
// Your Account Sid and Auth Token from twilio.com/console
const accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const authToken = "your_auth_token";
const client = require("twilio")(accountSid, authToken);
client.calls
.create({
url: "http://demo.twilio.com/docs/voice.xml",
to: "+15558675310",
from: "+15017122661",
})
.then((call) => console.log(call.sid))
.done();
# Download the helper library from https://www.twilio.com/docs/python/install
from twilio.rest import Client
# Your Account Sid and Auth Token from twilio.com/console
account_sid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)
call = client.calls.create(
url='http://demo.twilio.com/docs/voice.xml',
to='+15558675310',
from_='+15017122661'
)
print(call.sid)
# Download the helper library from https://www.twilio.com/docs/ruby/install
require 'rubygems'
require 'twilio-ruby'
# Your Account Sid and Auth Token from twilio.com/console
account_sid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
auth_token = 'your_auth_token'
@client = Twilio::REST::Client.new(account_sid, auth_token)
call = @client.calls.create(
url: 'http://demo.twilio.com/docs/voice.xml',
to: '+15558675310',
from: '+15017122661'
)
puts call.sid
Potentes elementos básicos de la API de voz
Control de llamadas de programación
Tu aplicación instruye a Twilio en tiempo real sobre cómo se debe realizar una llamada y crea casi cualquier flujo de trabajo que puedas imaginar.
Ver documentos de la API de Voice<Response> <Play>/ahoy.mp3</Play> <Dial action="/forward"> +15551234456 </Dial> </Response>
Entrada del teclado <Say> (decir) y <Gather> (reunir)
Los aspectos básicos de la mayoría de los flujos de llamadas comienzan con la capacidad de recitar cadenas de texto y recopilar entradas del teclado DTMF.
Ver documentación<Response> <Gather action="/process-keypad-input"> <Say language="en-gb"> Ahoy! Choose an option. For Sales press 1. For Support press 2. </Say> </Gather> </Response>
<Queue> (cola) y <Conference> (conferencia) incorporadas
TwiML proporciona elementos básicos inteligentes para Conference (conferencia) y Queue (cola) que facilitan la creación de experiencias de llamadas sin interrupciones.
Ver documentación<Response> <Dial> <Client>jenny</Client> </Dial> </Response>
<Dial> (marcar) un <Client> (cliente) con WebRTC
Conecta una llamada a una aplicación web o móvil utilizando el SDK de cliente de Twilio. Tu TwiML especifica a qué nombre de usuario del cliente debe conectarse la llamada.
Ver documentación<Response> <Say language="en-gb"> Ahoy! Please hold while we connect you to an agent. </Say> <Queue url="/support-hold"> support-wait-queue </Queue> </Response>
Notificaciones de progreso de llamadas
Obtén webhooks que notifiquen los eventos de progreso de la llamada a medida que cualquier llamada progresa a través de eventos clave, como Initiated (Iniciada), Ringing (Sonando), Answered (Contestada) y Completed (Finalizada).
Ver documentación<Response> <Dial> <Number statusCallbackEvent="initiated ringing answered completed" statusCallback="https://myapp.com/calls/events" statusCallbackMethod="POST"> +14158675309 </Number> </Dial> </Response>
La ventaja de Twilio
Comunícate de manera confiable
Disfruta de un acuerdo de nivel de servicio que garantiza un 99,95 % de tiempo de actividad, lo que es posible con la conmutación por error automatizada y cero ventanas de mantenimiento.
Realiza tus operaciones a escala
Extiende la misma app que desarrollaste solo una vez a nuevos mercados con funciones configurables para su localización y cumplimiento.
Muchos canales
Utiliza la misma plataforma que conoces para voz, SMS, video, chat, autenticación de dos factores, y mucho más.
Sin engaños
Sal al mercado más rápido solo pagando por tu consumo, con soporte gratuito y la libertad de escalar y desescalar sin contratos.
¿Aún no estás listo? Habla con un experto