Add support for retrieving Zoom Phone call queues#468
Add support for retrieving Zoom Phone call queues#468MacgyverH wants to merge 8 commits intoJericho:developfrom
Conversation
MacgyverH
commented
Jan 8, 2026
- Introduces models, interfaces, and resources for Zoom Phone call queues, including CallQueue and CallQueueMember entities.
- Adds ICallQueues and CallQueues resource classes with methods to retrieve call queue details, list call queues, and get queue members.
- Updates ZoomClient and IZoomClient to expose the new CallQueues resource.
- Registers new models in the JSON serializer context.
* Introduces models, interfaces, and resources for Zoom Phone call queues, including CallQueue and CallQueueMember entities. * Adds ICallQueues and CallQueues resource classes with methods to retrieve call queue details, list call queues, and get queue members. * Updates ZoomClient and IZoomClient to expose the new CallQueues resource. * Registers new models in the JSON serializer context.
Moved CallQueuePhoneNumber and CallQueueSite to separate files and added XML documentation to CallQueueMember, CallQueuePhoneNumber, and CallQueueSite classes for improved clarity and maintainability.
Jericho
left a comment
There was a problem hiding this comment.
Thank you for your contribution. A few very minor changes and also, let's debate/discuss whether these methods really deserve their own resource of whether they would fit in the existing 'Phone' resource.
Jericho
left a comment
There was a problem hiding this comment.
Delete this model class and use the existing Site model
|
Hey, sorry for the delays, I got pulled into some other projects, I'll work on these adjustments and get them submitted soon! |
- Use the existing Site type for CallQueue.Site - Update ICallQueues and CallQueues parameters and docs from snake_case (cost_center, site_id) to camelCase (costCenter, siteId)
Remove separate CallQueues/ICallQueues resources and integrate call-queue endpoints into the existing Phone API.
|
Requested changes have been made. |
- Introduce a new CallQueueStatus enum (active/inactive) to represent call queue state and add it to the JSON serializer context. - Remove the ICallQueues API surface from IZoomClient and the CallQueues initialization from ZoomClient, reflecting removal of the CallQueues resource from the client implementation. - Removed no longer needed CallQueueSite references in ZoomNetJsonSerializerContex
|
Cleaned up the PR based on your review. |
- Change the CallQueue.Status property from string to CallQueueStatus enum.
- Introduce CallQueueNumberSource enum (internal/external) with EnumMember values and replace CallQueuePhoneNumber.Source string with this enum for stronger typing. - Register the new enum type and its array in ZoomNetJsonSerializerContext to enable proper JSON (de)serialization.
|
|
||
| #region Call Queues | ||
| /// <inheritdoc/> | ||
| public Task<CallQueue> GetCallQueueAsync(string callQueueId, CancellationToken cancellationToken = default) |
There was a problem hiding this comment.
It seems that (according to the specification) this endpoint provides more details about the requested call queue. So we can define CallQueueDetails inherited from CallQueue and add more properties there.
There was a problem hiding this comment.
I'll compare and add the missing properties to the new class as suggested.