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.
Inscrivez-vous et commencez à construireEssayez 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.
Cette logique d'appel repose sur un certain nombre de verbes TwiML, notamment <Talk> pour parler à l'appelant, <Gather> pour enregistrer les touches du téléphone pressées par l'utilisateur, et <Play> pour lire du son à l'utilisateur.
Démonstration disponible aux États‑Unis et au Canada.
- 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
Des API Voice puissantes
Contrôle des appels programmatiques
Votre application 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.
Consulter les documents sur l'API Voice<Response> <Play>/ahoy.mp3</Play> <Dial action="/forward"> +15551234456 </Dial> </Response>
Lisez du texte avec <Play> 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.
Voir les documents<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>
Primitives <Queue> et <Conference> intégrées
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.
Voir les documents<Response> <Dial> <Client>jenny</Client> </Dial> </Response>
Avec <Dial>, appelez un <Client> basé sur WebRTC
Connectez un appel à une application Web ou mobile à l'aide du SDK Twilio Client. Votre TwiML spécifie le nom d'utilisateur du client auquel connecter l'appel.
Voir les documents<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é.
Voir les documents<Response> <Dial> <Number statusCallbackEvent="initiated ringing answered completed" statusCallback="https://myapp.com/calls/events" statusCallbackMethod="POST"> +14158675309 </Number> </Dial> </Response>
L'avantage Twilio
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.
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é.
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.
Pas de mauvaises surprises
Accélérez la mise sur le marché grâce aux tarifs de paiement à l'utilisation, à l'assistance gratuite et à la liberté d'évolution sans contrat.
Pas encore prêt ? Parler à un expert