So, I'm trying to interface my https://isptriage.com app with a PBX system, and like FusionPBX's overall functionality... it mentions API details but gives no information on the use of it, why? And does anyone have any details on this?
Well you're getting fusionpbx free so why not pay for additional features. You're making money from it so why shouldn't the developers.thats a bummer, spending $500/mo to have access to it, is not very attractive, especially when i'm wanting to provide a product via the use of it...
anyone know of any other multi tenant systems that allow api access?
If all you need is database access, the PostgreSQL database has a REST API. Takes only a moment to find using a search engine.So, I'm trying to interface my https://isptriage.com app with a PBX system, and like FusionPBX's overall functionality... it mentions API details but gives no information on the use of it, why? And does anyone have any details on this?
In another application where I'd interfaced directly with the database the software vendor had strong opinions against making any changes directly to the DB, stating taht doing so may have dire unintended consequences which would not be covered by their support (understandably so). One day I'll move up to the API support tier, but until then RPA and QA tools like PlayWright/Selenium/TestCafe/etc... seem like a (somewhat) reasonable workaround.If all you need is database access, the PostgreSQL database has a REST API. Takes only a moment to find using a search engine.
Updating the database alone won’t reflect changes in the XML files used by FreeSWITCH, nor will it update the system cache. For changes to be fully applied, the process typically needs to trigger several background tasks as well.
crontab -e
* * * * * /usr/bin/find /var/cache/fusionpbx/* -name '*' -cmin +15 -exec rm {} \;
Additionally, using a proper API provides an important layer of validation and security that you simply don’t get with direct database access. In today’s environment, where external systems can become compromised, it’s crucial to ensure all changes go through secure, validated API calls. This helps prevent unauthorized or unintended modifications and ensures the platform remains stable and secure.
Thanks, this is possibly the nicest thing you have said to me in a long time.@markjcrane, I appreciate the work you’ve done to introduce caching in FusionPBX, which significantly optimizes the system by avoiding expensive XML regeneration directly from the database. This approach has undoubtedly made the system more efficient.
However, I noticed that the current recommendation is to clear the entire cache for even minor modifications. For example, if there are 1,000 domains and we make a simple name change to a single extension, it seems excessive to clear the cache for all 1,000 domains. Doing so can undermine the benefits of the caching system you worked hard to implement.
Additionally, it’s worth noting that these cache operations don’t address changes that require a FreeSWITCH reload, as you know. I just want to offer a word of caution: direct database modification isn’t the ideal approach. I’m a bit surprised to see this suggestion, especially given your deep understanding of the system’s architecture and optimization strategies.