When a call is answered by an answering machine or voicemail, this method lets you to play a prerecorded audio or text-to-speech message to the device.
POST
https://phlorunner.plivo.com/v1/phlo/{phlo_id}/multi_party_call/{node_id}/members/{member_address}
Param | Description/Allowed Values |
phlo_idRequiredstring | Unique identifier for the PHLO. PHLO IDs are listed on the PHLO page of the console. |
node_idRequiredstring | Unique identifier for the node, which is available in the configuration section of the corresponding multiparty call node in the PHLO. |
member_address Required |
Phone number or SIP endpoint address of the member to be voicemail dropped. |
Param | Description/Allowed Values |
action Requiredstring |
Value is always voicemail_drop. |
Returns a Member
object.
HTTP Status Code: 201
{
"api_id": "11d8c251-d7bf-4aba-9763-985f21bcb455",
"error": ""
}
1
2
3
4
5
6
7
8
9
10
11
12
13
import plivo
auth_id = '<auth_id>'
auth_token = '<auth_token>'
phlo_id = '<phlo_id>'
node_id = '<node_id>'
phlo_client = plivo.phlo.RestClient(auth_id=auth_id, auth_token=auth_token)
phlo = phlo_client.phlo.get(phlo_id)
member_address = '<member_id>'
response = phlo.multi_party_call(node_id).member(member_address).voicemail_drop()
print str(response)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
require 'rubygems'
require 'plivo'
include Plivo
AUTH_ID = '<auth_id>'
AUTH_TOKEN = '<auth_token>'
client = Phlo.new(AUTH_ID, AUTH_TOKEN)
# if credentials are stored in the PLIVO_AUTH_ID and the PLIVO_AUTH_TOKEN environment variables
# then initialize client as:
# client = Phlo.new
# provide the phlo_id in params
phlo = client.phlo.get('phlo_id')
multi_party_call = phlo.multi_party_call('<node_id>')
# member_address => customer's number/endpoint
#
# multi_party_call.member(<member_address>).voicemail_drop
begin
response = multi_party_call.member('<member_id>').voicemail_drop
puts response
rescue PlivoRESTError => e
puts 'Exception: ' + e.message
end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var plivo = require('plivo');
var PhloClient = plivo.PhloClient;
var authId = '<auth_id>';
var authToken = '<auth_token>';
var phloId = '<phlo_id>';
var mpcId = '<node_id>';
var phloClient = phlo = null;
var mpcSourceNo = '<member_id>';
// Voicemail drop - Phlo Member
phloClient = new PhloClient(authId, authToken);
phloClient.phlo(phloId).multiPartyCall(mpcId).member(mpcSourceNo).voicemailDrop().then(function (result) {
console.log('Voicemail drop call result -', result);
}).catch(function (err) {
console.log('Voicemail drop call failed', err);
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
/**
* Example for MultiParty Voicemail Drop
*/
require 'vendor/autoload.php';
use Plivo\Resources\PHLO\PhloRestClient;
use Plivo\Exceptions\PlivoRestException;
$client = new PhloRestClient("<auth_id>", "<auth_token>");
$phlo = $client->phlo->get("<phlo_id>");
$multiPartyCall = $phlo->multiPartyCall()->get("<node_id>");
$memberAddress = "<member_id>";
$multiPartyCallMember = $multiPartyCall->member($memberAddress);
try {
$response = $multiPartyCallMember->voicemail_drop();
print_r($response);
} catch (PlivoRestException $ex) {
print_r($ex);
}
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import com.plivo.api.Plivo;
import com.plivo.api.PlivoClient;
import com.plivo.api.exceptions.PlivoRestException;
import com.plivo.api.models.node.MultiPartyCall;
import com.plivo.api.models.node.MultiPartyCallActionType;
import com.plivo.api.models.node.MultiPartyCallUpdateResponse;
import com.plivo.api.models.phlo.Phlo;
import java.io.IOException;
public class Example
{
privatestatic final String authId = "<auth_id>";
private static final String authToken = "<auth_token>";
private static PlivoClient client = new PlivoClient(authId, authToken);
public static void main(String[] args) throws IOException, PlivoRestException
{
String phloId = "<phlo_id>";
String nodeId = "<node_id>";
String to = "<member_id>";
String memberId = to;
Plivo.init(authId, authToken);
Phlo phlo = Phlo.getter(phloId).client(client).get();
MultiPartyCall mpc = MultiPartyCall.getter(phloId, nodeId).get();
MultiPartyCallUpdateResponse response = MultiPartyCall.updater(phloId, nodeId).member(memberId).voicemail_drop().update();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using Plivo;
namespace test_PHLO_dotnet
{
class Program
{
public static void Main(string[] args)
{
var phloClient = new PhloApi("<auth_id>", "<auth_token>");
var phloID = "<phlo_id>";
var nodeID = "<node_id>";
var phlo = phloClient.Phlo.Get(phloID);
var multiPartyCallObj = phlo.MultiPartyCall("nodeID");
var MemberId = "<member_id>";
Console.WriteLine(multiPartyCallObj.Member(MemberId).VoicemailDrop());
}
}
}
1
2
3
4
5
6
7
curl --request POST \
--user AUTH_ID:AUTH_TOKEN \
--url 'https://phlorunner.plivo.com/v1/phlo/{phlo_id}/multi_party_call/{node_id}/members/{MemberAddress}' \
--header 'Content-Type: application/json' \
--data '{"action":"voicemail_drop"}'
#Member Address- Phone number of the agent or customer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package main
import (
"fmt"
"plivo-go"
)
// Initialize the following params with corresponding values to trigger resources
const authId = "<auth_id>"
const authToken = "<auth_token>"
const phloId = "<phlo_id>"
const nodeId = "<node_id>"
const memberId = "<member_id>"
func main() {
testMultiPartyCallMemberVoiceMailDrop()
}
func testMultiPartyCallMemberVoiceMailDrop() {
phloClient,err := plivo.NewPhloClient(authId, authToken, &plivo.ClientOptions{})
if err != nil {
fmt.Print("Error", err.Error())
return
}
phloGet, err := phloClient.Phlos.Get(phloId)
if err != nil {
fmt.Print("Error", err.Error())
return
}
MPCGet, err := phloGet.MultiPartyCall(nodeId)
if err != nil {
fmt.Print("Error", err.Error())
return
}
response, err := MPCGet.Member(memberId).VoiceMailDrop()
if (err != nil) {
fmt.Println(err)
}
fmt.Printf("Response: %#v\n", response)
}