MOR API tariff rates get

From Kolmisoft Wiki
Jump to navigationJump to search

Description

Exports Wholesale Tariff rates
If Admin has checked Allow Resellers to use Admin Tariffs in API Configuration then using this API Reseller can get Tariffs which belongs to Admin.

Usage

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



Parameters

  • 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.
  • additional_retail_info=1 - this includes additional information about retail tariffs, destination names and prefixes for these destinations.
  • hash - SHA1 hash constructed using tariff_id and/or user_id and API_Secret_Key ( More described in Constructing hash). Required.



Request

We have API Secret Key = 456789, tariff_id = 100

We send:

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

* Note that username and password are not included in hash Returning XML is put in file. That file is ziped 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.

Returns

IMPORTANT: response is returned in the archived zip format. Make sure to extract it from the zip format first.


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>
   <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>
  • Retail with additional_retail_info = 1:
<?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>
   <destinations>
      <destination_name>Destination name</destination_name>
      <prefix>Prefix</prefix>
   </destinations>
   <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"?>
<page>
 <pagename> Tariff </pagename>
 <tariff_name> tariff name </tariff_name>
 <purpose> tariff type </purpose>
 <currency> currency </currency>
 <rates>
  <rate>
   <direction> direction </direction>
   <destination> destination </destination>
   <prefix> prefix </prefix>
    code 
   <tariff_rate> rate </tariff_rate>
   <con_fee> connection fee </con_fee>
   <increment> increment </increment>
   <min_time> minimal time </min_time>
   <start_time> start time </start_time>
   <end_time> end time </end_time>
   <daytype> daytype </daytype>
   <effective_from> effective from date </effective_from>
  </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 and password. Use correct username and password. Make sure that username (u) and password (p) are specified.
<?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>



See also