Skip to content

Commit 095c693

Browse files
VT-8869: Support record_track_type in MPC Participant Recording Feature (#228)
* VT-8869: Support record_track_type in MPC Participant Recording Feature * VT-8869: Update CHANGELOG.md
1 parent 0b25399 commit 095c693

File tree

3 files changed

+54
-15
lines changed

3 files changed

+54
-15
lines changed

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
# Change Log
2+
## [7.58.0](https://github.com/plivo/plivo-go/tree/v7.58.0) (2025-04-16)
3+
**Feature - Support record_track_type in MPC Participant Recording Feature.**
4+
- Support record_track_type in MPC Participant Recording Feature .
5+
26
## [7.57.2](https://github.com/plivo/plivo-go/tree/v7.57.2) (2025-02-24)
37
**Enhancement - Supporting parameter_name in WhatsApp Template .**
48
- Supporting parameter_name in WhatsApp Template .
5-
-
9+
610
## [7.57.1](https://github.com/plivo/plivo-go/tree/v7.57.1) (2025-01-27)
711
**New Param - Start Stream Api**
812
- Support for `cx_bot` parameter in Start Stream API.

baseclient.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
"github.com/google/go-querystring/query"
1414
)
1515

16-
const sdkVersion = "7.57.2"
16+
const sdkVersion = "7.58.0"
1717

1818
const lookupBaseUrl = "lookup.plivo.com"
1919

multipartycall.go

Lines changed: 48 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package plivo
22

3-
import "log"
3+
import (
4+
"log"
5+
"net/http"
6+
)
47

58
type ListMPCMeta struct {
69
Previous *string
@@ -122,6 +125,11 @@ type MultiPartyCallStartRecordingParams struct {
122125
RecordingCallbackMethod string `json:"recording_callback_method,omitempty" url:"recording_callback_method,omitempty"`
123126
TranscriptionUrl string `json:"transcription_url,omitempty" url:"transcription_url,omitempty"`
124127
Transcript bool `json:"transcript,omitempty" url:"transcript,omitempty"`
128+
RecordTrackType string `json:"record_track_type" url:"record_track_type"`
129+
}
130+
131+
type MultiPartyCallParticipantRecordingParams struct {
132+
RecordTrackType string `json:"record_track_type" url:"record_track_type"`
125133
}
126134

127135
type MultiPartyCallListResponse struct {
@@ -350,31 +358,58 @@ func (service *MultiPartyCallService) StartParticipantRecording(basicParams Mult
350358
return
351359
}
352360

353-
func (service *MultiPartyCallService) StopParticipantRecording(basicParams MultiPartyCallParticipantParams) (err error) {
361+
func (service *MultiPartyCallService) StopParticipantRecording(basicParams MultiPartyCallParticipantParams, params ...MultiPartyCallParticipantRecordingParams) (err error) {
354362
mpcId := MakeMPCId(basicParams.MpcUuid, basicParams.FriendlyName)
355-
req, err := service.client.NewRequest("DELETE", nil, "MultiPartyCall/%s/Participant/%s/Record", mpcId, basicParams.ParticipantId)
356-
if err != nil {
357-
return
363+
var req *http.Request
364+
if len(params) == 0 {
365+
req, err = service.client.NewRequest("DELETE", nil, "MultiPartyCall/%s/Participant/%s/Record", mpcId, basicParams.ParticipantId)
366+
if err != nil {
367+
return
368+
}
369+
} else {
370+
param := params[0]
371+
req, err = service.client.NewRequest("DELETE", param, "MultiPartyCall/%s/Participant/%s/Record", mpcId, basicParams.ParticipantId)
372+
if err != nil {
373+
return
374+
}
358375
}
359376
err = service.client.ExecuteRequest(req, nil, isVoiceRequest())
360377
return
361378
}
362379

363-
func (service *MultiPartyCallService) PauseParticipantRecording(basicParams MultiPartyCallParticipantParams) (err error) {
380+
func (service *MultiPartyCallService) PauseParticipantRecording(basicParams MultiPartyCallParticipantParams, params ...MultiPartyCallParticipantRecordingParams) (err error) {
364381
mpcId := MakeMPCId(basicParams.MpcUuid, basicParams.FriendlyName)
365-
req, err := service.client.NewRequest("POST", nil, "MultiPartyCall/%s/Participant/%s/Record/Pause", mpcId, basicParams.ParticipantId)
366-
if err != nil {
367-
return
382+
var req *http.Request
383+
if len(params) == 0 {
384+
req, err = service.client.NewRequest("POST", nil, "MultiPartyCall/%s/Participant/%s/Record/Pause", mpcId, basicParams.ParticipantId)
385+
if err != nil {
386+
return
387+
}
388+
} else {
389+
param := params[0]
390+
req, err = service.client.NewRequest("POST", param, "MultiPartyCall/%s/Participant/%s/Record/Pause", mpcId, basicParams.ParticipantId)
391+
if err != nil {
392+
return
393+
}
368394
}
369395
err = service.client.ExecuteRequest(req, nil, isVoiceRequest())
370396
return
371397
}
372398

373-
func (service *MultiPartyCallService) ResumeParticipantRecording(basicParams MultiPartyCallParticipantParams) (err error) {
399+
func (service *MultiPartyCallService) ResumeParticipantRecording(basicParams MultiPartyCallParticipantParams, params ...MultiPartyCallParticipantRecordingParams) (err error) {
374400
mpcId := MakeMPCId(basicParams.MpcUuid, basicParams.FriendlyName)
375-
req, err := service.client.NewRequest("POST", nil, "MultiPartyCall/%s/Participant/%s/Record/Resume", mpcId, basicParams.ParticipantId)
376-
if err != nil {
377-
return
401+
var req *http.Request
402+
if len(params) == 0 {
403+
req, err = service.client.NewRequest("POST", nil, "MultiPartyCall/%s/Participant/%s/Record/Resume", mpcId, basicParams.ParticipantId)
404+
if err != nil {
405+
return
406+
}
407+
} else {
408+
param := params[0]
409+
req, err = service.client.NewRequest("POST", param, "MultiPartyCall/%s/Participant/%s/Record/Resume", mpcId, basicParams.ParticipantId)
410+
if err != nil {
411+
return
412+
}
378413
}
379414
err = service.client.ExecuteRequest(req, nil, isVoiceRequest())
380415
return

0 commit comments

Comments
 (0)