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.

Prueba 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.

Demostración disponible en Estados Unidos y Canadá.

<?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);
// 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
// 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());
  }
}
// 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);
  }
}

Potentes elementos básicos de la API de voz

Control de llamadas de programación

Tu app instruye a Twilio en tiempo real sobre cómo se debe realizar una llamada y crea casi cualquier flujo de trabajo que puedas imaginar.

<Response>
  <Play>/ahoy.mp3</Play>
  <Dial action="/forward">
    +15551234456
  </Dial>
</Response>

Entrada de texto <Say> (Decir) y de teclado <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.

<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.

<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.

<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).

<Response>
  <Dial>
    <Number
      statusCallbackEvent="initiated ringing answered completed"
      statusCallback="https://myapp.com/calls/events"
      statusCallbackMethod="POST">
        +14158675309
    </Number>
  </Dial>
</Response>

La ventaja de Twilio

Chat bubble with globe

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.

Planet Earth

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.

Network

Muchos canales

Utiliza la misma plataforma que conoces para voz, SMS, video, chat, autenticación de dos factores, y mucho más.

Checkmark

Sin engaños en

Sal al mercado más rápido pagando por lo que usas, con soporte gratuito, y la libertad de escalar y desescalar sin contratos.