AtEx v0.20.21 AtEx.Voice View Source
This module holds the implementation for the HTTP Gateway that runs calls against the Africas Talking API Voice endpoints
Link to this section Summary
Functions
This function makes a POST request to make a call via the Africa's talking call endpoint, through delegation this function accepts a map of parameters. sent
This function makes a POST request to check the queue status of voice calls via the Africa's talking queue status endpoint, this function accepts a map of parameters. sent
This function makes a POST request to transfer a call to another number in the Africa's talking call endpoint, this function accepts a map of parameters. sent
Link to this section Functions
This function makes a POST request to make a call via the Africa's talking call endpoint, through delegation this function accepts a map of parameters. sent
Config
Add b2b_product_name
key to the AtEx config values
Parameters
attrs: - a map containing:
from
- your Africa’s Talking phone number (in international format i.e. +XXXYYYYYY)to
- A comma separated string of recipients’ phone numbers.clientRequestId
- (optional) Variable sent to your Events Callback URL that can be used to tag the call
Example
iex> AtEx.Voice.call(%{
...> to: "+254728907896",
...> from: "+254728900922",
...> })
{:ok, result}
This function makes a POST request to check the queue status of voice calls via the Africa's talking queue status endpoint, this function accepts a map of parameters. sent
Parameters
attrs: - a map containing:
username
- Your Africa’s Talking application username. Can be set in the configphoneNumbers
- A comma separated list of one or more numbers mapped to your Africa’s Talking account.
Example
iex> AtEx.Voice.status(%{
...> phoneNumbers: "+254728833180, +254728907896"
...> })
{:ok,
%{
"entries" => [
%{
"phoneNumber" => "+254728833180",
"queueName" => "",
"numCalls" => 1
},
%{
"phoneNumber" => "+254728907896",
"queueName" => "",
"numCalls" => 4
}
],
"errorMessage" => "None",
"status" => "Success"
}}
This function makes a POST request to transfer a call to another number in the Africa's talking call endpoint, this function accepts a map of parameters. sent
Parameters
attrs: - a map containing:
sessionId
- Session Id of the ongoing call, it must have two legsphoneNumber
- Phone Number to transfer the call to.callLeg
- (optional) Call leg to transfer the call to either caller or callee(Defaults to callee)holdMusicUrl
- (optional) The url of the media file to be played when the user is on hold. Don’t forget to start with http://
Example
iex> AtEx.Voice.transfer(%{
...> sessionId: "ATVId_47ef478e918923e7b2d0921ebd5b66a6",
...> phoneNumber: "+254728900922",
...> })
{:ok, result}