View Source AtEx.Voice (AtEx v0.20.23)
This module holds the implementation for the HTTP Gateway that runs calls against the Africas Talking API Voice endpoints
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
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}