API Voice
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.
Inscreva-se e comece a desenvolverTente fazer uma chamada telefônica com a API Voice
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.
Esta lógica de chamada se baseia em um número de verbos TwiML, incluindo "Falar" para falar áudio para o autor da chamada, "Registrar" para obter a entrada do teclado de marcação do usuário e "Reproduzir" para reproduzir áudio para o usuário.
Demonstração disponível nos EUA e no 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
Funções primitivas avançadas da API Voice
Controle de chamadas programável
Seu aplicativo instrui o Twilio em tempo real sobre como uma chamada deve prosseguir — como criar praticamente qualquer fluxo de trabalho que você possa imaginar.
Visualizar a documentação da API Voice<Response> <Play>/ahoy.mp3</Play> <Dial action="/forward"> +15551234456 </Dial> </Response>
"Falar" texto e "Registrar" 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.
Visualizar documentos<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>
"Fila" e "Conferência" integradas
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.
Visualizar documentos<Response> <Dial> <Client>jenny</Client> </Dial> </Response>
"Discar" um "Cliente" desenvolvido com 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.
Visualizar documentos<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.
Visualizar documentos<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
Comunique-se de forma confiável
Experimente um SLA de 99,95% de tempo de atividade possibilitado com failover automatizado e janelas de manutenção zero.
Opere em escala
Estenda o mesmo aplicativo que você já desenvolveu para novos mercados com recursos configuráveis para localização e conformidade.
Muitos canais
Use a mesma plataforma para voz, SMS, vídeo, chat, autenticação de dois fatores, e muito mais.
Sem truques
Coloque em produção com mais agilidade, com um modelos de pagamento por uso, suporte gratuito e liberdade para escalar ou reduzir sem contratos.
Ainda não está pronto? Fale com um especialista