3CX Rest API

Status
Not open for further replies.

FSoftware

Customer
Joined
Oct 28, 2022
Messages
1
Reaction score
1
Hello,

We are a software development company and would like to initiate calls in 3cx out of our software. Additionaly we’d like to get just-in-time information about the active calls for further processing.

As I understand, all this was possible with the Call Control API , which is not supported anymore.

I read here that there were plans for 3CX Rest API. Is it already implemented or any other possibility to do what we need?
 
  • Like
Reactions: AboutAutomation
In that case, we can help. We have other software development companies using our APIs to build their integrations with 3CX.
That's been pretty clear to me all along -- thank you for your offer.
 
Hi!

Has anyone out there already integrated google calendar push with 3CX, so it changes the status of the extension?
 
Hi, We are in the process of selecting a new phone solution for our office. Until now 3CX looked the most promising (by far). But we really NEED to have a REST API that supports "letting a phone call a number" and "Get the remote number from current call" just like @e-gaulue needed.

I was naive to think that would be standard functionality nowadays. Almost all solutions have API's available.
It was kind of shocking to realize 3CX does not support this natively.

Is there a solution to this? using the (Free) API integration from VoIPTools?
Or maybe a different approach, we use Yealink phones for our planners. Maybe they have a API to initiate a call and get the remote number?
 
Hi, We are in the process of selecting a new phone solution for our office. Until now 3CX looked the most promising (by far). But we really NEED to have a REST API that supports "letting a phone call a number" and "Get the remote number from current call" just like @e-gaulue needed.

I was naive to think that would be standard functionality nowadays. Almost all solutions have API's available.
It was kind of shocking to realize 3CX does not support this natively.

Is there a solution to this? using the (Free) API integration from VoIPTools?
Or maybe a different approach, we use Yealink phones for our planners. Maybe they have a API to initiate a call and get the remote number?
Certainly you can make a call via Yealink URI, full details and examples here:
https://support.yealink.com/support...ToPdfDownloadById?id=03d0477da77204eb70693585

VOIPTools does have makecall as a free part of their API, you can use that as well. But getting the remote number I don't think is part of the free API.
 
  • Like
Reactions: Evolute IT
Hi, We are in the process of selecting a new phone solution for our office. Until now 3CX looked the most promising (by far). But we really NEED to have a REST API that supports "letting a phone call a number" and "Get the remote number from current call" just like @e-gaulue needed.

I was naive to think that would be standard functionality nowadays. Almost all solutions have API's available.
It was kind of shocking to realize 3CX does not support this natively.

Is there a solution to this? using the (Free) API integration from VoIPTools?
Or maybe a different approach, we use Yealink phones for our planners. Maybe they have a API to initiate a call and get the remote number?
Our (3-d party solution) has a couple methods, that maybe useful for you
https://creomate.com/3cx-api-documentation
 
  • Like
Reactions: tronic
You can get the caller's number using the web client's ability to invoke an exe when a call is answered.
 
  • Like
Reactions: Evolute IT
Alternatively, we have a server-side events API that can get you the current caller's phone number.
 
Hi, We are in the process of selecting a new phone solution for our office. Until now 3CX looked the most promising (by far). But we really NEED to have a REST API that supports "letting a phone call a number" and "Get the remote number from current call" just like @e-gaulue needed.

I was naive to think that would be standard functionality nowadays. Almost all solutions have API's available.
It was kind of shocking to realize 3CX does not support this natively.

Is there a solution to this? using the (Free) API integration from VoIPTools?
Or maybe a different approach, we use Yealink phones for our planners. Maybe they have a API to initiate a call and get the remote number?
Be aware that 3rd-party softwares are not supported by 3CX. Using them can result in you being unsupported if any issues occurred.
 
I spoke with @ConceptsWeb regarding the above post, and I believe some additional context might be beneficial. Both VoIPTools and ConceptsWeb create third-party extensions for the 3CX platform. Kudos to @ConceptsWeb for striving towards transparency regarding the prerequisites for obtaining 3CX support.

In my experience, when you face issues with 3CX (not with third-party software), 3CX Support may advise you to temporarily remove the third-party applications to facilitate diagnostics. I can attest that our tools have never led to 3CX Support refusing to assist, after the third-party apps have been uninstalled.

For clarity, our VoIPTools software operates on an entirely separate server from the 3CX server. Only our Relay software is installed directly on the 3CX server. This Relay functions primarily to enable communication between our separate server tools and the 3CX server. Consequently, you can easily uninstall the Relay, have 3CX address any issues, and subsequently reinstall the Relay.
 
  • Like
Reactions: Evolute IT
@MartinVanEs

I'm sorry answering late.

VOIPTools free makecall API work as expected until now. They propose three of them. I use the free one, I don't really know if the other two could be better to use. This solution is free and it looks solid. Maybe some other solutions exists, but my goal was to have something working not to try them all.

Regarding "Get the remote number from current call", I though I had found a solution but I was wrong (the famous LK-99 syndrome). Here are my investigations: data are written to the log and the database only when the call hang up, so too late. I can assure nothing usable is written anywhere in the DB before. @VoIPTools is an honest company, they propose a way to do it, but also claim it's not so easy (through Event).
Presently, I'm looking for a way to do it through call flow designer or the CRM module. The idea is to write those information as soon as known in another DB and then request that DB. I'm only at the beginning.

Regarding the main subject, I really hope 3CX to work on a solid REST API. It would boost 3CX system usage. For instance, regarding webclient, a lot of people request for "this but not that". I dream of the day when 3CX webclient would be just a default free webclient, but the ecosystem will provide other ones for free or not based on an API. As mentioned in another post, we have decided to move to 3CX, but the company mainly use RDS sessions for users. It's rather hard to have any Real Time working with RDS session. So, we have equipped users with Yealink phone when at office. But we still need access to the chat and status change. Sadly, you can't disable phone on the webclient. And has some have also installed the 3CX app on their own phone, when a call arrive it rings everywhere: Yealink, webclient, mobile phone... With an API, we could consider, building a "chat only" webclient. Or a "Change status only" web page.

I keep you informed of my findings, regards
 
There are several different "MakeCall" APIs because they work differently. For example, the generic API simply places a call between an extension and the other party, while another API allows you to initiate a call using a specific phone (physical, Windows, web for example).
 
  • Like
Reactions: Evolute IT
Regarding "Get the remote number from current call", the only solution we found was finally to develop a Firefox Extension and request user to connect to the webclient despite everyone already have an IP phone.

I wouldn't say it's the best solution, but Webclient, when ringing, knows who is calling who. So, if you intercept this information and feed your DB, then you can answer the nominal question.

Of course an API would be easier.
 
I should also point out that we offer an "Events" API that can capture the caller's phone number in real-time. This can be a server-side or client-side solution depending on your needs.
 
Does anyone know if v20 is going to introduce the long-promised REST API?
 
Does anyone know if v20 is going to introduce the long-promised REST API?
I know that 3CX plans to include an API (or 4) in v20, but only 3CX knows if that plan turns into an actual release.
 
  • Like
Reactions: Evolute IT
Honestly, a REST API already exists. What does not exist is documentation on how to use the API or any support. Perhaps they will simply provide documentation for the existing REST API, or maybe a completely different API. We will just have to wait and see...
 
We currently use 3CX v18 hosted on premises with a custom integration.

Due to your changes requiring we upgrade from v18 to v20, I need documentation of the v20 API to plan the work needed for our integration.

We want to use your supported integration if possible, however, our provider has stated that the API is only available with release 2 and that they do not have any documentation that they can share.

As v18 is EOL by end of year we need the API documentation in order to work with version 20 ASAP. Can you please provide us with an ETA for this documentation or the actual documentation itself (which has been promised for quite some time)?
 
The title of this post refers to a REST API. 3CX has not released any documentation for a REST API. The documentation sited above is for the 3CX Call Control API. This is NOT a REST API. While the Call Control API is very powerful, it is very complicated to use and has some important restrictions, namely, that all requests have to come from localhost. At the same time, 3CX rightly does not support installing a DBMS directly on the 3CX server. As a result, there is the necessity for you to create a proxy/relay that shuttles requests between your remote server running the integration and the 3CX server. It is challenging to work with the Call Control API even for us after 15+ years of using the API. 3CX has promised a supported REST API. Until then, you have the Call Control API.
 
Also, has anyone else heard about a EOL statement about V18? As long as I have worked with 3CX (15+ years) their policy has always been the current version and one version back is supported. That rule has been a little in flux given that we don't have a new full release of 3CX every year anymore (at least not in the last couple of years). But I highly doubt 3CX will EOL V18 at the end of this year.
 
Status
Not open for further replies.