AfricasTalking Client SDK
Provides convenient access to the Africa's Talking Voice APIs from your web apps.
Documentation
Take a look at the API docs here.
Install
NPM (Recommended)
You can install the package from npm by running:
$ npm install --save africastalking-client
You can import the method like so:
import Africastalking from 'africastalking-client'
CDN
The SDK is also accessible via our hosted cdn which can be included into your web page using the <script>
tag
<script src="https://unpkg.com/africastalking-client@1.0.6/build/africastalking.js"></script>
You can access the global variable Africastalking
from your browser.
Capability Token
You need to instantiate your client with a capability token.
It is generated by making an API POST request from to https://webrtc.africastalking.com/capability-token/request
with the following parameters:
Request Parameters
NB: API requests require an apiKey
in your request header for authentication.
Parameters | Description |
---|
username
String
Required | Your Africa’s Talking application username |
clientName
String
Required | Your unique name used to identify and call your browser client(without space characters) |
phoneNumber
String
Required | Your Africa’s Talking phone number (in international format i.e. +254XXXYYY) |
incoming
Boolean
Optional | Enable the client to recieve incoming calls. Defaults to true |
outgoing
Boolean
Optional | Enable the client to make outgoing calls. Defaults to true |
expire
String
Optional | Period of time it takes the token to expire, in seconds. Default is 86400s |
API Response
{
"clientName": "somsom",
"incoming": true,
"lifeTimeSec": "86400",
"outgoing": true,
"token": "ATCAPtkn_206675b68efaff83d1ac2d027dd5bff18fd7cb64fgjhd5d0bdcsac44a883678afe7"
}
Usage
You can then initialize the client using the token.
const client = new Africastalking.Client(token)
Events
client.on('incomingcall', function (params) {
alert(`${params.from} is calling you`)
}, false);
client.on('hangup', function (hangupCause) {
alert(`Call hung up (${hangupCause.code} - ${hangupCause.reason})`)
}, false);
Event Types
Events | Description |
---|
ready | Client is ready to make or recieve calls |
notready | Client cant make or recieve calls, |
calling | Your client is making a call |
incomingcall | Your client is recieving a call |
callaccepted | Call has been accepted |
hangup | Call has ended |
offline | Token has expired |
closed | Connection to africastalking servers closed |
Methods
$("button").click(function() {
client.call("+254XXXXXYYY");
});
$("button").click(function() {
client.dtmf("1");
});
$("button").click(function() {
client.muteAudio();
});
Client Methods
methods | Description |
---|
call | Make a call to a phone number or browser client |
answer | Answer a call |
hangup | End an ongoing call |
dtmf | pass dtmf digits to Africastalking API
|
muteAudio | Disables audio media sent during a call
|
unmuteAudio | Enable audio media sent during a call
|
hold | Puts a call on-hold
|
unhold | Resumes a call
|