Start Recording a Multiparty Call
This endpoint starts recording a Multiparty Call.
API Endpoint
POST
https://api.plivo.com/v1/Account/{auth_id}/MultiPartyCall/name_{mpc_name}/Record/
Arguments
file_format
Format of the recording.
Allowed values: mp3, wav.
Defaults to mp3.
recording_callback_url
URL to which status update events for this recording should be posted.
recording_callback_method
HTTP verb used to invoke the URL configured as status_callback_url .
Allowed values: GET, POST.
Defaults to POST.
Note: A Supervisor’s voice will be recorded regardless of the coach_mode setting.
List of events and parameters sent to the recording_callback_url
These events are generated:
MPCRecordingInitiated
MPCRecordingPaused
MPCRecordingResumed
MPCRecordingCompleted
MPCRecordingFailed
This information is sent to the URL when an event is triggered:
EventNamestring
Event that triggered this notification. This parameter will have one of the values from the list of events above.
EventTimestampstring
Timestamp at which the event occurred. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm
MPCNamestring
Friendly name provided during the creation of the MPC.
MPCUUIDstring
Unique ID of the Multiparty call.
RecordingDurationstring
Duration of recording in seconds.
RecordingEndTimestring
Timestamp at which the recording ended.Format: YYYY-MM-DD HH:mm:ss+|-hh:mm
RecordingFormatstring
Format of the recording.
RecordingResourceURLstring
Resource URL of the recording file. You can use this URL to fetch the recording details later.
RecordingStartTimestring
Timestamp at which the recording started. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm
RecordingURLstring
Complete path to the recorded file URL.
RecordingUUIDstring
Unique identifier to identify the file.
SequenceNumberstring
Indicates the sequence of the callback. Helpful to sort the callback events posted to the recording_callback_url.
Returns
If successful, this endpoint returns an acknowledgement that the recording has started, along with a URL to access the recording.
Response
{
"api_id" : "e05b5263-45dc-11eb-9014-0242ac110003" ,
"message" : "MPC: test_mpc_1 record started" ,
"recording_id" : "e06ac332-45dc-11eb-94fe-06dd7f581a50" ,
"recording_url" : "https://media.plivo.com/v1/Account/MAOTE1OWE0MDK0MTLHYW/Recording/e06ac332-45dc-11eb-94fe-06dd7f581a50.mp3"
}
Example Request
1
2
3
4
5
6
import plivo
client = plivo . RestClient ( auth_id = "<auth_id>" , auth_token = "<auth_token>" )
response = client . multi_party_calls . start_recording ( friendly_name = 'mpc_name' , file_format = 'wav' , recording_callback_url = 'https://plivo.com/status' )
print ( response )
1
2
3
4
5
6
7
8
9
10
11
12
require 'rubygems'
require 'plivo'
include Plivo
include Plivo :: Exceptions
api = RestClient . new ( "<auth_id>" , "<auth_token>" )
begin
response = api . multipartycalls . start_recording ( "friendly_name" :"mpc_name" )
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
18
var plivo = require ( ' plivo ' );
( function main () {
' use strict ' ;
var client = new plivo . Client ( " <auth_id> " , " <auth_token> " );
client . multiPartyCalls . startRecording (
{
' file_format ' : ' wav ' ,
' recordingCallbackUrl ' : ' https://plivo.com/status '
},
' mpc_name ' ). then ( function ( response ) {
console . log ( response );
}, function ( err ) {
console . error ( err );
});
})();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
require 'vendor/autoload.php' ;
use Plivo\RestClient ;
use Plivo\Exceptions\PlivoRestException ;
$client = new RestClient ( "<auth_id>" , "<auth_token>" );
try
{
$response = $client
-> multiPartyCalls
-> startRecording ([ "friendly_name" => "mpc_name" , ]);
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
package com.plivo.examples.multipartycall ;
import com.plivo.api.Plivo ;
import com.plivo.api.exceptions.PlivoRestException ;
import com.plivo.api.exceptions.PlivoValidationException ;
import com.plivo.api.models.multipartycall.MultiPartyCall ;
import com.plivo.api.models.multipartycall.MultiPartyCallRecordingStart ;
import com.plivo.api.models.multipartycall.MultiPartyCallRecordingStartResponse ;
import com.plivo.api.models.multipartycall.MultiPartyCallUtils ;
import java.io.IOException ;
public class StartMPCRecording {
public static void main ( String [] args ) throws IOException , PlivoRestException , PlivoValidationException {
Plivo . init ( "<auth_id>" , "<auth_token>" );
try {
MultiPartyCallRecordingStart recordingStart1 = MultiPartyCall . recordStarter ( MultiPartyCallUtils . friendlyName ( "myMPC1" ));
MultiPartyCallRecordingStartResponse resp1 = recordingStart1 . fileFormat ( "wav" ). recordingCallbackUrl ( "https://<yourdomain.com>/status/recording/" ). update ();
System . out . println ( resp1 . getRecordingUrl ());
System . out . println ( resp1 . getRecordingId ());
}
catch ( Exception e )
{
e . printStackTrace ();
}
}
}
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
using System ;
using Plivo ;
using Plivo.Exception ;
namespace PlivoExamples
{
class Program
{
static void Main ( string [] args )
{
var api = new PlivoApi ( "<auth_id>" , "<auth_token>" );
try
{
var response = api . MultiPartyCall . StartRecording ( friendlyName : "mpc_name" );
Console . WriteLine ( response );
}
catch ( PlivoRestException e )
{
Console . WriteLine ( "Exception: " + e . Message );
}
}
}
}
1
2
3
4
curl -i --user AUTH_ID:AUTH_TOKEN \
-H "Content-Type: application/json" \
-d '{"file_format": "mp3"}' \
https://api.plivo.com/v1/Account/{ auth_id} /MultiPartyCall/name_{ mpc_name} /Record/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main
import (
"fmt"
"github.com/plivo/plivo-go/v7"
)
func main () {
client , err := plivo . NewClient ( "<auth_id>" , "<auth_token>" , & plivo . ClientOptions {})
if err != nil {
fmt . Print ( "Error" , err . Error ())
return
}
response , err := client . MultiPartyCall . StartRecording ( plivo . MultiPartyCallBasicParams { FriendlyName : "MPC_Name" }, plivo . MultiPartyCallStartRecordingParams { FileFormat : "" , RecordingCallbackUrl : "" })
if err != nil {
fmt . Print ( "Error" , err . Error ())
return
}
fmt . Printf ( "Response: %#v \n " , response )
}
Example Request
1
2
3
4
5
6
import plivo
client = plivo . RestClient ( auth_id = "<auth_id>" , auth_token = "<auth_token>" )
response = client . multi_party_calls . start_recording ( friendly_name = 'mpc_name' , file_format = 'wav' , recording_callback_url = 'https://plivo.com/status' )
print ( response )
1
2
3
4
5
6
7
8
9
10
11
12
require 'rubygems'
require 'plivo'
include Plivo
include Plivo :: Exceptions
api = RestClient . new ( "<auth_id>" , "<auth_token>" )
begin
response = api . multipartycalls . start_recording ( "friendly_name" :"mpc_name" )
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
18
var plivo = require ( ' plivo ' );
( function main () {
' use strict ' ;
var client = new plivo . Client ( " <auth_id> " , " <auth_token> " );
client . multiPartyCalls . startRecording (
{
' file_format ' : ' wav ' ,
' recordingCallbackUrl ' : ' https://plivo.com/status '
},
' mpc_name ' ). then ( function ( response ) {
console . log ( response );
}, function ( err ) {
console . error ( err );
});
})();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
require 'vendor/autoload.php' ;
use Plivo\RestClient ;
use Plivo\Exceptions\PlivoRestException ;
$client = new RestClient ( "<auth_id>" , "<auth_token>" );
try
{
$response = $client
-> multiPartyCalls
-> startRecording ([ "friendly_name" => "mpc_name" , ]);
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
package com.plivo.examples.multipartycall ;
import com.plivo.api.Plivo ;
import com.plivo.api.exceptions.PlivoRestException ;
import com.plivo.api.exceptions.PlivoValidationException ;
import com.plivo.api.models.multipartycall.MultiPartyCall ;
import com.plivo.api.models.multipartycall.MultiPartyCallRecordingStart ;
import com.plivo.api.models.multipartycall.MultiPartyCallRecordingStartResponse ;
import com.plivo.api.models.multipartycall.MultiPartyCallUtils ;
import java.io.IOException ;
public class StartMPCRecording {
public static void main ( String [] args ) throws IOException , PlivoRestException , PlivoValidationException {
Plivo . init ( "<auth_id>" , "<auth_token>" );
try {
MultiPartyCallRecordingStart recordingStart1 = MultiPartyCall . recordStarter ( MultiPartyCallUtils . friendlyName ( "myMPC1" ));
MultiPartyCallRecordingStartResponse resp1 = recordingStart1 . fileFormat ( "wav" ). recordingCallbackUrl ( "https://<yourdomain.com>/status/recording/" ). update ();
System . out . println ( resp1 . getRecordingUrl ());
System . out . println ( resp1 . getRecordingId ());
}
catch ( Exception e )
{
e . printStackTrace ();
}
}
}
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
using System ;
using Plivo ;
using Plivo.Exception ;
namespace PlivoExamples
{
class Program
{
static void Main ( string [] args )
{
var api = new PlivoApi ( "<auth_id>" , "<auth_token>" );
try
{
var response = api . MultiPartyCall . StartRecording ( friendlyName : "mpc_name" );
Console . WriteLine ( response );
}
catch ( PlivoRestException e )
{
Console . WriteLine ( "Exception: " + e . Message );
}
}
}
}
1
2
3
4
curl -i --user AUTH_ID:AUTH_TOKEN \
-H "Content-Type: application/json" \
-d '{"file_format": "mp3"}' \
https://api.plivo.com/v1/Account/{ auth_id} /MultiPartyCall/name_{ mpc_name} /Record/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package main
import (
"fmt"
"github.com/plivo/plivo-go/v7"
)
func main () {
client , err := plivo . NewClient ( "<auth_id>" , "<auth_token>" , & plivo . ClientOptions {})
if err != nil {
fmt . Print ( "Error" , err . Error ())
return
}
response , err := client . MultiPartyCall . StartRecording ( plivo . MultiPartyCallBasicParams { FriendlyName : "MPC_Name" }, plivo . MultiPartyCallStartRecordingParams { FileFormat : "" , RecordingCallbackUrl : "" })
if err != nil {
fmt . Print ( "Error" , err . Error ())
return
}
fmt . Printf ( "Response: %#v \n " , response )
}
🥳 Thank you! It means a lot to us!
Help Us Improve
Thank you so much for rating the page, we would like to get your input
for further improvements!
Thank you for your feedback!