Difference between revisions of "MOR API callback init"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(19 intermediate revisions by 5 users not shown)
Line 6: Line 6:
=Usage=
=Usage=


* Call: /billing/api/callback_init
* From '''MOR X4''' call: '''/api/callback_init'''
* For Backwards-compatibility old name 'callback' is also usable. Call: /billing/api/callback
* For Backwards-compatibility old name 'callback' is also usable. Call: '''/api/callback'''
* Methods: POST, GET(if allowed, not recomended)
* Methods: POST, GET(if allowed, not recomended)
<br><br>
<br><br>
===Parametres===
===Parameters===


Parameters which are '''included''' into hash:


* u – users username, not from the device! (user should be the owner of the device)
* '''device''' – device_id, which device should be used to initiate callback and which Caller ID will be set on the call (Device ID = Device ACC, or accountcode). You can find ACC in /billing/devices/devices_all). USER should be the owner of the device in MOR.
* device – device_id, which device should be used to initiate callback and which Caller ID will be set on the call (Device ID = Device ACC, or accountcode). You can find ACC in /billing/devices/devices_all). USER should be the owner of the device in MOR.
* '''dst''' – destination, which will be dialed when SOURCE answers.
* src – source, which number to dial first.
* '''src''' – source, which number to dial first.
* dst destination, which will be dialed when SOURCE answers.
 
'''Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is API_Secret_Key'''
<br><br>
Parameters which are '''not included''' into hash:
 
* [[MOR API hash construction | hash]] - SHA1 hash constructed using parameters above and API_Secret_Key ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.
* '''u''' users username, not from the device! (user should be the owner of the device)
<!---from x5--->
* '''cli_lega''' - callerID on legA. Optional. Takes higher priority than GUI settings.
* '''cli_legb''' - callerID on legB. Optional. Takes higher priority than GUI settings.
* '''card_pin''' - Card PIN. Optional.
* '''lega_tariff_id''' - which Tariff to use for User when calling to legA. Optional.
* '''lega_reseller_tariff_id''' - which Tariff to use for Reseller when calling to legA. Optional.
* '''lega_lcr_id''' - which LCR to use for User when calling to legA. Optional.
* '''server_id''' - ID of Server which has to be used. Optional.
* '''callback_uniqueid''' - if set to 1, MOR will return callback_uniqueid which links both Callback Calls (this callback_uniqueid is the same for legA and legB CDRs). Note that API response format will change if you use this parameter. Also, '''use_callback_uniqueid''' setting must be enabled in [[Mor.conf|mor.conf]]. Optional.


You can omit <DESTINATION>. If you do so, SOURCE will be asked to enter it.
You can omit <DESTINATION>. If you do so, SOURCE will be asked to enter it.
<br><br>
<br><br>
===Request===
===Request===


Line 30: Line 47:
  <?xml version="1.0" encoding="UTF-8"?>
  <?xml version="1.0" encoding="UTF-8"?>
  <status>Ok</status>
  <status>Ok</status>
If parameter callback_uniqueid=1 was used, reponse will change to:
<?xml version="1.0" encoding="UTF-8"?>
<page>
    <status>ok</status>
    <callback_uniqueid>14811237541247270</callback_uniqueid>
</page>
Here <callback_uniqueid> will contain uniqueid that links both Callback legs (legA and legB).
<br><br>
<br><br>
----
----
Line 49: Line 77:
  <?xml version="1.0" encoding="UTF-8"?>
  <?xml version="1.0" encoding="UTF-8"?>
  <status>No source</status>
  <status>No source</status>
PIN was not found - Entered PIN is not numerical or not found.
<?xml version="1.0" encoding="UTF-8"?>
<status>PIN was not found</status>


===Call is not received===
===Call is not received===

Latest revision as of 08:12, 7 November 2018

Description

Callback Addon is needed in order to use MOR API callback.

This API method is often used to implement Click2Call functionality from webpage. Also it can be used in CRM systems like SugarCRM, Salesforce and others.

Usage

  • From MOR X4 call: /api/callback_init
  • For Backwards-compatibility old name 'callback' is also usable. Call: /api/callback
  • Methods: POST, GET(if allowed, not recomended)



Parameters

Parameters which are included into hash:

  • device – device_id, which device should be used to initiate callback and which Caller ID will be set on the call (Device ID = Device ACC, or accountcode). You can find ACC in /billing/devices/devices_all). USER should be the owner of the device in MOR.
  • dst – destination, which will be dialed when SOURCE answers.
  • src – source, which number to dial first.

Note that parameters are shown in the same order as they have to be when generating the hash. Last parameter in a row is API_Secret_Key

Parameters which are not included into hash:

  • hash - SHA1 hash constructed using parameters above and API_Secret_Key ( More described in Constructing hash). Required.
  • u – users username, not from the device! (user should be the owner of the device)
  • cli_lega - callerID on legA. Optional. Takes higher priority than GUI settings.
  • cli_legb - callerID on legB. Optional. Takes higher priority than GUI settings.
  • card_pin - Card PIN. Optional.
  • lega_tariff_id - which Tariff to use for User when calling to legA. Optional.
  • lega_reseller_tariff_id - which Tariff to use for Reseller when calling to legA. Optional.
  • lega_lcr_id - which LCR to use for User when calling to legA. Optional.
  • server_id - ID of Server which has to be used. Optional.
  • callback_uniqueid - if set to 1, MOR will return callback_uniqueid which links both Callback Calls (this callback_uniqueid is the same for legA and legB CDRs). Note that API response format will change if you use this parameter. Also, use_callback_uniqueid setting must be enabled in mor.conf. Optional.

You can omit <DESTINATION>. If you do so, SOURCE will be asked to enter it.

Request

HTML POST: http://<YOUR_SERVER_IP>/billing/api/callback?u=username&device=device_id&src=source&dst=destination



Returns

Success– Means callback is initiated.

<?xml version="1.0" encoding="UTF-8"?>
<status>Ok</status>

If parameter callback_uniqueid=1 was used, reponse will change to:

<?xml version="1.0" encoding="UTF-8"?>
<page>
    <status>ok</status>
    <callback_uniqueid>14811237541247270</callback_uniqueid>
</page>

Here <callback_uniqueid> will contain uniqueid that links both Callback legs (legA and legB).




Errors

Not authenticated – User is not present with provided username.

<?xml version="1.0" encoding="UTF-8"?>
<status>Not authenticated</status>

Bad device – Device does not exist or Device should belong to user if user does not have 'admin' rights.

<?xml version="1.0" encoding="UTF-8"?>
<status>Bad device</status>

No source – No source in request.

<?xml version="1.0" encoding="UTF-8"?>
<status>No source</status>

PIN was not found - Entered PIN is not numerical or not found.

<?xml version="1.0" encoding="UTF-8"?>
<status>PIN was not found</status>

Call is not received

  • Check your CDR for a FAILED call and reason why it failed.
  • Check Asterisk CLI for error.
  • Use Call Tracing to locate the error and fix it.



See also