Rate this Page

Programmable Voice

With FoneAPI, you can quickly make and receive voice calls in your application. We provide the docs, code samples, helper libraries, and developer tools you need on your journey. You bring your imagination. Let’s build something amazing together.

1
When your phone receives an incoming call, FoneAPI will receive an incoming HTTP request to your server at /answer.
2
Your app tells Fone API how to respond with a text to speech response.
3
Fone API gets the instructions from your app and sends the voice response.
TAKE THE NEXT STEP WITH FONEAPI SMS
Get Started

With just a few lines of code, you’ll make your first out going phone call with the Voice API. Add a few more and your app can respond to incoming callers. Choose your programming language to get started.

Ahoy, World!
Send your first message. Jump to a Quickstart in the language of your choice:

php
// Get the PHP helper library from https://twilio.com/docs/libraries/php require_once '/path/to/vendor/autoload.php' ; //  Loads the library use FoneAPI\Rest\Client ;

// Your Account Sid and Auth Token from foneapi.com/user/account
$sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ;
$token = "your_auth_token" ;
$client = new Client($sid, $token);

// Get an object from its sid. If you do not have a sid,
// check out the list resource examples on this page

$message = $client
   ->messages("MM800f449d0399ed014aae2bcc0cc2f2ec")
   ->fetch();

echo $message->body;

/**
* Download the Node helper library from
* twilio.com/docs/node/install
* These consts are your accountSid and authToken from
* /console
**/


const accountSid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
const authToken = 'your_auth_token'
const client = require('twilio')(accountSid, authToken)

client.messages('MM800f449d0399ed014aae2bcc0cc2f2ec')
 .fetch()
 .then(message => console.log(message.body))

# Download the Python helper library from twilio.com/docs/python/install from twilio.rest import Client

# Your Account Sid and Auth Token from twilio.com/user/account
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client(account_sid, auth_token)

message = client.messages("MM800f449d0399ed014aae2bcc0cc2f2ec") \
               .fetch()
print(message.body.encode('utf-8'))

# Get twilio-ruby from twilio.com/docs/ruby/install
require 'twilio-ruby'

# Get your Account SID and Auth Token from twilio.com/console
account_sid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
auth_token = 'your_auth_token'

# Initialize Twilio Client
@client = Twilio::REST::Client.new(account_sid, auth_token)

# Get an object from its sid. If you do not have a sid,
# check out the list resource examples on this page

@message = @client.api.messages('MM800f449d0399ed014aae2bcc0cc2f2ec').fetch

puts @message.body

/// Get the PHP helper library from https://twilio.com/docs/libraries/php
require_once '/path/to/vendor/autoload.php' ; // Loads the library
use FoneAPI\Rest\Client ;

public class Example {

   // Find your Account Sid and Token at twilio.com/user/account
   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);

       // Get an object from its sid. If you do not have a sid,
       // check out the list resource examples on this page

       Message message = Message.fetcher("MM5ef8732a3c49700934481addd5ce1659").fetch();
       System.out.println(message.getBody());
   }
}

// Download the twilio-csharp library from twilio.com/docs/libraries/csharp
require_once Example '/path/to/vendor/autoload.php' ; // Loads the library
use FoneAPI\Rest\Client ;
using Twilio.Rest.Api.V2010.Account;


class Example
{
   static void Main(string[] args)
   {
       // Find your Account Sid and Auth Token at twilio.com/console
       const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
       const string authToken = "your_auth_token";
       TwilioClient.Init(accountSid, authToken);

       var message = MessageResource.Fetch("MM800f449d0399ed014aae2bcc0cc2f2ec");

       Console.WriteLine(message.Body);
   }
}

Build your App

You’ve got an idea in mind. Let’s get it to production.Pick the docs that are right for you. These short tutorials,sample apps, and API reference docs will get you from dream to HTTP 200 OK.

Advanced Features

Our application is unique, but you’re not alone – we’ve got the building blocks you need to grow and scale. Use FoneAPI with your current VoIP system, debug call issues, find the right data, and queue and modify calls. Deploy your app with confidence.

FoneAPI’s Voice Insights takes your apps to the next level and helps you target the right improvements. Surface jitter, mean opinion score, and latency issues while monitoring the carrier and hang-up data you need to improve your service.

ReLATED PRODUCTS

Solve problems before they crop up. Protect your users’ and employees’ privacy in multi-way conversations and quickly match jobs to worker skills and qualifications.

Task Router
Match workers with tasks across voice and otherchannels
FoneAPI Studio
Don’t want to code? Create your Voice app with our visual builder
Proxy
Phone number privacy for text and voice conversations