Versions Compared

Key

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

...

Panel
titleIn this article

Table of Contents


Panel
borderColor#ccffcc
bgColor#ccffcc
borderWidth2px

More Information

This page contains information about Provisioning API as a section of the user interface. For the documentation about Provisioning API as a concept and its usage, please refer to ProvisioningAPI article.

Section overview

The following section allows configuring and monitoring of hooks for Provisioning API

Provisioning API provides a mechanism for real-time integration with 3rd party systems, including softswitches, gateways, and CRM systems. It calls calls pre-defined handlers on an the 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 functionality, go to the APIs section of our User Guide.

To configure handlers and check their call log, go to the Integration > Provisioning API.

Image Modified

ColumnDescription
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)

...

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

...

borderColor#ccffcc
bgColor#ccffcc
borderWidth2px
borderStylesolid

...


Advanced Search

Advanced Search drop-down menu, located in the top right corner of the section, is called to facilitate easy access to required informationBy clicking on a red downward 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

Filter by the event type

Handler Type
Indicate a

Filter by the type of the 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

    Filter by status of the handler


    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:

    ...

  • import process failed
  • import process success
    Field Description

    Name

    Specify a particular title for a handler
    EventImport

    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
    Subscriptions
    • assign
    • activate
    • deactivate
    • renew
    • close 

    an event to be handled

    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 orderLower values have higher priority.


    panel

    Image Removed 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:

    Panel
    borderColor#ffffb3
    bgColor#ffffb3
    borderWidth2px

    (warning)   Attention

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

    borderColor#ccffcc
    bgColor#ccffcc
    borderWidth2px
    borderStylesolid
    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 a handler into action, you need to restart the wait for about 5 minutes till the next execution of the Cache Manager. To do so, click on the corresponding icon in the System Services section service.

    Execution Logs tab

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

    ...

    borderColor#FFBABA
    bgColor#FFBABA
    borderWidth2px
    borderStylesolid

    Image Removed Warning

    ...