Consider the following points when configuring the ESPF:
- To provision data to your external web application, configure and subscribe the event handler on the PortaBilling web interface.
- To ensure that your custom modifications remain on your servers during a software upgrade, list them in the Deposits page on the Configuration server web interface.
- Enabling triggers on events causes additional load to the database;
- Each triggered event can be processed by more than one event handler. All records about processed events and event handlers are kept in the Event_Queue_Combined table.
If multiple events for the same account/customer are added to the Event_Queue_Combined table, only the latest event in the queue will be processed for the following event types:
- ‘Account/ProductAddon/Changed’
- ‘Account/ProductAddon/Deleted’
- ‘Account/Service/Msg/QuotaExceeded’
- ‘Account/Service/Netaccess/QuotaExceeded’
- ‘Account/Service/QuotaExceeded’
- ‘Customer/Status/Limited’
- ‘Customer/Status/Suspend’
- ‘Customer/Status/Suspended’
An example of a request processing script
Link copied to clipboard
Below is a 7-line script that was created using Flask (a python microframework). Execute the following command in Linux to install Flask using pip (a package management system used to install and manage software packages written in Python):
sudo pip install flask
The script receives requests with data from a handler and writes the data into the log file:
from flask import Flask, request app = Flask(__name__) @app.route('/test', methods=['POST', 'GET']) def test(): print(request.get_data()) return "<h1>OK</h1>" app.run(debug=True, port=3000, host="0.0.0.0")