africastalking-client

1.0.7 • Public • Published

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

Package Sidebar

Install

npm i africastalking-client

Weekly Downloads

238

Version

1.0.7

License

MIT

Unpacked Size

128 kB

Total Files

5

Last publish

Collaborators

  • mmwirigi