Difference between revisions of "M4 API tariff rates get"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Description=
=Description=
<!---This functionality is available from MOR 11--->
 
[[MOR API]] Tariff rates - allows to get rates by specific tariff.
Tariff rates - allows getting rates by a specific tariff.
<br><br>
<br><br>


=Usage=
=Usage=


'''M2''' call: '''/api/tariff_rates_get'''
'''M4''' call: '''/api/tariff_rates_get'''
* For Backwards-compatibility old name 'get_tariff' is also usable. Call: '''/api/get_tariff'''
* For Backwards-compatibility old name 'get_tariff' is also usable. Call: '''/api/get_tariff'''
* Methods: POST, GET(if allowed, not recomended)
* Methods: POST, GET(if allowed, not recomended)
<br><br>
<br><br>
===Parametres===
===Parametres===
Parameters that are '''included''' into the hash (if it is used):


* tariff_id - tariff_id parameter returns tariff and rates by specific tariff_id.
* device_id - tariff parameter returns tariff and rates by device id. If a device has both Originator point and Terminator point tariffs, the Originator point tariff is returned. When sending device_id parameter tariff_id parameter is ignored.
'''* Note that tariff_id or device_id is required and must be provided into the request'''.
<br>
Parameters that are not included in the hash:
* u - username for authentication. '''Required'''.
* u - username for authentication. '''Required'''.
* tariff_id - user tariff id (option for admin or reseller). If not sent, user gets his tariff rates and custom rates.
* user_id - this specifies user id whose custom rates and tariffs to show. When sending user_id parameter tariff_id parameter is ignored.
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''tariff_id''' and/or '''user_id''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''tariff_id''' and/or '''user_id''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.
<br><br>
<br><br>
===Request===
===Request===


We have API Secret Key = 456789, tariff_id = 100
We have API Secret Key = 456789, tariff_id = 2


We send:
We send:


  HTML POST: http://<SERVER_IP>/billing/api/get_tariff?u=admin&p=admin&tariff_id=100&hash=71516eea4850f7e0300ac86adf9fb64bca845aa7
  HTML POST: http://<SERVER_IP>/billing/api/get_tariff?u=admin&tariff_id=2&hash=d674ef6e3ceb3145e825709ac2233c710db15af8


'''* Note that username and password are not included in hash'''
Returning XML is put in a file. That file is gzipped and returned as response content.
Returning XML is put in file. That file is gziped and returned as a response content.


Please note that admin can retrieve any tariff, reseller - only users' tariffs and the one assigned to him by admin and user can only retrieve to his own tariff.
Please note that the admin can retrieve any tariff, the user can only retrieve his own tariff.
<br><br>
<br><br>
===Returns===
===Returns===


'''Success'''
'''Success'''
* Retail:
<?xml version="1.0" encoding="UTF-8"?>
<page>
  <pagename> Tariff </pagename>
  <tariff_name> ''tariff name'' </tariff_name>
  <purpose> ''tariff type'' </purpose>
  <currency> ''currency'' </currency>
  <rates>
  <destination>
    <destination_group_name> ''name'' </destination_group_name>
    <destination_group_type> ''destination type'' </destination_group_type>
    <rate>
    <duration> ''duration'' </duration>
    <type> ''type'' </type>
    <round_by> ''round by'' </round_by>
    <tariff_rate> ''rate'' </tariff_rate>
    <start_time> ''start time'' </start_time>
    <end_time> ''end time'' </end_time>
    <from> ''from'' </from>
    <daytype> ''daytype'' </daytype>
    </rate>
  </destination>
  </rates>
</page>
* Wholesale:


  <?xml version="1.0" encoding="UTF-8"?>
  <?xml version="1.0" encoding="UTF-8"?>
Line 70: Line 50:
   <rates>
   <rates>
   <rate>
   <rate>
    <direction> ''direction'' </direction>
    <direction> '' </direction>
    <destination> ''destination'' </destination>
    <destination> '' </destination>
    <prefix> ''prefix'' </prefix>
    <prefix> '' </prefix>     
     <subcode> ''subcode'' </subcode>
    <tariff_rate> '' </tariff_rate>
    < code> ''code'' </code>
    <con_fee> '' </con_fee>
    <tariff_rate> ''rate'' </tariff_rate>
    <increment> '' </increment>
    <con_fee> ''connection fee'' </con_fee>
    <min_time> '' </min_time>
    <increment> ''increment'' </increment>
    <start_time> '' </start_time>
    <min_time> ''minimal time'' </min_time>
    <end_time> '' </end_time>
    <start_time> ''start time'' </start_time>
    <daytype> '' <daytype/>
    <end_time> ''end time'' </end_time>
    <daytype> ''daytype'' </daytype>
   </rate>
   </rate>
   </rates>
   </rates>
  </page>
  </page>
<br><br>
 
----
----


Line 99: Line 77:
  </page>
  </page>


* User was not found by username and password. Use correct username and password. Make sure that username (u) and password (p) are specified.
* User was not found by username. Use the correct username. Make sure that username (u).


  <?xml version="1.0" encoding="UTF-8"?>
  <?xml version="1.0" encoding="UTF-8"?>
Line 114: Line 92:
     <error>Incorrect hash</error>
     <error>Incorrect hash</error>
  </status>
  </status>
* Parameters device_id or tariff_id must be provided.
<?xml version="1.0" encoding="UTF-8"?>
<status>
    <error>device_id or tariff_id was not found</error>
</status>
* User can access only his own tariffs.
<?xml version="1.0" encoding="UTF-8"?>
<status>
    <error>Access Denied</error>
</status>
* Manager does not have permission to access tariffs functionality.
<?xml version="1.0" encoding="UTF-8"?>
<status>
    <error>You are not authorized to manage tariffs</error>
</status>
<br><br>
<br><br>

Latest revision as of 11:15, 28 November 2022

Description

Tariff rates - allows getting rates by a specific tariff.

Usage

M4 call: /api/tariff_rates_get

  • For Backwards-compatibility old name 'get_tariff' is also usable. Call: /api/get_tariff
  • Methods: POST, GET(if allowed, not recomended)



Parametres

Parameters that are included into the hash (if it is used):

  • tariff_id - tariff_id parameter returns tariff and rates by specific tariff_id.
  • device_id - tariff parameter returns tariff and rates by device id. If a device has both Originator point and Terminator point tariffs, the Originator point tariff is returned. When sending device_id parameter tariff_id parameter is ignored.

* Note that tariff_id or device_id is required and must be provided into the request.


Parameters that are not included in the hash:



Request

We have API Secret Key = 456789, tariff_id = 2

We send:

HTML POST: http://<SERVER_IP>/billing/api/get_tariff?u=admin&tariff_id=2&hash=d674ef6e3ceb3145e825709ac2233c710db15af8

Returning XML is put in a file. That file is gzipped and returned as response content.

Please note that the admin can retrieve any tariff, the user can only retrieve his own tariff.

Returns

Success

<?xml version="1.0" encoding="UTF-8"?>
<page>
 <pagename> Tariff </pagename>
 <tariff_name> tariff name </tariff_name>
 <purpose> tariff type </purpose>
 <currency> currency </currency>
 <rates>
  <rate>
    <direction>  </direction>
    <destination>  </destination>
    <prefix>  </prefix>     
    <tariff_rate>  </tariff_rate>
    <con_fee>  </con_fee>
    <increment>  </increment>
    <min_time>  </min_time>
    <start_time>  </start_time>
    <end_time>  </end_time>
    <daytype>  <daytype/>
  </rate>
 </rates>
</page>

Errors

  • Tariff was not found.
<?xml version="1.0" encoding="UTF-8"?>
<page>
  <status>
     <error>No tariff found</error>
  </status>
</page>
  • User was not found by username. Use the correct username. Make sure that username (u).
<?xml version="1.0" encoding="UTF-8"?>
<page>
   <status>
      <error>Bad login</error>
   </status>
</page>
  • Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.
<?xml version="1.0" encoding="UTF-8"?>
<status>
    <error>Incorrect hash</error>
</status>
  • Parameters device_id or tariff_id must be provided.
<?xml version="1.0" encoding="UTF-8"?>
<status>
    <error>device_id or tariff_id was not found</error>
</status>
  • User can access only his own tariffs.
<?xml version="1.0" encoding="UTF-8"?>
<status>
    <error>Access Denied</error>
</status>
  • Manager does not have permission to access tariffs functionality.
<?xml version="1.0" encoding="UTF-8"?>
<status>
    <error>You are not authorized to manage tariffs</error>
</status>