API de voz

Explore a API Programmable Voice da Twilio e crie experiências de chamada personalizadas com reconhecimento de fala, gravação de chamada, chamada em conferência e muito mais.

Tente fazer uma chamada telefônica com a API de voz

Quando você inicia a chamada telefônica, esse código faz uma solicitação à API Twilio Voice, fornecendo um número de telefone para chamada e um local de servidor que fornecerá instruções TwiML sobre como rotear a chamada telefônica.

Demonstração disponível nos EUA e no 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);
  }
}

Funções básicas e poderosas da API de voz

Controle de chamadas programável

O app instrui a Twilio em tempo real sobre como uma chamada deve prosseguir. É possível criar praticamente qualquer fluxo de trabalho que você possa imaginar.

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

<Say> (Falar) texto e <Gather> (Obter) entrada do teclado

Os princípios básicos da maioria dos fluxos de chamada começam com a capacidade de falar sequências de texto e coletar entradas de 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> (Fila) e <Conference> (Conferência) integrados

O TwiML fornece funções básicas inteligentes de conferência e fila para retirar o trabalho pesado da criação de experiências de chamadas perfeitas.

<Response>
  <Dial>
    <Client>jenny</Client>
  </Dial>
</Response>

<Dial> (Chamar) um <Client> (Cliente) com tecnologia WebRTC        

Conecte uma chamada a um aplicativo móvel ou da Web usando o SDK do Twilio Client. Seu TwiML especifica a qual nome de usuário do cliente conectar a chamada.

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

Notificações de progresso da chamada  

Obtenha notificações de webhooks sobre eventos de progresso de chamada à medida que qualquer chamada progride por meio de eventos importantes, como iniciada, tocando, atendida e concluída.

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

A vantagem de utilizar a Twilio

Chat bubble with globe

Comunique-se de forma confiável

Experimente um SLA de 99,95% de uptime possibilitado com failover automatizado e janelas de manutenção zero.

Planet Earth

Opere em escala

Estenda o mesmo aplicativo que você escreve uma vez para novos mercados com recursos configuráveis para localização e conformidade.

Network

Muitos canais

Use a mesma plataforma que você conhece para voz, SMS, vídeo, chat, autenticação de dois fatores, e muito mais.

Checkmark

Sem truques

Chegue ao mercado com mais rapidez com pagamento por utilização, suporte gratuito e a liberdade de ampliar ou reduzir sem contratos.