When an administrator adds or removes customers in PortaBilling, or when customer configuration changes (e.g., a credit limit is reached, a product is changed, an invoice is issued or becomes paid, etc.), these changes are recorded as provisioning events. The External system provisioning framework (ESPF) monitors these events and sends them via the HTTP/HTTPS protocol to an external application (referred to as the Application in this document).
The Application acts as follows:
- receives provisioning events that contain a unique ID of the entity (e.g., an account) from PortaBilling,
- retrieves the information about this entity (e.g., account’s number, product, service features, etc.) from PortaBilling via the PortaBilling API using the entity’s unique ID (e.g., i_account),
- updates the configuration of an external system via this system’s API,
- updates the account’s provisioning status in PortaBilling via the ESPF API.
Access to the built-in API documentation
The built-in API documentation allows developers to explore available methods with their parameters, view request/response examples, and execute test requests. It is accessible directly from the PortaBilling main menu.
For instance, when a developer logs into the PortaBilling web interface, they can easily navigate to Toolbox on the main menu and click on API documentation to test a PortaBilling API method. Since the developer is already logged in, authentication is handled automatically, allowing for immediate testing.
ESPF API available in OpenAPI format
You can access the built-in API documentation for the ESPF API at https://{HOST}:{PORT}/doc/api, where {HOST} is the domain name/IP of your PortaBilling server, and {PORT} is 443. e.g., https://pandatelecom:443/doc/api. With the built-in API documentation, you can review methods and their parameters, request/response examples, and even call test requests.
To test API methods from a specific realm, e.g., Admin or Reseller, you can log in to the corresponding PortaBilling web interface and then right away switch to the built-in API documentation page.
If you are not logged in, you need to run the "Session/login" request with the corresponding credentials on the specific realm. The access token is then acquired from the "Session/login" method and used for authentication automatically.
Note that to test custom API servers, you still need to acquire and enter the access token to run tests.
New version of the PortaBilling API
PortaBilling API 2.0 has been designated for faster and easier development of applications. The new version of API aligns with the common naming conventions used in business. For a start, MR109 introduces a few new API methods for managing data about products, product-groups, services. API methods to cover other entities (such as customer or account) will be added in the upcoming releases.
Developers can specify which parameters should be returned in the response, while the unnecessary parameters will be skipped. For example, the /products method can return only the product ID, type, and name. This results in quicker processing of API requests (since the server can access fewer tables in the database to collect the required info) and faster communication between the client and the server (since less data has to be sent).
The new version of PortaBilling API is available alongside the existing API version, allowing for a gradual transition. If you want to test the new API version, please contact the PortaOne support team.
PortaBilling API 2.0 enables easier and faster application development.