Versions Compared

Key

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

...

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

For detailed information about Provisioning API functionalityAPI functionality, go to APIs section of our User Guide.

...

Panel
borderColor#ccffcc
bgColor#ccffcc
borderWidth2px
borderStylesolid
Tip

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

...

Advanced Search drop-down menu, located in the top right corner of the section, is called to facilitate an easy access to required informationBy clicking on a red downwards arrow  iconthe following drop-down menu is displayed:

Screenshot: Advanced Search drop-down menu

FieldDescription
Event

Select from a list of all possible handler events

Handler Type

Indicate a type of handler:

  • script
  • HTTP
Status

Choose a target status:

  • Enabled
  • Disabled
  • Archived

or leave this field blank. In this case, both enabled and disabled handlers will be displayed. This field is empty by default

Creating a New Handler

To start with provisioning, you need to create a handler manually. Click the New Handler button and specify respective parameters in the appeared pop-up window:

Screenshot: Provisioning section/Handler adding form

Field Description

Name

Specify a particular title for a handler
Event

Specify a handler event from the following list:

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 

Task

Determine a type of handler and details:

  • script - here you need to specify the path where
a
  • the following script is located,
    for example: user/local/vcs/script.py.
  • http:// - here specify the port and method,
    for example: 120.0.0.1:5000/api.

Status

Choose the state of the handler:

  • enabled - select it to make a handler active;
  • disabled - select it to unable a handler;
  • archived - select it to archive a handler.

Priority

Establish an order of handler performing.
Note: The handler with 1 priority will precede all other handlers in order.


Panel
borderColor#ffffb3
bgColor#ffffb3
borderWidth2px

(warning)   Attention

In VCS 3.17.0, to prevent performance degradation and data inconsistency, affected by external side, Before event type has been removed from the section.

...

Panel
borderColor#ccffcc
bgColor#ccffcc
borderWidth2px
borderStylesolid

Best practice example

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

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

    1. Specify the name, type, and status.
    2. In the Event field, select 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()


...

Panel
borderColor#ffffb3
bgColor#ffffb3
borderWidth2px

(warning)   Attention

To put handler into action, you need to restart Cache Manager. To do so, click on the corresponding icon in Task Scheduler section

Execution Logs tab

You can access the details about handler execution in this tab. For more details, check out a related article: Execution Logs

Panel
borderColor#FFBABA
bgColor#FFBABA
borderWidth2px
borderStylesolid

Warning

Please note, the Provisioning functionality is experimental and may be changed completely in future releases.

...