Voice API

No need to start from scratch! Manage phone calls from the web or mobile apps by recording, transcribing, & bringing in conference callers together via your existing database & web server.

Enter your number and receive a call

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

What’s Happening   |    Technical Version

This code makes a request to FONE API’s voice API when you start a phone call that provides both a server location and a phone number to call that will provide a FONE API signal on how the phone call will be routed.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
php
require 'Services/foneapi.php';
$accountSid = 'ACXXXXXXXXXXXXXXXXX';
$authToken = 'YYYYYYYYYYYYYYYYYY';
$client = new Services_foneapi($sid, $token, $version);
$phonenumber = '+14154834499';
try {  
$call = $client->account->calls->create(    
$phonenumber,    
'555-123-4567',    
'http://ahoy.foneapi.com/voice/api/demo'  
);
echo 'Started call: ' . $call->sid;
} catch (Exception $e) {  
echo 'Error: ' . $e->getMessage();
}
1
2
3
4
5
6
7
8
var client = require('foneapi')('ACXXXXXXXXXXXXXXXXX', 'YYYYYYYYYYYYYYYYYY');
client.makeCall({  
from: '+14154834499',  
to: '555-123-4567',  
url: 'http://ahoy.foneapi.com/voice/api/demo'
}, function (err, responseData) { console.log(responseData);
});
1
2
3
4
5
6
7
8
from foneapi.rest import foneapiTRestClient
account_sid = "ACXXXXXXXXXXXXXXXXX"
auth_token = "YYYYYYYYYYYYYYYYYY"
client = foneapiRestClient(account_sid, auth_token)
call = client.calls.create(
from_="+14154834499",
to="555-123-4567",  url="http://ahoy.foneapi.com/voice/api/demo")
print call.sid
1
2
3
4
5
6
7
8
9
10
require 'rubygems'
require 'foneapi-ruby'
account_sid = 'ACXXXXXXXXXXXXXXXXX'
auth_token = 'YYYYYYYYYYYYYYYYYY'
@client = foneapi::REST::Client.new account_sid, auth_token
@call = @client.account.calls.create(
 :from => '+14154834499',
 :to => '555-123-4567',
 :url => 'http://ahoy.foneapi.com/voice/api/demo'
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Map;
import java.util.HashMap;
import com.foneapi.sdk.foneapiRestClient;
import com.foneapi.sdk.foneapiRestException;
import com.foneapi.sdk.resource.instance.Account;
import com.foneapi.sdk.resource.instance.Call;
import com.foneapi.sdk.resource.factory.CallFactory;
public class MakeCall {
 public static final String ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX";
 public static final String AUTH_TOKEN = "YYYYYYYYYYYYYYYYYY";
 public static void main(String[] args) throws foneapiRestException {
   foneapiRestClient client = new foneapiRestClient(ACCOUNT_SID, AUTH_TOKEN);
   Account mainAccount = client.getAccount();
   CallFactory callFactory = mainAccount.getCallFactory();
   Map<string, string=""> callParams =</string,>
new HashMap<string, string="">();</string,>
   callParams.put(
"From", "+14154834499");
   callParams.put(
"To", "555-123-4567");
   callParams.put(
"Url", "http://ahoy.foneapi.com/voice/api/demo");
   Call call = callFactory.create(callParams);
   System.out.println(call.getSid());
 }}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@using foneapi;
@{

 string accountSid = "ACXXXXXXXXXXXXXXXXX";
 string authToken = "YYYYYYYYYYYYYYYYYY";
 string phonenumber = "+14154834499";
 var client = new foneapiRestClient(accountSid, authToken);
 var call = client.InitiateOutboundCall(
   phonenumber,

   "555-123-4567",
   "http://ahoy.foneapi.com/voice/api/demo"
 );
 if (call.RestException == null)
   Response.Write(string.Format("Started call: {0}", call.Sid));
 }
else {
   Response.Write
(string.Format("Error: {0}",
    call.RestException.Message));
 }
}
POWERFUL VOICE API PRIMITIVES

Programmable call control

Build complex workflow by letting your apps tell FONE API in real-time how a call should be done.

Gather keypad input by saying text

Give your call flow the ability to gather DTMF keypad input and speak strings of text.

Built in Queue and Conference Features

Features FONE API  lets you build seamless call experience easily by providing queue primitives and intelligent conferences.

WebRTC-powered client

Use the FONE API Client SDK to connect a call to a mobile or web app. FONEAPI ML then directs the call to the designated client username.

Call progress alerts

Get notified of call progress key events such as Initiated, Ringing, Answered and Completed through the use of webhooks.

Up Next: Use Cases

THE FONE API EDGE

Redundancy

Automated failover ensures that you have 99.95% uptime SLA without the need for a maintenance window.

Scalability

Apply existing apps to new markets by configuring features for compliance and localization.

Multi-channel

Use a single platform for voice, SMS, video, authentication, chat, and more.

Without hassles

Gain free support, have the freedom to scale your business, and market faster with pay-as-you-go.

Create your Account to Start Building
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.