Skip to content

Add support for retrieving Zoom Phone call queues#468

Open
MacgyverH wants to merge 8 commits intoJericho:developfrom
MacgyverH:feature-CallQueues
Open

Add support for retrieving Zoom Phone call queues#468
MacgyverH wants to merge 8 commits intoJericho:developfrom
MacgyverH:feature-CallQueues

Conversation

@MacgyverH
Copy link

  • 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.
@MacgyverH MacgyverH marked this pull request as draft January 8, 2026 18:04
Moved CallQueuePhoneNumber and CallQueueSite to separate files and added XML documentation to CallQueueMember, CallQueuePhoneNumber, and CallQueueSite classes for improved clarity and maintainability.
@MacgyverH MacgyverH marked this pull request as ready for review January 8, 2026 18:24
Copy link
Owner

@Jericho Jericho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Owner

@Jericho Jericho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Delete this model class and use the existing Site model

@MacgyverH
Copy link
Author

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.
@MacgyverH
Copy link
Author

Requested changes have been made.

Copy link
Owner

@Jericho Jericho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, almost there!

- 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
@MacgyverH
Copy link
Author

Cleaned up the PR based on your review.

@MacgyverH MacgyverH requested a review from Jericho February 4, 2026 18:21
- 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)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll compare and add the missing properties to the new class as suggested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants