Versions Compared

Key

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


Panel
titleOn In this pagearticle

Table of Contents

Section overview

...

Provisioning API provides a mechanism for a 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.

...

Screenshot: Provisioning section


Column NameDescription
IDHandler's identification number
Priority

Priority of handlers execution

NameHandler's title
Event

Description of the handler event

Handler

Category of the handler that is used and location. 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)


The list of section functional buttons/icons is as follows:

Button/IconDescription

Allows creating a new handler

Identifies a disabled status of a handler

Identifies an enabled status of a handler

Identifies an archived status of a handler

Allows viewing  details of a target handlers' performance Execution Logs tab for a respective handler

Allows deleting a handler from the system

...

Panel
borderColor#ccffcc
bgColor#ccffcc
borderWidth2px
borderStylesolid
Tip

For a quick switch between enabled and disabled statuses, click on a respective status icon in the section. However, to change archived status, you need to do it from a hander handler edit form

Advanced Search

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 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
  • Desabled
    • 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. Press  Click the New Handler button and specify respective parameters of 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 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

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

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

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

    Find below 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

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

    ...