Start Participant level Recording

    This endpoint lets you start recording for a particular participant.

    API Endpoint

    POST https://api.plivo.com/v1/Account/{auth_id}/MultiPartyCall/{mpc_name/UUID}/Participant/{Member_Id}/Record/

    Arguments

    file_format

    Format of the recording.

    • Allowed values: mp3, wav.
    • Defaults to mp3.
    recording_callback_urlURL to which status update events for this recording should be posted.
    recording_callback_method

    HTTP verb used to invoke the URL configured as recording_callback_url.

    • Allowed values: GET, POST.
    • Defaults to POST.

    List of events and parameters sent to the recording_callback_url

    These events are generated:

    • ParticipantRecordingInitiated
    • ParticipantRecordingPaused
    • ParticipantRecordingResumed
    • ParticipantRecordingCompleted
    • ParticipantRecordingFailed

    This information is sent to the URL when an event is triggered:

    EventNamestringEvent that triggered this notification. This parameter will have one of the values from the list of events above.
    EventTimestampstringTimestamp at which the event occurred.

    Format: YYYY-MM-DD HH:mm:ss+|-hh:mm

    MemberIDstringThe ID of the participant in the MPC. This ID is unique for each participant.
    RecordingDurationstringDuration of recording in seconds.
    RecordingEndTimestringTimestamp at which the recording ended.

    Format: YYYY-MM-DD HH:mm:ss+|-hh:mm

    RecordingFormatstringFormat of the recording.
    RecordingResourceURLstringResource URL of the recording file. You can use this URL to fetch the recording details later.
    RecordingStartTimestringTimestamp at which the recording started.

    Format: YYYY-MM-DD HH:mm:ss+|-hh:mm

    RecordingURLstringComplete path to the recorded file URL.
    RecordingUUIDstringUnique identifier to identify the file.
    SequenceNumberstringIndicates 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="your_auth_id", auth_token="your_auth_token")
    
    response = client.multi_party_calls.start_participant_recording(memberid,uuid='uuid',file_format='mp3')
    print(response)
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    require "rubygems"
    require "/root/plivo-ruby/lib/plivo.rb"
    include Plivo
    include Plivo::Exceptions
    
    api = RestClient.new("<auth_id>","<auth_token>")
    begin
      response = api.multipartycalls.start_participant_recording(
        "friendly_name":"mpc_name",
        "member_id":"memberid")
      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');
    
    (function main() {
      'use strict';
    
      var client = new plivo.Client("YOUR_AUTH_ID","YOUR_AUTH_TOKEN");
      client.multiPartyCalls.startParticipantRecording("memberid","mpc_uuid"/null,null/"mpc_friendlyName",
         {
            'file_format':'mp3',
         }).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
            ->startParticipantRecording("member_id", ["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.MultiPartyCallParticipantRecordingStart;
    import com.plivo.api.models.multipartycall.MultiPartyCallRecordingStartResponse;
    import com.plivo.api.models.multipartycall.MultiPartyCallUtils;
    
    import java.io.IOException;
    
    class MultiPartyCallParticipantRecordingStart {
    
      public static void main(String[] args) throws IOException, PlivoRestException, PlivoValidationException {
        Plivo.init("<YOUR-AUTH-ID>", "<YOUR-AUTH-TOKEN>");
    
        try
        {
          MultiPartyCallRecordingStartResponse response = MultiPartyCall.participantRecordStarter("name_MPCname","member_id").update();
          System.out.println(response);
        }
        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.StartParticipantRecording(participantId: "member_id", 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/{mpc_name/UUID}/Participant/{Member_Id}/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"
    )
    
    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.StartParticipantRecording(plivo.MultiPartyCallParticipantParams{FriendlyName: "MPC_Name"}, plivo.MultiPartyCallStartRecordingParams{FileFormat: "", StatusCallbackUrl: ""})
    	if err != nil {
    			fmt.Print("Error", err.Error())
    			return
    		}
    	fmt.Printf("Response: %#v\n", response)
    
    }