API Voice

Découvrez l'API Programmable Voice de Twilio et créez des expériences d'appel personnalisées avec des fonctionnalités de reconnaissance vocale, d'enregistrement d'appel, de conférences téléphoniques et bien plus encore.

Essayez de recevoir un appel de l'API Voice

Lorsque vous lancez l'appel téléphonique, ce code envoie une requête à l'API Twilio Voice contenant à la fois un numéro de téléphone à appeler et un emplacement de serveur qui fourniront des instructions TwiML concernant le routage de l'appel.

Démonstration disponible aux États-Unis et au Canada.

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

Des API Voice puissantes

Contrôle des appels programmatiques

Votre app donne à Twilio des instructions en temps réel sur la manière dont un appel doit se dérouler. Construisez quasiment tous les workflows imaginables.

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

Lisez du texte avec <Say> et enregistrez les pressions de touches avec <Gather>

Les bases de la plupart des flux d'appels commencent par la possibilité de prononcer des chaînes de texte et de recueillir des données sur le clavier 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>

Les verbes <Queue> et <Conference> sont intégrés

TwiML fournit des primitives intelligentes de conférence et de file d'attente pour vous faciliter la création d'expériences d'appel fluides.

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

Le tag <Dial>, un tag <Client> basé sur WebRTC        

Connectez un appel à une app Web ou mobile à l'aide du SDK (Software Development Kit) Twilio Client. Votre TwiML spécifie le nom d'utilisateur du client auquel connecter l'appel.

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

Notifications de progression d'appel  

Recevez des webhooks signalant les événements clés de progression de l'appel, tels que Initié, Sonnerie, Réponse et Terminé.

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

L'avantage Twilio

Chat bubble with globe

Communiquez de manière fiable

Bénéficiez d'un temps de disponibilité SLA de 99,95 % grâce à un basculement automatisé et à des fenêtres sans maintenance.

Planet Earth

Fonctionnez à grande échelle

Étendez la même application sur de nouveaux marchés grâce à des fonctionnalités configurables pour la localisation et la conformité.

Network

De nombreux canaux

Utilisez la même plateforme que celle que vous connaissez pour la synthèse vocale, les SMS, la vidéo, le chat, l'authentification à double facteur, et bien plus encore.

Checkmark

Pas de tromperies

Accélérez la mise sur le marché grâce aux tarifs de paiement flexible à l'utilisation, à l'assistance gratuite et à la liberté d'évolution sans contrat.