Schedule Ring group change programmatically

CSC-sistema

Premier Customer
Joined
Aug 26, 2024
Messages
2
Reaction score
1
What would be the best way to schedule a change in the participants in a ring group programmatically?

My problem is that I have to manage inside 3cx a turnation, inside a ring group I have the extension of the person that need to answer that turn and I need at every turn change to modify the extension by hand.
The turn changes could be on different days of the week and, barring exceptions, are known week by week.

Having the various users log in/log out in the queue isn't doable because it open us up to human error, there must always be someone answering, but also because they often redirect the call from their extension to their cellphone, they have other queues so logging out from all queues isn't a good solution and logging out from a single queue is something that cannot be done without the web app which they don't always have access to.

The best way would be using the web api, we already have a scheduler in our ticketing software with the right turnation, sending an api call to change the ring group at the appropriate time would simplify the operation, but while I can get the participants using the call control API I can't seem to find a way to change them.
 
XAPI
 
It sounds like you may have a fairly complicated schedule, but maybe there is the possibility of creating multiple ring groups with the correct members and route calls to the correct group based on a dummy extension's presence status?

As mentioned by @ConceptsWeb there is the new 3CX XAPI, but note that the API requires an Enterprise 3CX license and niche programming skills. That may not be a problem for you.

Alternatively, we can build a custom solution for you. We already have multiple commercial add-ons that utilize a web-based calendar for scheduling functions -- you might want to take a look at our 3CX On Call Manager and 3CX Audio Scheduler tools for examples of what is possible.
 
We can build it for them.. oh and the API doesn't require Enterprise if you know how to use it.
 
  • Like
Reactions: GregG_3CX
I've lost my mind... it's the AI features that require an Enterprise license, not the XAPI. It's early. I need to wake up.
 
Thank you for your answers, the hope was to let the various managers manage their own team schedules so I fear introducing yet another tool presents the risk of bogging down operations.
We are indeed using an Enterprise license, the problem is that I'm having trouble finding updated documentation let alone examples.

As of now I've used the instructions on the Configuration Rest API page https://www.3cx.com/docs/configuration-rest-api/ to obtain a Bearer token, the swagger.yaml file of the xapi-tutorial page https://github.com/3cx/xapi-tutorial as reference for the api requests and the xml file on https://"FQDN"/xapi/v1/$metadata as reference for the schemas.

My somewhat crude solution is to send a PATCH request to https://"FQDN"/xapi/v1/RingGroups("ID") with a JSON setting the parameters "RingTime" to 1 and "ForwardNoAnswer" to the Extension I need, I've yet to understand how to modify the Ring Group members but I think at this point that the question is better asked in the integrations part of the forum.

In the end as ConceptsWeb said the answer was simply XAPI.
 
  • Like
Reactions: Evolute IT
I've lost my mind... it's the AI features that require an Enterprise license, not the XAPI. It's early. I need to wake up.
I think you are correct. Creating an API service Principle requires 3CX Enterprise.
 
What would be the best way to schedule a change in the participants in a ring group programmatically?

My problem is that I have to manage inside 3cx a turnation, inside a ring group I have the extension of the person that need to answer that turn and I need at every turn change to modify the extension by hand.
The turn changes could be on different days of the week and, barring exceptions, are known week by week.

Having the various users log in/log out in the queue isn't doable because it open us up to human error, there must always be someone answering, but also because they often redirect the call from their extension to their cellphone, they have other queues so logging out from all queues isn't a good solution and logging out from a single queue is something that cannot be done without the web app which they don't always have access to.

The best way would be using the web api, we already have a scheduler in our ticketing software with the right turnation, sending an api call to change the ring group at the appropriate time would simplify the operation, but while I can get the participants using the call control API I can't seem to find a way to change them.
maybe you can expand on what exactly you need because it sounds like you need a queue system, maybe some additional queue strategy but I think its much better to use queues..... But I didn't understand why you are using ring groups or what you are exactly trying to do.

You can use API. There are two. XAP is a configuration API and Call API is for client level things such as handling a call programmatically.
 
  • Like
Reactions: Evolute IT

Latest Posts

Forum statistics

Threads
111,962
Messages
589,993
Members
164,867
Latest member
swegner