Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel
titleIn this article

Table of Contents


The
Provisioning API provides a mechanism for real-time integration with 3rd party systems, including softswitches, gateways and CRM systems. The mechanism calls pre-defined handlers on an occurrence of specific events in the system. The handlers are allowed to modify data, allow or forbid the action or simply process given event. 

Prior to that, JeraSoft Billing Core API and Management API provide utilities needed to receive requests from external systems. Now, you can configure the JeraSoft Billing platform to send requests to your 3rd party system.

For example, you can monitor the client's balance status via this functionality. Thus, when the client's balance is below zero, you can configure that the billing will send to an external system a notification to avoid any disruptions to your organization current processes.

Panel
borderColor#ccffcc
bgColor#ccffcc
borderWidth2px
borderStylesolid
Tip

The full list of Provisioning API parameters matches with CoreAPI and they are available upon individual request of your current clients.

Handlers


There are two types of handlers that can be used: 

  • HTTP scripts, called via POST requests (used in most cases)
  • Local server scripts, called locally on the server (used in very specific cases)


Panel
borderColor#ccffcc
bgColor#ccffcc
borderWidth2px
borderStylesolid
Best practice example

Here is an example based on http://handler usage.

1. Open the Provisioning section and start creating a handler.

    1. Specify the name, type, and status.
    2. In the Event field, select the Clients Create event from the drop-down list.
    3. In the Task field, indicate http:// type and determine the port and method, for example, 120.0.0.1:5000/api.
    4. Click Apply.

Find an example of the http:// handler below:

Code Block
languagepy
from flask import Flask, request
import json
app = Flask(__name__)
@app.route("/api", methods=['GET', 'POST'])
def api():
    data = json.loads(request.data)
    return json.dumps(data)
if __name__ == "__main__":
    app.run()



Events

The Provisioning API supports the following list of events:


TitleAction
Clients
  • create
  • update
  • delete
  • archive
  • custom fields update
  • balance became >=0
  • balance became <=0
Accounts
  • create
  • update
  • delete
Clients Packages
  • assign
  • activate
  • deactivate
  • renew
  • close 

Panel
borderColor#ccffcc
bgColor#ccffcc
borderWidth2px
borderStylesolid

Tip

  • For more information about configuring and monitoring the hooks for Provisioning API, visit our respective article User Guide > System > Provisioning API.
  • If you need to process some of the actions that are not listed here, contact our support for a feature request.