Voice API

Manage phone calls from the web or mobile apps by recording, transcribing, & bringing in conference callers together via your existing database & web server.
Create your Account to Start Building
Home
API

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 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
9
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 = new HashMap<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 on 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  UML lets you build seamless call experience easily, by providing queue primitives and intelligent conference.

WebRTC-powered client

Use the FONE API Client SDK to connect a call to a mobile or web app, UML 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.

THE FONE API EDGE
Redundancy

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

Scalability

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

Hassle-Free

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

Create your Account to Start Building