Pasar al contenido principal
You are viewing the Spanish (Mexico) site, but your language preference is set to English. Switch to English site →

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 construir

Prueba una llamada telefónica desde la API de voz

  • Qué está sucediendo
  • Versión técnica

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.