API Endpoint(s) and/or Zoom API Event(s)
Endpoint for - Control an engagement’s recording
PUT/contact_center/engagements/{engagementId}/recording/{command}
Description
Working on developing an application that allows users to pause/resume zcc engagements through a put request on a webpage.
I have a server to server app created and i have web events enabled. Im getting the events for the engagement started, recording started, paused and resumed. The events are working without issue.
When i try to send a put request to pause and resume the engagement, im getting an access is denied. I can access other contact center api’s with the tokens im generating though. I verified that my app has the granular scope - contact_center:update:engagement_recording_control:admin as stated in the documentation.
I troubleshot the issue further using postman and what appears to be happening is that the active enegagement isnt being picked up in the api. I did a get engagement list request and was unable to find the active engagement I was working on, I also did a specific - GET/contact_center/engagements/{engagementId} and it responded with the engagement not existing.
I did these while the engagement was active and recording was started.
How To Reproduce
Steps to reproduce the behavior:
Start an engagment, have automatic recording enabled with the box for pausing/resuming checked.
get the engagement ID and do a put request for pausing/resuming the engagment
1. Request URL / Headers (without credentials or sensitive info like emails, uuid, etc.) / Body
PUT - contact_center/engagements/{engagement_id}/recording/pause
2. Authentication method or app type
Server to Server
Scopes Enabled in the app - “contact_center:update:engagement_recording_control:admin contact_center:read:engagement_recording_status:admin contact_center:read:engagement:admin contact_center:read:recording:admin contact_center:read:engagement_started:admin contact_center:read:list_engagements:admin”
3. Any errors
{
“code”: -1,
“message”: “Access is denied”
}
contact_center/engagements/{engagement_id}
{
“code”: 2901,
“message”: “Engagement does not exist:{engagement_id}”
}