Ir para o conteúdo principal
You are viewing the Portuguese (Brazil) site, but your language preference is set to English. Switch to English site →

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 desenvolver

Tente fazer uma chamada telefônica com a API Voice

  • O que está acontecendo
  • Versão técnica

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.