Versions Compared

Key

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


Panel
titleOn In this pagearticle

Table of Contents


The Provisioning API 
provides a mechanism for a 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, VCS Core API and  VCS Core API and Management API provide utilities needed to receive requests from external systems. Now, you can configure the VCS 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 in order 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 an individual request of your current clients.

...


#!/usr/bin/env python2.7 import sys import json input = '\n'.join(sys.stdin.readlines())   data = json.loads(input) data['name'] = data['name'] + "testprefix"   print json.dumps(data)

As a result, this handler will add the prefix to the name of the client after creation.

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

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

    1. Specify the name, type, and status.
    2. In the Event field, select After and 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 below an example of the http:// handler below:

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

Here there is an example how to apply the script handler.

Open the Provisioning section and create a handler.
  • Specify the name, type, and status.
  • In Event field select Before and Clients Create event from the drop-down list.
  • In Task field indicate script type and determine the location of the script, for example: /provisioning/script.py.
  • Click Apply.
  • We have the next script (see below) with the following location: /provisioning/script.py.

    Code Block
    languagepy
    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 of 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.