<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.kolmisoft.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vaidask</id>
	<title>Kolmisoft Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kolmisoft.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vaidask"/>
	<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php/Special:Contributions/Vaidask"/>
	<updated>2026-04-09T13:06:08Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API&amp;diff=18565</id>
		<title>MOR API</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API&amp;diff=18565"/>
		<updated>2014-10-29T12:27:37Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Subscriptions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:warning.png|100px]]&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;IMPORTANT!!! API methods described here are for MOR X5. For previous versions please check appropriate [http://wiki.kolmisoft.com/index.php/MOR_Manual#Old_Manuals manual].&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=About=&lt;br /&gt;
MOR API lets other software interact with MOR without knowing the internal structure of the database (DB) and other logic.&lt;br /&gt;
&lt;br /&gt;
MOR accepts requests by HTML POST and returns results in XML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=MOR users that are allowed to use MOR API=&lt;br /&gt;
* Admin&lt;br /&gt;
* Reseller&lt;br /&gt;
* Accountant - only by using Admin Hash and Secret key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Functions=&lt;br /&gt;
&lt;br /&gt;
== API Related ==&lt;br /&gt;
* [[API Configuration]] – configuration options for API.&lt;br /&gt;
* [[MOR API hash construction|Hash construction]] – how to construct hash to authenticate data over API.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Balance==&lt;br /&gt;
* [[MOR API user_balance_get|user_balance_get]] (balance) – retrieves a User Balance.&lt;br /&gt;
* [[Balance in phone | user_simple_balance_get]] (simple_balance) – gets User's Balance&lt;br /&gt;
* [[MOR API user balance update | user_balance_update]] (change_user_balance) – changes User's Balance&lt;br /&gt;
* [[MOR API user balance get by psw | user_balance_get_by_psw]] – gets User's Balance by his owned Device's Password&lt;br /&gt;
* [[MOR API User Balance get by Username | user_balance_get_by_username]] – gets User's Balance by his owned Device's Username&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Callback==&lt;br /&gt;
* [[MOR API callback init|callback_init]] (callback) – initiates callback.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Calling Cards==&lt;br /&gt;
* [[MOR API card_by_cli_update| card_by_cli_update]] (cc_by_cli) – creates and updates calling cards, including adding and transferring funds, by being identified according the Caller_ID.&lt;br /&gt;
* [[MOR API card_from_group_sell| card_from_group_sell]] (buy_card_from_callingroup) – sells cards from calling card group.&lt;br /&gt;
* [[MOR API card_group_get| card_group_get]] (show_calling_card_group) – show calling group info.&lt;br /&gt;
* [[MOR API card_balance_get| card_balance_get]] (card_balance_get) – show card's balance.&lt;br /&gt;
* [[MOR API card_payment_add| card_payment_add]] – add payment to the calling card.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Calls==&lt;br /&gt;
* [[MOR API user calls get|user_calls_get]] (user_calls) – retrieves a list of calls in a selected time period for a user/device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conflines==&lt;br /&gt;
* [[MOR API conflines update|conflines_update]] – changes settings for API, Default User or Default Device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Credit notes==&lt;br /&gt;
* [[MOR API credit_notes_get| credit_notes_get]] (credit_notes) – credit notes list.&lt;br /&gt;
* [[MOR API credit_note_update| credit_note_update]] – credit note update.&lt;br /&gt;
* [[MOR API credit_notes_create| credit_note_create]] – credit note create.&lt;br /&gt;
* [[MOR API credit_notes_delete| credit_note_delete]] – credit note delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Device==&lt;br /&gt;
* [[MOR API device create| device_create]] – create device&lt;br /&gt;
* [[MOR API device delete| device_delete]] (delete_device) – delete device&lt;br /&gt;
* [[MOR API devices get | devices_get]] (device_list) – users device list&lt;br /&gt;
* [[MOR API device callflow get| device_callflow_get]] - returns information about specified device callflow state.&lt;br /&gt;
* [[MOR API device callflow update | device_callflow_update]] – updates information of specified device callflow state. &lt;br /&gt;
* [[MOR API CLI info get | cli_info_get]] (cli_get_info) – shows id of device where CLI belongs.&lt;br /&gt;
* [[MOR API CLI delete | cli_delete]] – deletes specified CLI. &lt;br /&gt;
* [[MOR API CLI add | cli_add]] – creates CLI and assigns it to the specified device.&lt;br /&gt;
* [[MOR API device details get | device_details_get]] – shows all information about specified device.&lt;br /&gt;
* [[MOR_API_device_update | device_update]]  –  updates location_id of selected Device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DID==&lt;br /&gt;
&lt;br /&gt;
* [[MOR API dids get| dids_get]] – get list of particular DIDs&lt;br /&gt;
* [[MOR API did_create| did_create]] – DID create&lt;br /&gt;
* [[MOR_API_did_device_assign| did_device_assign]] (did_assign_device) – Assign Device to DID&lt;br /&gt;
* [[MOR_API_did_device_unassign| did_device_unassign]] (did_unassign_device) – Unassign Device from DID&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Email==&lt;br /&gt;
* [[MOR API email send| email_send]] (send_email) – send Email.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Financial statements==&lt;br /&gt;
* [[MOR API financial_statements_get| financial_statements_get]] (financial_statements) – financial statements list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoices==&lt;br /&gt;
* [[MOR API invoices_get|invoices_get]] (invoices) – retrieves a list of invoices in a selected time period.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Login==&lt;br /&gt;
* [[MOR API user_login|user_login]] (login) – logs user in to MOR.&lt;br /&gt;
* [[MOR API user_logout|user_logout]] (logout) – logs user out from MOR.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Monitorings==&lt;br /&gt;
* [[MOR API ma_activate_api| ma_activate]] – turn on monitorings addon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Payments==&lt;br /&gt;
* [[MOR API payment_create| payment_create]] (create_payment) – create payment.&lt;br /&gt;
* [[MOR API payments_get| payments_get]] (payments_list) – payments list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Phonebooks==&lt;br /&gt;
* [[MOR API phonebooks_get| phonebooks_get]] (phonebooks_api ) – phonebooks list.&lt;br /&gt;
* [[MOR API phonebook_edit| phonebook_edit]] (phonebook_edit_api) – edit phonebook.&lt;br /&gt;
* [[MOR API phonebook_record_create| phonebook_record_create]]  – create phonebook.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Quickforwards==&lt;br /&gt;
* [[MOR API Quickforwards get| quickforwards_dids_get]] (quickforwards_dids_get) – get Quickforwards.&lt;br /&gt;
* [[MOR API Quickforwards update| quickforwards_did_update]] (quickforwards_did_update) – update Quickforwards.&lt;br /&gt;
* [[MOR API Quickforwards delete| quickforwards_did_delete]] (quickforwards_did_delete) – delete Quickforwards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Rates==&lt;br /&gt;
* [[MOR API rate get|rate_get]] (rate) – check user rate by prefix&lt;br /&gt;
* [[MOR API tariff rates get| tariff_rates_get]] (get_tariff) – get all tariff's rates&lt;br /&gt;
* [[MOR API tariff_retail_import | tariff_retail_import ]] (import_relail_tariff) – import xml retail tariff&lt;br /&gt;
* [[MOR API tariff_wholesale_update | tariff_wholesale_update ]] (wholesale_tariff) – update or create wholesale tariff&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Services==&lt;br /&gt;
* [[MOR API Service create| service_create]] – create Service.&lt;br /&gt;
* [[MOR API Service delete| service_delete]] – delete Service.&lt;br /&gt;
* [[MOR API Services get| services_get]] – get Services.&lt;br /&gt;
* [[MOR API Service update| service_update]] – update Service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SMS Send==&lt;br /&gt;
* [[MOR API sms send| sms_send]] (send_sms) – send SMS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Subscriptions==&lt;br /&gt;
* [[MOR API subscription delete|subscription_delete]] - Subscription delete.&lt;br /&gt;
* [[MOR API Subscriptions get|subscriptions_get]] - Subscriptions get.&lt;br /&gt;
* [[MOR API subscription create|subscription_create]] - Subscription create.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User==&lt;br /&gt;
&lt;br /&gt;
* [[MOR API user_register| user_register]] – create new user from params.&lt;br /&gt;
* [[MOR API user_details_get | user_details_get]] (user_details) – gets user details.&lt;br /&gt;
* [[MOR_API_user_details_update| user_details_update]] (user_update_api) – update user from params.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resellers ==&lt;br /&gt;
* [[MOR API reseller group create]] - create new Reseller Group&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Version==&lt;br /&gt;
* [[MOR API system version get| system_version_get]] (get_version) – get MOR version number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= Examples =&lt;br /&gt;
* [[MOR API PHP Examples]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=HTML POST=&lt;br /&gt;
All requests are in a similar format:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/&amp;lt;function&amp;gt;?u=username&lt;br /&gt;
&lt;br /&gt;
* username - the user name and password of the user who is asking for the data. &lt;br /&gt;
&lt;br /&gt;
If the user has 'admin' rights, he will get more results and  can perform more actions compared to a user who does not have such rights.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Useful to know=&lt;br /&gt;
&lt;br /&gt;
* All API methods returns data straight from database. It means that MOR GUI settings does not affect data, it will be returned as it is saved in database. For example:&lt;br /&gt;
** Value of money will be returned in Default System [[Currencies|Currency]].&lt;br /&gt;
** Date will not be affected of [[Configuration_from_GUI#Visual| Default date format]] setting.&lt;br /&gt;
** Value of money will not be affected of [[Configuration_from_GUI#Visual|Number digits]] setting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also =&lt;br /&gt;
* [[API Configuration]]&lt;br /&gt;
* [[MOR integration]]&lt;br /&gt;
* [[How to block access to some API functions]]&lt;br /&gt;
* [[API specification to be implemented in the future]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_subscription_create&amp;diff=18564</id>
		<title>MOR API subscription create</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_subscription_create&amp;diff=18564"/>
		<updated>2014-10-29T12:26:29Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: Created page with '=Deescription= &amp;lt;!---This functionality is available from MOR 12---&amp;gt; MOR API Create subscription &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; =Usage=  * Call: /api/subscription_delete * Methods: POST, GET(if all…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Deescription=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 12---&amp;gt;&lt;br /&gt;
[[MOR API]] Create subscription&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* Call: /api/subscription_delete&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* service_id - Service ID. '''Required'''.&lt;br /&gt;
* user_id - User ID . '''Required'''.&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&lt;br /&gt;
* u - username for authentication. '''Required'''.&lt;br /&gt;
* subscription_activation_start - timestamp of Subscription activation start. '''Optional'''.&lt;br /&gt;
* subscription_activation_end - timestamp of Subscription activation end. '''Optional'''.&lt;br /&gt;
* subscription_memo - memo of Subscription. '''Optional'''.&lt;br /&gt;
* subscription_until_canceled - subscription is until cancel (0 - off, 1 - on, default - off). '''Optional'''.&lt;br /&gt;
* subscription_no_expiration_at_the_end_of_a_month - subscription has no expiration at the end of month. (0 - off, 1 - on, default - off). '''Only for Flat Rate'''. '''Optional'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have service_id = 10, user_id = 2, subscription_memo = acc_one, API Secret Key = 456789.&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/subscription_create?u=username&amp;amp;service_id=10&amp;amp;user_id=2&amp;amp;subscription_memo=acc_one&amp;amp;hash=e0f93111f867ca5d424c0f0ebb6b678159086d00&lt;br /&gt;
&lt;br /&gt;
'''* Note that username are not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;page&amp;gt;&lt;br /&gt;
    &amp;lt;status&amp;gt;&lt;br /&gt;
      &amp;lt;success&amp;gt;Subscription was successfully created&amp;lt;/success&amp;gt;&lt;br /&gt;
    &amp;lt;/status&amp;gt;&lt;br /&gt;
  &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - Person trying to create Subscription does not exist or his user type is User.&lt;br /&gt;
* &amp;lt;error&amp;gt;You are not authorised to use this functionality&amp;lt;/error&amp;gt; - Person trying to create subscription does not have Manage Subscription permission.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;User has insufficient balance&amp;lt;/error&amp;gt; - Subscription price is bigger than Subscription User balance.&lt;br /&gt;
* &amp;lt;error&amp;gt;Subscription was not found&amp;lt;/error&amp;gt; - Subscription with specified subscription_id was not found.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API&amp;diff=18561</id>
		<title>MOR API</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API&amp;diff=18561"/>
		<updated>2014-10-29T10:30:52Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:warning.png|100px]]&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;IMPORTANT!!! API methods described here are for MOR X5. For previous versions please check appropriate [http://wiki.kolmisoft.com/index.php/MOR_Manual#Old_Manuals manual].&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=About=&lt;br /&gt;
MOR API lets other software interact with MOR without knowing the internal structure of the database (DB) and other logic.&lt;br /&gt;
&lt;br /&gt;
MOR accepts requests by HTML POST and returns results in XML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=MOR users that are allowed to use MOR API=&lt;br /&gt;
* Admin&lt;br /&gt;
* Reseller&lt;br /&gt;
* Accountant - only by using Admin Hash and Secret key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Functions=&lt;br /&gt;
&lt;br /&gt;
== API Related ==&lt;br /&gt;
* [[API Configuration]] – configuration options for API.&lt;br /&gt;
* [[MOR API hash construction|Hash construction]] – how to construct hash to authenticate data over API.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Balance==&lt;br /&gt;
* [[MOR API user_balance_get|user_balance_get]] (balance) – retrieves a User Balance.&lt;br /&gt;
* [[Balance in phone | user_simple_balance_get]] (simple_balance) – gets User's Balance&lt;br /&gt;
* [[MOR API user balance update | user_balance_update]] (change_user_balance) – changes User's Balance&lt;br /&gt;
* [[MOR API user balance get by psw | user_balance_get_by_psw]] – gets User's Balance by his owned Device's Password&lt;br /&gt;
* [[MOR API User Balance get by Username | user_balance_get_by_username]] – gets User's Balance by his owned Device's Username&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Callback==&lt;br /&gt;
* [[MOR API callback init|callback_init]] (callback) – initiates callback.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Calling Cards==&lt;br /&gt;
* [[MOR API card_by_cli_update| card_by_cli_update]] (cc_by_cli) – creates and updates calling cards, including adding and transferring funds, by being identified according the Caller_ID.&lt;br /&gt;
* [[MOR API card_from_group_sell| card_from_group_sell]] (buy_card_from_callingroup) – sells cards from calling card group.&lt;br /&gt;
* [[MOR API card_group_get| card_group_get]] (show_calling_card_group) – show calling group info.&lt;br /&gt;
* [[MOR API card_balance_get| card_balance_get]] (card_balance_get) – show card's balance.&lt;br /&gt;
* [[MOR API card_payment_add| card_payment_add]] – add payment to the calling card.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Calls==&lt;br /&gt;
* [[MOR API user calls get|user_calls_get]] (user_calls) – retrieves a list of calls in a selected time period for a user/device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conflines==&lt;br /&gt;
* [[MOR API conflines update|conflines_update]] – changes settings for API, Default User or Default Device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Credit notes==&lt;br /&gt;
* [[MOR API credit_notes_get| credit_notes_get]] (credit_notes) – credit notes list.&lt;br /&gt;
* [[MOR API credit_note_update| credit_note_update]] – credit note update.&lt;br /&gt;
* [[MOR API credit_notes_create| credit_note_create]] – credit note create.&lt;br /&gt;
* [[MOR API credit_notes_delete| credit_note_delete]] – credit note delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Device==&lt;br /&gt;
* [[MOR API device create| device_create]] – create device&lt;br /&gt;
* [[MOR API device delete| device_delete]] (delete_device) – delete device&lt;br /&gt;
* [[MOR API devices get | devices_get]] (device_list) – users device list&lt;br /&gt;
* [[MOR API device callflow get| device_callflow_get]] - returns information about specified device callflow state.&lt;br /&gt;
* [[MOR API device callflow update | device_callflow_update]] – updates information of specified device callflow state. &lt;br /&gt;
* [[MOR API CLI info get | cli_info_get]] (cli_get_info) – shows id of device where CLI belongs.&lt;br /&gt;
* [[MOR API CLI delete | cli_delete]] – deletes specified CLI. &lt;br /&gt;
* [[MOR API CLI add | cli_add]] – creates CLI and assigns it to the specified device.&lt;br /&gt;
* [[MOR API device details get | device_details_get]] – shows all information about specified device.&lt;br /&gt;
* [[MOR_API_device_update | device_update]]  –  updates location_id of selected Device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DID==&lt;br /&gt;
&lt;br /&gt;
* [[MOR API dids get| dids_get]] – get list of particular DIDs&lt;br /&gt;
* [[MOR API did_create| did_create]] – DID create&lt;br /&gt;
* [[MOR_API_did_device_assign| did_device_assign]] (did_assign_device) – Assign Device to DID&lt;br /&gt;
* [[MOR_API_did_device_unassign| did_device_unassign]] (did_unassign_device) – Unassign Device from DID&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Email==&lt;br /&gt;
* [[MOR API email send| email_send]] (send_email) – send Email.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Financial statements==&lt;br /&gt;
* [[MOR API financial_statements_get| financial_statements_get]] (financial_statements) – financial statements list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoices==&lt;br /&gt;
* [[MOR API invoices_get|invoices_get]] (invoices) – retrieves a list of invoices in a selected time period.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Login==&lt;br /&gt;
* [[MOR API user_login|user_login]] (login) – logs user in to MOR.&lt;br /&gt;
* [[MOR API user_logout|user_logout]] (logout) – logs user out from MOR.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Monitorings==&lt;br /&gt;
* [[MOR API ma_activate_api| ma_activate]] – turn on monitorings addon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Payments==&lt;br /&gt;
* [[MOR API payment_create| payment_create]] (create_payment) – create payment.&lt;br /&gt;
* [[MOR API payments_get| payments_get]] (payments_list) – payments list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Phonebooks==&lt;br /&gt;
* [[MOR API phonebooks_get| phonebooks_get]] (phonebooks_api ) – phonebooks list.&lt;br /&gt;
* [[MOR API phonebook_edit| phonebook_edit]] (phonebook_edit_api) – edit phonebook.&lt;br /&gt;
* [[MOR API phonebook_record_create| phonebook_record_create]]  – create phonebook.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Quickforwards==&lt;br /&gt;
* [[MOR API Quickforwards get| quickforwards_dids_get]] (quickforwards_dids_get) – get Quickforwards.&lt;br /&gt;
* [[MOR API Quickforwards update| quickforwards_did_update]] (quickforwards_did_update) – update Quickforwards.&lt;br /&gt;
* [[MOR API Quickforwards delete| quickforwards_did_delete]] (quickforwards_did_delete) – delete Quickforwards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Rates==&lt;br /&gt;
* [[MOR API rate get|rate_get]] (rate) – check user rate by prefix&lt;br /&gt;
* [[MOR API tariff rates get| tariff_rates_get]] (get_tariff) – get all tariff's rates&lt;br /&gt;
* [[MOR API tariff_retail_import | tariff_retail_import ]] (import_relail_tariff) – import xml retail tariff&lt;br /&gt;
* [[MOR API tariff_wholesale_update | tariff_wholesale_update ]] (wholesale_tariff) – update or create wholesale tariff&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Services==&lt;br /&gt;
* [[MOR API Service create| service_create]] – create Service.&lt;br /&gt;
* [[MOR API Service delete| service_delete]] – delete Service.&lt;br /&gt;
* [[MOR API Services get| services_get]] – get Services.&lt;br /&gt;
* [[MOR API Service update| service_update]] – update Service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SMS Send==&lt;br /&gt;
* [[MOR API sms send| sms_send]] (send_sms) – send SMS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Subscriptions==&lt;br /&gt;
* [[MOR API subscription delete|subscription_delete]] - Subscription delete.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==User==&lt;br /&gt;
&lt;br /&gt;
* [[MOR API user_register| user_register]] – create new user from params.&lt;br /&gt;
* [[MOR API user_details_get | user_details_get]] (user_details) – gets user details.&lt;br /&gt;
* [[MOR_API_user_details_update| user_details_update]] (user_update_api) – update user from params.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resellers ==&lt;br /&gt;
* [[MOR API reseller group create]] - create new Reseller Group&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Version==&lt;br /&gt;
* [[MOR API system version get| system_version_get]] (get_version) – get MOR version number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= Examples =&lt;br /&gt;
* [[MOR API PHP Examples]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=HTML POST=&lt;br /&gt;
All requests are in a similar format:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/&amp;lt;function&amp;gt;?u=username&lt;br /&gt;
&lt;br /&gt;
* username - the user name and password of the user who is asking for the data. &lt;br /&gt;
&lt;br /&gt;
If the user has 'admin' rights, he will get more results and  can perform more actions compared to a user who does not have such rights.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Useful to know=&lt;br /&gt;
&lt;br /&gt;
* All API methods returns data straight from database. It means that MOR GUI settings does not affect data, it will be returned as it is saved in database. For example:&lt;br /&gt;
** Value of money will be returned in Default System [[Currencies|Currency]].&lt;br /&gt;
** Date will not be affected of [[Configuration_from_GUI#Visual| Default date format]] setting.&lt;br /&gt;
** Value of money will not be affected of [[Configuration_from_GUI#Visual|Number digits]] setting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also =&lt;br /&gt;
* [[API Configuration]]&lt;br /&gt;
* [[MOR integration]]&lt;br /&gt;
* [[How to block access to some API functions]]&lt;br /&gt;
* [[API specification to be implemented in the future]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_subscription_delete&amp;diff=18560</id>
		<title>MOR API subscription delete</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_subscription_delete&amp;diff=18560"/>
		<updated>2014-10-29T10:26:34Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: Created page with '=Deescription= &amp;lt;!---This functionality is available from MOR 12---&amp;gt; MOR API Delete subscription &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; =Usage=  * Call: /api/subscription_delete * Methods: POST, GET(if all…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Deescription=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 12---&amp;gt;&lt;br /&gt;
[[MOR API]] Delete subscription&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* Call: /api/subscription_delete&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* subscription_id - ID of Subscription you want to delete. '''Required'''.&lt;br /&gt;
* subscription_delete_action - number of action that you wish to choose. Numbers meaning: 1 - Delete without money return, 2 - Disable Subscriptions, 3 - Delete with whole money return. '''Required'''.&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&lt;br /&gt;
* u - username for authentication. '''Required'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have subscription_id = 123, API Secret Key = 456789 and we want to Subscription to be deleted with whole money return.&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/subscription_delete?u=username&amp;amp;subscription_id=123&amp;amp;subscription_delete_action=3&amp;amp;hash=e0f93111f867ca5d424c0f0ebb6b678159086d00&lt;br /&gt;
&lt;br /&gt;
'''* Note that username are not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
    &amp;lt;status&amp;gt;&lt;br /&gt;
      &amp;lt;success&amp;gt;Subscription deleted and money returned&amp;lt;/success&amp;gt;&lt;br /&gt;
    &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;page&amp;gt;&lt;br /&gt;
    &amp;lt;status&amp;gt;&lt;br /&gt;
      &amp;lt;success&amp;gt;Subscription disabled&amp;lt;/success&amp;gt;&lt;br /&gt;
    &amp;lt;/status&amp;gt;&lt;br /&gt;
  &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;page&amp;gt;&lt;br /&gt;
    &amp;lt;status&amp;gt;&lt;br /&gt;
      &amp;lt;success&amp;gt;Subscription deleted&amp;lt;/success&amp;gt;&lt;br /&gt;
    &amp;lt;/status&amp;gt;&lt;br /&gt;
  &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - Person trying to delete Subscription does not exist or his user type is User.&lt;br /&gt;
 &lt;br /&gt;
* &amp;lt;error&amp;gt;You are not authorised to use this functionality&amp;lt;/error&amp;gt; - Person trying to delete subscription does not have Manage Subscription permission.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Subscription disabled&amp;lt;/error&amp;gt; - Subscription was successfully disabled.&lt;br /&gt;
* &amp;lt;error&amp;gt;Subscription was not found&amp;lt;/error&amp;gt; - Subscription with specified subscription_id was not found.&lt;br /&gt;
* &amp;lt;error&amp;gt;Subscription delete action was not found&amp;lt;/error&amp;gt; - Specified subscription_delete_action was not found should be in (1,2,3).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Rate_Details&amp;diff=18516</id>
		<title>M4 Rate Details</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Rate_Details&amp;diff=18516"/>
		<updated>2014-10-08T08:15:43Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: Created page with '=Usage=  Go to '''Billing &amp;gt; Tariffs &amp;gt; Select Rate and press EDIT ''' and here you will see all Rate Details&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; File:M2_rate_details.png &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; '''Click on square numbe…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Usage=&lt;br /&gt;
&lt;br /&gt;
Go to '''Billing &amp;gt; Tariffs &amp;gt; Select Rate and press EDIT ''' and here you will see all Rate Details&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:M2_rate_details.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Click on square number:'''&amp;lt;br/&amp;gt;&lt;br /&gt;
* 1 if you want to edit Effective From date.&amp;lt;br/&amp;gt;&lt;br /&gt;
* 2 if you want to split Rate Detail into Work Days and Free Days.&amp;lt;br/&amp;gt;&lt;br /&gt;
* 3 if you want to edit Rate Details.&amp;lt;br/&amp;gt;&lt;br /&gt;
* 4 if you want to delete Rate Detail.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=EDIT Effective From date=&lt;br /&gt;
Click on square number 1 and date picker will be shown like in picture below.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:M2_rate_details_time_picker.png]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:M2_rate_details_time_picker.png&amp;diff=18515</id>
		<title>File:M2 rate details time picker.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:M2_rate_details_time_picker.png&amp;diff=18515"/>
		<updated>2014-10-08T08:15:12Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:M2_rate_details.png&amp;diff=18514</id>
		<title>File:M2 rate details.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:M2_rate_details.png&amp;diff=18514"/>
		<updated>2014-10-08T08:01:30Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: uploaded a new version of &amp;quot;File:M2 rate details.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:M2_rate_details.png&amp;diff=18513</id>
		<title>File:M2 rate details.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:M2_rate_details.png&amp;diff=18513"/>
		<updated>2014-10-08T08:00:35Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: uploaded a new version of &amp;quot;File:M2 rate details.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:M2_rate_details.png&amp;diff=18512</id>
		<title>File:M2 rate details.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:M2_rate_details.png&amp;diff=18512"/>
		<updated>2014-10-08T07:57:05Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_Service_update&amp;diff=18417</id>
		<title>MOR API Service update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_Service_update&amp;diff=18417"/>
		<updated>2014-09-24T07:34:27Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Request */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= NOTE: Available from MOR X5 =&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[MOR API]] Update Service&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X5''' Call: '''/api/service_update'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
* service_id -  Service ID, which we want to delete. '''Required'''.&lt;br /&gt;
* u - username for authentication. '''Required'''.&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
* service_name - name of Service. &lt;br /&gt;
* service_type - type of Service (periodic_fee, one_time_fee, flat-rate). &lt;br /&gt;
* service_sell_price - sell price of Service. &lt;br /&gt;
* service_self_cost - cost of Service.&lt;br /&gt;
* service_period - period of Service (month, day, by default month only for Periodic Fee type). &lt;br /&gt;
* service_minutes_per_month - how many minutes User is allowed to use Service (only for Flat Rate type).&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have Service ID = 19, API Secret Key = secret&amp;lt;br&amp;gt;&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/service_update?u=admin&amp;amp;service_id=19&amp;amp;service_name=ddddddd&amp;amp;hash=38282ca5e65e63746498ef5b39a2fe71c6448df4&lt;br /&gt;
'''NOTE that username is not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;page&amp;gt;&lt;br /&gt;
    &amp;lt;status&amp;gt;&lt;br /&gt;
      &amp;lt;success&amp;gt;Service successfully updated&amp;lt;/success&amp;gt;&lt;br /&gt;
    &amp;lt;/status&amp;gt;&lt;br /&gt;
  &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
* &amp;lt;error&amp;gt;Service Type is invalid&amp;lt;/error&amp;gt; - Service type is unknown. It should be periodic_fee or one_time_fee or flat-rate.&lt;br /&gt;
* &amp;lt;error&amp;gt;Quantity must be numeric&amp;lt;/error&amp;gt; - Quantity was not numeric.&lt;br /&gt;
* &amp;lt;error&amp;gt;Quantity must be greater than zero&amp;lt;/error&amp;gt; - Quantity is less than zero.&lt;br /&gt;
* &amp;lt;error&amp;gt;You are not authorized to use this functionality&amp;lt;/error&amp;gt; - User has no permissions to manage Services.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - User can not Manage Services and can not get permissions to use it. &lt;br /&gt;
* &amp;lt;error&amp;gt;Service was not selected&amp;lt;/error&amp;gt; - service_id parameter was not passed.&lt;br /&gt;
* &amp;lt;error&amp;gt;Service was not found&amp;lt;/error&amp;gt; - Service with passed service_id parameter was not found.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or parameters while concatenating hash_string.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;br /&gt;
* [[MOR_API_Service_delete | Services delete]]&lt;br /&gt;
* [[MOR_API_Service_create | Service create]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API&amp;diff=18410</id>
		<title>MOR API</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API&amp;diff=18410"/>
		<updated>2014-09-24T06:58:37Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:warning.png|100px]]&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;IMPORTANT!!! API methods described here are for MOR X5. For previous versions please check appropriate [http://wiki.kolmisoft.com/index.php/MOR_Manual#Old_Manuals manual].&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=About=&lt;br /&gt;
MOR API lets other software interact with MOR without knowing the internal structure of the database (DB) and other logic.&lt;br /&gt;
&lt;br /&gt;
MOR accepts requests by HTML POST and returns results in XML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=MOR users that are allowed to use MOR API=&lt;br /&gt;
* Admin&lt;br /&gt;
* Reseller&lt;br /&gt;
* Accountant - only by using Admin Hash and Secret key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Functions=&lt;br /&gt;
&lt;br /&gt;
== API Related ==&lt;br /&gt;
* [[API Configuration]] – configuration options for API.&lt;br /&gt;
* [[MOR API hash construction|Hash construction]] – how to construct hash to authenticate data over API.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Balance==&lt;br /&gt;
* [[MOR API user_balance_get|user_balance_get]] (balance) – retrieves a User Balance.&lt;br /&gt;
* [[Balance in phone | user_simple_balance_get]] (simple_balance) – gets User's Balance&lt;br /&gt;
* [[MOR API user balance update | user_balance_update]] (change_user_balance) – changes User's Balance&lt;br /&gt;
* [[MOR API user balance get by psw | user_balance_get_by_psw]] – gets User's Balance by his owned Device's Password&lt;br /&gt;
* [[MOR API User Balance get by Username | user_balance_get_by_username]] – gets User's Balance by his owned Device's Username&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Callback==&lt;br /&gt;
* [[MOR API callback init|callback_init]] (callback) – initiates callback.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Calling Cards==&lt;br /&gt;
* [[MOR API card_by_cli_update| card_by_cli_update]] (cc_by_cli) – creates and updates calling cards, including adding and transferring funds, by being identified according the Caller_ID.&lt;br /&gt;
* [[MOR API card_from_group_sell| card_from_group_sell]] (buy_card_from_callingroup) – sells cards from calling card group.&lt;br /&gt;
* [[MOR API card_group_get| card_group_get]] (show_calling_card_group) – show calling group info.&lt;br /&gt;
* [[MOR API card_balance_get| card_balance_get]] (card_balance_get) – show card's balance.&lt;br /&gt;
* [[MOR API card_payment_add| card_payment_add]] – add payment to the calling card.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Calls==&lt;br /&gt;
* [[MOR API user calls get|user_calls_get]] (user_calls) – retrieves a list of calls in a selected time period for a user/device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conflines==&lt;br /&gt;
* [[MOR API conflines update|conflines_update]] – changes settings for API, Default User or Default Device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Credit notes==&lt;br /&gt;
* [[MOR API credit_notes_get| credit_notes_get]] (credit_notes) – credit notes list.&lt;br /&gt;
* [[MOR API credit_note_update| credit_note_update]] – credit note update.&lt;br /&gt;
* [[MOR API credit_notes_create| credit_note_create]] – credit note create.&lt;br /&gt;
* [[MOR API credit_notes_delete| credit_note_delete]] – credit note delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Device==&lt;br /&gt;
* [[MOR API device create| device_create]] – create device&lt;br /&gt;
* [[MOR API device delete| device_delete]] (delete_device) – delete device&lt;br /&gt;
* [[MOR API devices get | devices_get]] (device_list) – users device list&lt;br /&gt;
* [[MOR API device callflow get| device_callflow_get]] - returns information about specified device callflow state.&lt;br /&gt;
* [[MOR API device callflow update | device_callflow_update]] – updates information of specified device callflow state. &lt;br /&gt;
* [[MOR API CLI info get | cli_info_get]] (cli_get_info) – shows id of device where CLI belongs.&lt;br /&gt;
* [[MOR API CLI delete | cli_delete]] – deletes specified CLI. &lt;br /&gt;
* [[MOR API CLI add | cli_add]] – creates CLI and assigns it to the specified device.&lt;br /&gt;
* [[MOR API device details get | device_details_get]] – shows all information about specified device.&lt;br /&gt;
* [[MOR_API_device_update | device_update]]  –  updates location_id of selected Device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DID==&lt;br /&gt;
&lt;br /&gt;
* [[MOR API dids get| dids_get]] – get list of particular DIDs&lt;br /&gt;
* [[MOR API did_create| did_create]] – DID create&lt;br /&gt;
* [[MOR_API_did_device_assign| did_device_assign]] (did_assign_device) – Assign Device to DID&lt;br /&gt;
* [[MOR_API_did_device_unassign| did_device_unassign]] (did_unassign_device) – Unassign Device from DID&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Email==&lt;br /&gt;
* [[MOR API email send| email_send]] (send_email) – send Email.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Financial statements==&lt;br /&gt;
* [[MOR API financial_statements_get| financial_statements_get]] (financial_statements) – financial statements list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoices==&lt;br /&gt;
* [[MOR API invoices_get|invoices_get]] (invoices) – retrieves a list of invoices in a selected time period.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Login==&lt;br /&gt;
* [[MOR API user_login|user_login]] (login) – logs user in to MOR.&lt;br /&gt;
* [[MOR API user_logout|user_logout]] (logout) – logs user out from MOR.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Monitorings==&lt;br /&gt;
* [[MOR API ma_activate_api| ma_activate]] – turn on monitorings addon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Payments==&lt;br /&gt;
* [[MOR API payment_create| payment_create]] (create_payment) – create payment.&lt;br /&gt;
* [[MOR API payments_get| payments_get]] (payments_list) – payments list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Phonebooks==&lt;br /&gt;
* [[MOR API phonebooks_get| phonebooks_get]] (phonebooks_api ) – phonebooks list.&lt;br /&gt;
* [[MOR API phonebook_edit| phonebook_edit]] (phonebook_edit_api) – edit phonebook.&lt;br /&gt;
* [[MOR API phonebook_record_create| phonebook_record_create]]  – create phonebook.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Quickforwards==&lt;br /&gt;
* [[MOR API Quickforwards get| quickforwards_dids_get]] (quickforwards_dids_get) – get Quickforwards.&lt;br /&gt;
* [[MOR API Quickforwards update| quickforwards_did_update]] (quickforwards_did_update) – update Quickforwards.&lt;br /&gt;
* [[MOR API Quickforwards delete| quickforwards_did_delete]] (quickforwards_did_delete) – delete Quickforwards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Rates==&lt;br /&gt;
* [[MOR API rate get|rate_get]] (rate) – check user rate by prefix&lt;br /&gt;
* [[MOR API tariff rates get| tariff_rates_get]] (get_tariff) – get all tariff's rates&lt;br /&gt;
* [[MOR API tariff_retail_import | tariff_retail_import ]] (import_relail_tariff) – import xml retail tariff&lt;br /&gt;
* [[MOR API tariff_wholesale_update | tariff_wholesale_update ]] (wholesale_tariff) – update or create wholesale tariff&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Services==&lt;br /&gt;
* [[MOR API Service create| service_create]] – create Service.&lt;br /&gt;
* [[MOR API Service delete| service_delete]] – delete Service.&lt;br /&gt;
* [[MOR API Service update| service_update]] – update Service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SMS Send==&lt;br /&gt;
* [[MOR API sms send| sms_send]] (send_sms) – send SMS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==User==&lt;br /&gt;
&lt;br /&gt;
* [[MOR API user_register| user_register]] – create new user from params.&lt;br /&gt;
* [[MOR API user_details_get | user_details_get]] (user_details) – gets user details.&lt;br /&gt;
* [[MOR_API_user_details_update| user_details_update]] (user_update_api) – update user from params.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resellers ==&lt;br /&gt;
* [[MOR API reseller group create]] - create new Reseller Group&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Version==&lt;br /&gt;
* [[MOR API system version get| system_version_get]] (get_version) – get MOR version number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= Examples =&lt;br /&gt;
* [[MOR API PHP Examples]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=HTML POST=&lt;br /&gt;
All requests are in a similar format:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/&amp;lt;function&amp;gt;?u=username&lt;br /&gt;
&lt;br /&gt;
* username - the user name and password of the user who is asking for the data. &lt;br /&gt;
&lt;br /&gt;
If the user has 'admin' rights, he will get more results and  can perform more actions compared to a user who does not have such rights.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Useful to know=&lt;br /&gt;
&lt;br /&gt;
* All API methods returns data straight from database. It means that MOR GUI settings does not affect data, it will be returned as it is saved in database. For example:&lt;br /&gt;
** Value of money will be returned in Default System [[Currencies|Currency]].&lt;br /&gt;
** Date will not be affected of [[Configuration_from_GUI#Visual| Default date format]] setting.&lt;br /&gt;
** Value of money will not be affected of [[Configuration_from_GUI#Visual|Number digits]] setting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also =&lt;br /&gt;
* [[API Configuration]]&lt;br /&gt;
* [[MOR integration]]&lt;br /&gt;
* [[How to block access to some API functions]]&lt;br /&gt;
* [[API specification to be implemented in the future]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_Service_update&amp;diff=18409</id>
		<title>MOR API Service update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_Service_update&amp;diff=18409"/>
		<updated>2014-09-24T06:57:22Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: Created page with '= NOTE: Available from MOR X5 =  =Description= MOR API Update Service &amp;lt;br&amp;gt;&amp;lt;br&amp;gt; =Usage=  * From '''MOR X5''' Call: '''/api/service_update''' * Methods: POST, GET(if allowed, n…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= NOTE: Available from MOR X5 =&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
[[MOR API]] Update Service&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X5''' Call: '''/api/service_update'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
* service_id -  Service ID, which we want to delete. '''Required'''.&lt;br /&gt;
* u - username for authentication. '''Required'''.&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
* service_name - name of Service. '''Optional'''.&lt;br /&gt;
* service_type - type of Service (periodic_fee, one_time_fee, flat-rate). '''Optional'''.&lt;br /&gt;
* service_sell_price - sell price of Service. '''Optional'''.&lt;br /&gt;
* service_self_cost - cost of Service. '''Optional'''.&lt;br /&gt;
* service_period - period of Service (month, day, by default month only for Periodic Fee type). '''Optional'''.&lt;br /&gt;
* service_minutes_per_month - how many minutes User is allowed to use Service (only for Flat Rate type). '''Optional'''.&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have Service ID = 19, API Secret Key = secret&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/service_update?u=admin&amp;amp;service_id=19&amp;amp;service_name=ddddddd&amp;amp;test=1&lt;br /&gt;
'''NOTE that username is not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;page&amp;gt;&lt;br /&gt;
    &amp;lt;status&amp;gt;&lt;br /&gt;
      &amp;lt;success&amp;gt;Service successfully updated&amp;lt;/success&amp;gt;&lt;br /&gt;
    &amp;lt;/status&amp;gt;&lt;br /&gt;
  &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
* &amp;lt;error&amp;gt;Service Type is invalid&amp;lt;/error&amp;gt; - Service type is unknown. It should be periodic_fee or one_time_fee or flat-rate.&lt;br /&gt;
* &amp;lt;error&amp;gt;Quantity must be numeric&amp;lt;/error&amp;gt; - Quantity was not numeric.&lt;br /&gt;
* &amp;lt;error&amp;gt;Quantity must be greater than zero&amp;lt;/error&amp;gt; - Quantity is less than zero.&lt;br /&gt;
* &amp;lt;error&amp;gt;You are not authorized to use this functionality&amp;lt;/error&amp;gt; - User has no permissions to manage Services.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - User can not Manage Services and can not get permissions to use it. &lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Tariffs&amp;diff=18350</id>
		<title>Tariffs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Tariffs&amp;diff=18350"/>
		<updated>2014-09-08T12:29:52Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Wholesale tariff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
Tariffs are sets of rates (prices) to different destinations. There are three types of tariffs: providers wholesale (inbound), users wholesale (outbound) and users retail (outbound).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Tariff types===&lt;br /&gt;
&lt;br /&gt;
There are two types of tariffs – '''Wholesale''' and '''Retail'''. Note that Tariffs for [[Providers]] type are also Wholesale. The difference between '''wholesale''' and '''retail''' tariffs is in the way rates are set for destinations.&lt;br /&gt;
&lt;br /&gt;
In wholesale tariffs, rates can be set to every destination possible. In retail tariffs, destinations are grouped, which makes it possible to have lower rates. Wholesale and retail tariffs are used in different situations, and each type has its  advantages and disadvantages.&lt;br /&gt;
&lt;br /&gt;
The advantage for wholesale providers is the possibility of entering different rates for different destinations. It is useful to set this tariff when you resell services to other providers.&lt;br /&gt;
&lt;br /&gt;
If your clients are retail end-users, it is better to use the retail tariff. They are easier to manage and understand for the final user.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Go to '''SETTINGS –&amp;gt; Billing –&amp;gt; Tariffs'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:tariffs_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You will see full list of all types of tariff:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:tariffs.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Click on [[Image:icon_add.png]]'''New tariff''' to create new tariff. &amp;lt;br&amp;gt;&lt;br /&gt;
* [[Image:excel.png]]'''Destinations CSV''' exports all destinations list. &amp;lt;br&amp;gt;&lt;br /&gt;
* Click on [[image:icon_edit.png]]'''Change Tariff for Users''' to [[Bulk change Tariffs for Users]].&lt;br /&gt;
* Search applied for searching tariffs where chosen prefix has rate.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Wholesale tariff===&lt;br /&gt;
&lt;br /&gt;
As you can see in picture above there are ability to manage [[Image:coins.png]] '''[[Entering Rates for Wholesale Tariff | Rates ()]]''' manually,  [[Image:excel.png]][[Rate import from CSV|Import from CSV]], delete all rates form tariff. Also you can [[Make Retail Tariff from Wholesale Tariff explained | Make user retail tariff]] from wholesale tariff or make new wholesale tariff from old one. When Tariff has [[Rate Effective From | Effective From]] Rates then Active Rates will be taken. Check your tariff rates by exporting CSV files. Click on [[Image:Details-icon.png]] icon to see list of places, where this tariff is assigned.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Effective from for Provider tariff'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--veikia su x5_functionality_12--&amp;gt;&lt;br /&gt;
Provider's tariff list has column named [[Rate Effective From | Effective from]] which shows the date when the rate specified becomes active. This date cannot be changed or created in GUI, it can be added to GUI through [[Rate import from CSV |Tariff import]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Retail tariff===&lt;br /&gt;
&lt;br /&gt;
As you can see in picture above there is an ability to manage [[Image:coins.png]] '''[[Entering Rates for Retail Tariff | Rates]]''' manually and to delete all rates from tariff. Check your tariff rates by exporting CSV files. Click on [[Image:Details-icon.png]] icon to see list of places, where this tariff is assigned.&lt;br /&gt;
&lt;br /&gt;
=From Accountant=&lt;br /&gt;
&lt;br /&gt;
Accountant must have [[Accountant permissions]] to manage Admins Tariffs.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=From Reseller/Reseller PRO=&lt;br /&gt;
&lt;br /&gt;
Resellers have their own tariffs list and they are able to manage them independent from Admin.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[Entering Rates for Wholesale Tariff]]&lt;br /&gt;
* [[Entering Rates for Retail Tariff]]&lt;br /&gt;
* [[Advanced Rates]]&lt;br /&gt;
* [[Rate import from CSV]]&lt;br /&gt;
* [[Importing Tariffs from CSV with wrong Regional Settings]]&lt;br /&gt;
* [[Make Retail Tariff from Wholesale Tariff explained]]&lt;br /&gt;
* [[Bulk change Tariffs for Users]]&lt;br /&gt;
* [[Day setup]]&lt;br /&gt;
* [[LCR/Tariff change based on call prefix]]&lt;br /&gt;
* [[Change Tariff for Connection Points]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_card_from_group_sell&amp;diff=18349</id>
		<title>MOR API card from group sell</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_card_from_group_sell&amp;diff=18349"/>
		<updated>2014-09-08T12:13:54Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Parametres */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 12---&amp;gt;&lt;br /&gt;
[[MOR API]] sells Cards from Calling Card Group&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/card_from_group_sell'''&lt;br /&gt;
* For Backwards-compatibility old name 'buy_card_from_callingroup' is also usable. Call: '''/api/buy_card_from_callingroup'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* email - email address, to send information about bought card '''Optional'''.&lt;br /&gt;
* id - Calling Card Group ID in MOR database. '''Required'''.&lt;br /&gt;
* quantity - default 1. '''Optional'''.&lt;br /&gt;
&lt;br /&gt;
'''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'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* [[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'''.&lt;br /&gt;
* u - username for authentication. '''Required'''.&lt;br /&gt;
* number - parameter that indicates which card is sold. If number parameter is send, then quantity parameter will be ignored. '''Optional'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have id = 6, quantity = 2, API Secret Key = 456789&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/buy_card_from_callingroup?u=username&amp;amp;id=6&amp;amp;quantity=2&amp;amp;hash=37086d860581fabc278413cd1a417d5c079f6eba&lt;br /&gt;
&lt;br /&gt;
'''NOTE that username are not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;cards&amp;gt;&lt;br /&gt;
   &amp;lt;card&amp;gt;&lt;br /&gt;
     &amp;lt;pin&amp;gt;...&amp;lt;/pin&amp;gt;&lt;br /&gt;
     &amp;lt;number&amp;gt;..&amp;lt;/number&amp;gt;&lt;br /&gt;
     &amp;lt;balance_without_vat&amp;gt;...&amp;lt;/balance_without_vat&amp;gt;&lt;br /&gt;
     &amp;lt;currency&amp;gt;...&amp;lt;/currency&amp;gt;&lt;br /&gt;
   &amp;lt;/card&amp;gt;&lt;br /&gt;
   &amp;lt;card&amp;gt;&lt;br /&gt;
     &amp;lt;pin&amp;gt;...&amp;lt;/pin&amp;gt;&lt;br /&gt;
     &amp;lt;number&amp;gt;...&amp;lt;/number&amp;gt;&lt;br /&gt;
     &amp;lt;balance_without_vat&amp;gt;...&amp;lt;/balance_without_vat&amp;gt;&lt;br /&gt;
     &amp;lt;currency&amp;gt;...&amp;lt;/currency&amp;gt;&lt;br /&gt;
   &amp;lt;/card&amp;gt;&lt;br /&gt;
  &amp;lt;/cards&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;Bad login&amp;lt;/error&amp;gt; - User supplied bad login or password.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Cardgroup was not found&amp;lt;/error&amp;gt; - Use correct Calling Card Group ID .&lt;br /&gt;
* &amp;lt;error&amp;gt;Free cards was not found&amp;lt;/error&amp;gt; - no free cards in Calling Card Group.&lt;br /&gt;
* &amp;lt;error&amp;gt;Card is already sold&amp;lt;/error&amp;gt; - This card is already sold.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_card_from_group_sell&amp;diff=18348</id>
		<title>MOR API card from group sell</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_card_from_group_sell&amp;diff=18348"/>
		<updated>2014-09-08T12:10:56Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Returns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 12---&amp;gt;&lt;br /&gt;
[[MOR API]] sells Cards from Calling Card Group&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/card_from_group_sell'''&lt;br /&gt;
* For Backwards-compatibility old name 'buy_card_from_callingroup' is also usable. Call: '''/api/buy_card_from_callingroup'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* email - email address, to send information about bought card '''Optional'''.&lt;br /&gt;
* id - Calling Card Group ID in MOR database. '''Required'''.&lt;br /&gt;
* quantity - default 1. '''Optional'''.&lt;br /&gt;
* number - parameter that indicates which card is sold. If number parameter is send, then quantity parameter will be ignored. '''Optional'''.&lt;br /&gt;
&lt;br /&gt;
'''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'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* [[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'''.&lt;br /&gt;
* u - username for authentication. '''Required'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have id = 6, quantity = 2, API Secret Key = 456789&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/buy_card_from_callingroup?u=username&amp;amp;id=6&amp;amp;quantity=2&amp;amp;hash=37086d860581fabc278413cd1a417d5c079f6eba&lt;br /&gt;
&lt;br /&gt;
'''NOTE that username are not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;cards&amp;gt;&lt;br /&gt;
   &amp;lt;card&amp;gt;&lt;br /&gt;
     &amp;lt;pin&amp;gt;...&amp;lt;/pin&amp;gt;&lt;br /&gt;
     &amp;lt;number&amp;gt;..&amp;lt;/number&amp;gt;&lt;br /&gt;
     &amp;lt;balance_without_vat&amp;gt;...&amp;lt;/balance_without_vat&amp;gt;&lt;br /&gt;
     &amp;lt;currency&amp;gt;...&amp;lt;/currency&amp;gt;&lt;br /&gt;
   &amp;lt;/card&amp;gt;&lt;br /&gt;
   &amp;lt;card&amp;gt;&lt;br /&gt;
     &amp;lt;pin&amp;gt;...&amp;lt;/pin&amp;gt;&lt;br /&gt;
     &amp;lt;number&amp;gt;...&amp;lt;/number&amp;gt;&lt;br /&gt;
     &amp;lt;balance_without_vat&amp;gt;...&amp;lt;/balance_without_vat&amp;gt;&lt;br /&gt;
     &amp;lt;currency&amp;gt;...&amp;lt;/currency&amp;gt;&lt;br /&gt;
   &amp;lt;/card&amp;gt;&lt;br /&gt;
  &amp;lt;/cards&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;Bad login&amp;lt;/error&amp;gt; - User supplied bad login or password.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Cardgroup was not found&amp;lt;/error&amp;gt; - Use correct Calling Card Group ID .&lt;br /&gt;
* &amp;lt;error&amp;gt;Free cards was not found&amp;lt;/error&amp;gt; - no free cards in Calling Card Group.&lt;br /&gt;
* &amp;lt;error&amp;gt;Card is already sold&amp;lt;/error&amp;gt; - This card is already sold.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_card_from_group_sell&amp;diff=18347</id>
		<title>MOR API card from group sell</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_card_from_group_sell&amp;diff=18347"/>
		<updated>2014-09-08T12:10:41Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Returns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 12---&amp;gt;&lt;br /&gt;
[[MOR API]] sells Cards from Calling Card Group&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/card_from_group_sell'''&lt;br /&gt;
* For Backwards-compatibility old name 'buy_card_from_callingroup' is also usable. Call: '''/api/buy_card_from_callingroup'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* email - email address, to send information about bought card '''Optional'''.&lt;br /&gt;
* id - Calling Card Group ID in MOR database. '''Required'''.&lt;br /&gt;
* quantity - default 1. '''Optional'''.&lt;br /&gt;
* number - parameter that indicates which card is sold. If number parameter is send, then quantity parameter will be ignored. '''Optional'''.&lt;br /&gt;
&lt;br /&gt;
'''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'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* [[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'''.&lt;br /&gt;
* u - username for authentication. '''Required'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have id = 6, quantity = 2, API Secret Key = 456789&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/buy_card_from_callingroup?u=username&amp;amp;id=6&amp;amp;quantity=2&amp;amp;hash=37086d860581fabc278413cd1a417d5c079f6eba&lt;br /&gt;
&lt;br /&gt;
'''NOTE that username are not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;cards&amp;gt;&lt;br /&gt;
   &amp;lt;card&amp;gt;&lt;br /&gt;
     &amp;lt;pin&amp;gt;...&amp;lt;/pin&amp;gt;&lt;br /&gt;
     &amp;lt;number&amp;gt;..&amp;lt;/number&amp;gt;&lt;br /&gt;
     &amp;lt;balance_without_vat&amp;gt;...&amp;lt;/balance_without_vat&amp;gt;&lt;br /&gt;
     &amp;lt;currency&amp;gt;...&amp;lt;/currency&amp;gt;&lt;br /&gt;
   &amp;lt;/card&amp;gt;&lt;br /&gt;
   &amp;lt;card&amp;gt;&lt;br /&gt;
     &amp;lt;pin&amp;gt;...&amp;lt;/pin&amp;gt;&lt;br /&gt;
     &amp;lt;number&amp;gt;...&amp;lt;/number&amp;gt;&lt;br /&gt;
     &amp;lt;balance_without_vat&amp;gt;...&amp;lt;/balance_without_vat&amp;gt;&lt;br /&gt;
     &amp;lt;currency&amp;gt;...&amp;lt;/currency&amp;gt;&lt;br /&gt;
   &amp;lt;/card&amp;gt;&lt;br /&gt;
  &amp;lt;/cards&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;Bad login&amp;lt;/error&amp;gt; - User supplied bad login or password.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Cardgroup was not found&amp;lt;/error&amp;gt; - Use correct Calling Card Group ID .&lt;br /&gt;
* &amp;lt;error&amp;gt;Free cards was not found&amp;lt;/error&amp;gt; - no free cards in Calling Card Group.&lt;br /&gt;
* &amp;lt;error&amp;gt;Card is already sold&amp;lt;/error&amp;gt; - This card was already sold.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_card_from_group_sell&amp;diff=18346</id>
		<title>MOR API card from group sell</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_card_from_group_sell&amp;diff=18346"/>
		<updated>2014-09-08T12:09:46Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Parametres */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 12---&amp;gt;&lt;br /&gt;
[[MOR API]] sells Cards from Calling Card Group&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/card_from_group_sell'''&lt;br /&gt;
* For Backwards-compatibility old name 'buy_card_from_callingroup' is also usable. Call: '''/api/buy_card_from_callingroup'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* email - email address, to send information about bought card '''Optional'''.&lt;br /&gt;
* id - Calling Card Group ID in MOR database. '''Required'''.&lt;br /&gt;
* quantity - default 1. '''Optional'''.&lt;br /&gt;
* number - parameter that indicates which card is sold. If number parameter is send, then quantity parameter will be ignored. '''Optional'''.&lt;br /&gt;
&lt;br /&gt;
'''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'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* [[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'''.&lt;br /&gt;
* u - username for authentication. '''Required'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have id = 6, quantity = 2, API Secret Key = 456789&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/buy_card_from_callingroup?u=username&amp;amp;id=6&amp;amp;quantity=2&amp;amp;hash=37086d860581fabc278413cd1a417d5c079f6eba&lt;br /&gt;
&lt;br /&gt;
'''NOTE that username are not included in hash'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;cards&amp;gt;&lt;br /&gt;
   &amp;lt;card&amp;gt;&lt;br /&gt;
     &amp;lt;pin&amp;gt;...&amp;lt;/pin&amp;gt;&lt;br /&gt;
     &amp;lt;number&amp;gt;..&amp;lt;/number&amp;gt;&lt;br /&gt;
     &amp;lt;balance_without_vat&amp;gt;...&amp;lt;/balance_without_vat&amp;gt;&lt;br /&gt;
     &amp;lt;currency&amp;gt;...&amp;lt;/currency&amp;gt;&lt;br /&gt;
   &amp;lt;/card&amp;gt;&lt;br /&gt;
   &amp;lt;card&amp;gt;&lt;br /&gt;
     &amp;lt;pin&amp;gt;...&amp;lt;/pin&amp;gt;&lt;br /&gt;
     &amp;lt;number&amp;gt;...&amp;lt;/number&amp;gt;&lt;br /&gt;
     &amp;lt;balance_without_vat&amp;gt;...&amp;lt;/balance_without_vat&amp;gt;&lt;br /&gt;
     &amp;lt;currency&amp;gt;...&amp;lt;/currency&amp;gt;&lt;br /&gt;
   &amp;lt;/card&amp;gt;&lt;br /&gt;
  &amp;lt;/cards&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;Bad login&amp;lt;/error&amp;gt; - User supplied bad login or password.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Cardgroup was not found&amp;lt;/error&amp;gt; - Use correct Calling Card Group ID .&lt;br /&gt;
* &amp;lt;error&amp;gt;Free cards was not found/error&amp;gt; - no free cards in Calling Card Group.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=CDR_Rerating&amp;diff=18345</id>
		<title>CDR Rerating</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=CDR_Rerating&amp;diff=18345"/>
		<updated>2014-09-08T11:45:50Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Other notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description = &lt;br /&gt;
&lt;br /&gt;
This function is used when you change Tariff for some customer and you want to recalculate Price for his Calls in the past. You need to select User, Period and system recalculates all Prices for all Calls in selected period for selected User. It affects balance of User and statistics will show information with new Prices.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Go to '''SETTINGS –&amp;gt; Billing –&amp;gt; CDR –&amp;gt; Rerating''':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:cdrrerating1.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Select date interval and User whose Calls you want to rerate. You can select All Users and include calls of Reseller Users.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!---This functionality is available from MOR X5---&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Also you are able su set '''Ghost Time''' percent, this value will increase user_billsec and/or reseller_billsec and price which depends on changed user_billsec and/or reseller_billsec. Ghost Time will be calculated just from initial billsec,  and if you will rerate two timesr with same percentage value, on second time nothing will change. 0 leaves or returns initial user_billsec and/or reseller price.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Table below will show which data of Calls will be affected according each selection scenario.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: separate; border-spacing: 0; border-width: 1px; border-style: solid; border-color: #C0C0C0; padding: 0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
! One of Admin Users&lt;br /&gt;
! One of Admin Resellers&lt;br /&gt;
! &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;All Users&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
! One of particular Reseller Users&lt;br /&gt;
! All Users (Reseller Users Included)&lt;br /&gt;
|-&lt;br /&gt;
| user_billsec, &lt;br /&gt;
user_rate, &lt;br /&gt;
user_price&lt;br /&gt;
| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;+&lt;br /&gt;
| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;-&lt;br /&gt;
| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;+ &lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;(just for Admin Users Calls)&lt;br /&gt;
| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;+&lt;br /&gt;
| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;+&lt;br /&gt;
|-&lt;br /&gt;
| reseller_billsec, &lt;br /&gt;
reseller_rate, &lt;br /&gt;
reseller_price&lt;br /&gt;
| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;-&lt;br /&gt;
| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;+ &lt;br /&gt;
&amp;amp;nbsp;(for Calls of All Reseller Users)&lt;br /&gt;
| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;+&lt;br /&gt;
| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;-&lt;br /&gt;
| &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;+ &lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;(just for Reseller User Calls)&lt;br /&gt;
|}&lt;br /&gt;
'''NOTE''' If in Call of Reseller User will be used one of [[Common Use Providers]] Tariff to rerate Reseller Price will be taken form ADDONS -&amp;gt; Resellers -&amp;gt; Common use Providers. If in Call of Reseller User will be used one of Provider which belongs just to Reseller, Call will not be rerated.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
* Press '''Rerate in Background(FAST)''' if you want to send Rerating task to [[Background Tasks]]. This way rerating of huge amount of Calls goes faster than SLOW method and also you do not need to wait in current page till rerating will be finished. &lt;br /&gt;
&lt;br /&gt;
* Press '''Rerate in GUI(SLOW)'''. The rating mechanism is the same as in MOR application but here rating is done by GUI. '''Be patient – if there are many calls – it can take some time to rerate all of them'''. If you choose this way for Rerating you will be redirected to second step:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:cdrrerating2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here you see call stats for selected date interval. When you are sure everything is correct – press '''Rerate''':&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:cdrrerating3.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here you will see the Difference after Rerating.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Rerate all users == &lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 11---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Select 'All Users' from User selection to rerate all Users at once in selected period.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Testing mode == &lt;br /&gt;
&lt;br /&gt;
Select '''Tariff for User''' below '''TESTING MODE''' header: &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:cdrtestrerating.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
...and press '''Test with selected Tariff (SLOW)''' to check differences of Rates for selected User. This way Rerating will not save changes to Calls/Users.&lt;br /&gt;
&lt;br /&gt;
Testing mode is useful for testing &amp;quot;What if User had this Tariff&amp;quot; scenarios.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Selected Tariff is used just in [[Image:icon_test.png]]Testing mode.''' Rerating functionality rerates old Calls by Tariff set in User Settings, if you did not change Tariff for User, after rerating Calls Prices will be same as were before.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Tariff from Localization ==&lt;br /&gt;
&lt;br /&gt;
If call's prefix is in Localization Rule which has some Tariff, this Tariff is used to count call's price instead of User's Tariff.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Other notes=&lt;br /&gt;
&lt;br /&gt;
* Re-rate takes effect on User prices only. Provider price remains the same.&lt;br /&gt;
&lt;br /&gt;
* Re-rate does not take into account Flat Rates and User will be charged for such Calls. Do not do rerating for such User.&lt;br /&gt;
&lt;br /&gt;
* Re-rate does not work when call's DID, LCR or Owner Device is changed by Localization rules.&lt;br /&gt;
&lt;br /&gt;
* Re-rate will take Active Rate when Rates with [[Rate Effective From | Effective From]] are re-rated.&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Aggregate_statistics.png&amp;diff=18344</id>
		<title>File:Aggregate statistics.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Aggregate_statistics.png&amp;diff=18344"/>
		<updated>2014-09-08T11:34:44Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: uploaded a new version of &amp;quot;File:Aggregate statistics.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Customer_Invoices&amp;diff=18343</id>
		<title>M4 Customer Invoices</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Customer_Invoices&amp;diff=18343"/>
		<updated>2014-09-08T11:21:11Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
M2 '''Customer Invoice''' is dedicated for final User of M2, who have to pay for made Calls. Admin can see and manage them in '''ACCOUNTING –&amp;gt; Customer Invoices''', User can reach list of his Invoices and check them from main menu.&amp;lt;br&amp;gt;&lt;br /&gt;
Despite your settings all values in Invoices are rounded into two digits after comma.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoices List==&lt;br /&gt;
&lt;br /&gt;
Invoices can be viewed, created (WIP) or exported to XLSX file in '''ACCOUNTING –&amp;gt; Customer Invoices'''. In the main window, you can see list of all the Invoices.&lt;br /&gt;
&lt;br /&gt;
All Prices are displayed in particular Invoice Currency. That means that in each line of Invoice Price and Price with TAX will be shown in currency which is written in Currency column. The Currency column tells which currency Invoice was generated with. Also the exchange rate at the invoice generation moment is saved in the database so it may differ from the up to date exchange rate.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Total Price and Price with TAX are calculated into viewing Currency, which you can choose in upper corner of page. In Total price calculation there are used saved exchange Rate of each Invoice.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Example'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Default system Currency is USD&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Invoice A is generated on price = 100 in currency EUR with exchange rate 0.5&amp;lt;br&amp;gt;&lt;br /&gt;
Invoice B is generated on price = 100 in currency DZD with exchange rate 0.25&amp;lt;br&amp;gt;&lt;br /&gt;
Invoice C is generated on price = 100 in currency ALL with exchange rate 0.75&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But now exchange rate are different: EUR - 0.75, DZD - 0.5 and ALL - 1.0. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to see Total price(sum of these 3 Invoices) in EUR. For Invoice B and C will be set exchange rate of today, but for invoice A exchange rate will be from that day when invoice was generated (0.5).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same calculations with other currencies&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to see Total price in DZD. For Invoice A and C will be set exchange rate of today, but for invoice B exchange rate will be from that day when invoice was generated (0.25).&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to see Total price in ALL. For Invoice A and B will be set exchange rate of today, but for invoice C exchange rate will be from that day when invoice was generated (0.75).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Total price will be 733.3333 USD, or 500 EUR, or 266.6667 DZD, or 700 ALL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoice Edit==&lt;br /&gt;
&lt;br /&gt;
Invoice edit is accessed from invoices list.&lt;br /&gt;
 &lt;br /&gt;
Here you are able to see some information of the user and Invoice displayed and also some details of the Invoice can be edited.&lt;br /&gt;
&lt;br /&gt;
'''Price''' and '''Price with TAX''' are displayed in a currency the invoice was generated with. It will not be changed according to system settings. &amp;lt;br&amp;gt;&lt;br /&gt;
The '''Exchange rate''' at the invoice generation moment is also saved in the database and displayed in Invoice Edit page. &amp;lt;br&amp;gt;&lt;br /&gt;
'''Period Start''' and '''Period End''' dates are not affected by time zones: only '''Issue Date''', '''Date Due''' and '''Status changed at''' changes according to the [[GUI_time_zone | time zone]] of the system.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoice Details==&lt;br /&gt;
&lt;br /&gt;
You can find this page by clicking '''Invoice details''' link in the Invoice Edit page.&lt;br /&gt;
&lt;br /&gt;
In the Invoice Lines page there is information about destinations, rates assigned to those destinations, calls made to the destinations, total time per destination and price for all the calls made to the specific destination. &lt;br /&gt;
&lt;br /&gt;
This page can be accessed from Invoice edit page.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this page you can search by destination prefix. For example: enter ''35567'' and ''Albania mobile'' destination will be displayed.&lt;br /&gt;
 &lt;br /&gt;
Search can also be made with wildcard %. If you enter ''35%'', ''%67'', ''3%7'' or ''%56%'', ''Albania mobile'' will also be displayed.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=User Invoices=&lt;br /&gt;
Invoices can be viewed by Users and exported in XLSX format&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:M2_user_invoices.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
By pressing on DETAILS User will be redirected to Invoice Details page&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:M2_invoice_details.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= XLSX Invoices =&lt;br /&gt;
&lt;br /&gt;
XLSX file to export an Invoice is made from your own XLSX format template and information from Invoices main window. &lt;br /&gt;
&lt;br /&gt;
Template have to be called default.xlsx and placed in /home/m2/public/invoice_templates folder. One template already exist, you need to change that one with yours. Template you can prepare as you wish, you can fill it with information of company, draw tables with column names, define information taken from Invoice main window and so on.&lt;br /&gt;
&lt;br /&gt;
How and what information is displayed can be set in database by specific settings. For example:&lt;br /&gt;
&lt;br /&gt;
 UPDATE conflines SET value = 'G2' WHERE name = 'Cell_m2_invoice_number';&lt;br /&gt;
 UPDATE conflines SET value = 'G3' WHERE name = 'Cell_m2_invoice_issue_date';&lt;br /&gt;
 UPDATE conflines SET value = 'A7' WHERE name = 'Cell_m2_invoice_period_start';&lt;br /&gt;
 UPDATE conflines SET value = 'D7' WHERE name = 'Cell_m2_invoice_period_end';&lt;br /&gt;
 UPDATE conflines SET value = 'A2' WHERE name = 'Cell_m2_invoice_client_name';&lt;br /&gt;
 UPDATE conflines SET value = 'G4' WHERE name = 'Cell_m2_invoice_due_date';&lt;br /&gt;
 UPDATE conflines SET value = 'A3' WHERE name = 'Cell_m2_invoice_client_details1';&lt;br /&gt;
 UPDATE conflines SET value = 'B3' WHERE name = 'Cell_m2_invoice_client_details2';&lt;br /&gt;
 UPDATE conflines SET value = 'C3' WHERE name = 'Cell_m2_invoice_client_details3';&lt;br /&gt;
 UPDATE conflines SET value = 'A4' WHERE name = 'Cell_m2_invoice_client_details4';&lt;br /&gt;
 UPDATE conflines SET value = 'B4' WHERE name = 'Cell_m2_invoice_client_details5';&lt;br /&gt;
 UPDATE conflines SET value = 'A5' WHERE name = 'Cell_m2_invoice_client_details6';&lt;br /&gt;
 UPDATE conflines SET value = 'B13' WHERE name = 'Cell_m2_invoice_lines_destination';&lt;br /&gt;
 UPDATE conflines SET value = 'F13' WHERE name = 'Cell_m2_invoice_lines_name';&lt;br /&gt;
 UPDATE conflines SET value = 'G13' WHERE name = 'Cell_m2_invoice_lines_rate';&lt;br /&gt;
 UPDATE conflines SET value = 'I13' WHERE name = 'Cell_m2_invoice_lines_calls';&lt;br /&gt;
 UPDATE conflines SET value = 'H13' WHERE name = 'Cell_m2_invoice_lines_nice_total_time';&lt;br /&gt;
 UPDATE conflines SET value = 'J13' WHERE name = 'Cell_m2_invoice_lines_nice_price';&lt;br /&gt;
 UPDATE conflines SET value = 'A13' WHERE name = 'Cell_m2_invoice_lines_destination_number';&lt;br /&gt;
 UPDATE conflines SET value = 'E25' WHERE name = 'Cell_m2_invoice_nice_total_amount';&lt;br /&gt;
 UPDATE conflines SET value = 'E26' WHERE name = 'Cell_m2_invoice_nice_total_amount_with_tax';&lt;br /&gt;
 UPDATE conflines SET value = 'G25' WHERE name = 'Cell_m2_invoice_exchange_rate';&lt;br /&gt;
 UPDATE conflines SET value = 'D27' WHERE name = 'Cell_m2_invoice_comment';&lt;br /&gt;
 UPDATE conflines SET value = 'G7' WHERE name = 'Cell_m2_invoice_timezone';&lt;br /&gt;
&lt;br /&gt;
'''NOTE''' value is an address of cell and name defines what information to show. &lt;br /&gt;
&lt;br /&gt;
'''NOTE''' GUI should be restarted after made changes!&lt;br /&gt;
&lt;br /&gt;
Cell_m2_invoice_client_details1 - Address &amp;lt;br&amp;gt;&lt;br /&gt;
Cell_m2_invoice_client_details2 - City &amp;lt;br&amp;gt;&lt;br /&gt;
Cell_m2_invoice_client_details3 - Postcode/ZIP &amp;lt;br&amp;gt;&lt;br /&gt;
Cell_m2_invoice_client_details4 - State &amp;lt;br&amp;gt;&lt;br /&gt;
Cell_m2_invoice_client_details5 - Country &amp;lt;br&amp;gt;&lt;br /&gt;
Cell_m2_invoice_client_details6 - Phone &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All other are self explanatory.&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Customer_Invoices&amp;diff=18342</id>
		<title>M4 Customer Invoices</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Customer_Invoices&amp;diff=18342"/>
		<updated>2014-09-08T11:17:55Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
M2 '''Customer Invoice''' is dedicated for final User of M2, who have to pay for made Calls. Admin can see and manage them in '''ACCOUNTING –&amp;gt; Customer Invoices''', User can reach list of his Invoices and check them from main menu.&amp;lt;br&amp;gt;&lt;br /&gt;
All values in Invoices are rounded into two digits after comma despite your settings.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoices List==&lt;br /&gt;
&lt;br /&gt;
Invoices can be viewed, created (WIP) or exported to XLSX file in '''ACCOUNTING –&amp;gt; Customer Invoices'''. In the main window, you can see list of all the Invoices.&lt;br /&gt;
&lt;br /&gt;
All Prices are displayed in particular Invoice Currency. That means that in each line of Invoice Price and Price with TAX will be shown in currency which is written in Currency column. The Currency column tells which currency Invoice was generated with. Also the exchange rate at the invoice generation moment is saved in the database so it may differ from the up to date exchange rate.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Total Price and Price with TAX are calculated into viewing Currency, which you can choose in upper corner of page. In Total price calculation there are used saved exchange Rate of each Invoice.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Example'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Default system Currency is USD&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Invoice A is generated on price = 100 in currency EUR with exchange rate 0.5&amp;lt;br&amp;gt;&lt;br /&gt;
Invoice B is generated on price = 100 in currency DZD with exchange rate 0.25&amp;lt;br&amp;gt;&lt;br /&gt;
Invoice C is generated on price = 100 in currency ALL with exchange rate 0.75&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But now exchange rate are different: EUR - 0.75, DZD - 0.5 and ALL - 1.0. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to see Total price(sum of these 3 Invoices) in EUR. For Invoice B and C will be set exchange rate of today, but for invoice A exchange rate will be from that day when invoice was generated (0.5).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same calculations with other currencies&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to see Total price in DZD. For Invoice A and C will be set exchange rate of today, but for invoice B exchange rate will be from that day when invoice was generated (0.25).&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to see Total price in ALL. For Invoice A and B will be set exchange rate of today, but for invoice C exchange rate will be from that day when invoice was generated (0.75).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Total price will be 733.3333 USD, or 500 EUR, or 266.6667 DZD, or 700 ALL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoice Edit==&lt;br /&gt;
&lt;br /&gt;
Invoice edit is accessed from invoices list.&lt;br /&gt;
 &lt;br /&gt;
Here you are able to see some information of the user and Invoice displayed and also some details of the Invoice can be edited.&lt;br /&gt;
&lt;br /&gt;
'''Price''' and '''Price with TAX''' are displayed in a currency the invoice was generated with. It will not be changed according to system settings. &amp;lt;br&amp;gt;&lt;br /&gt;
The '''Exchange rate''' at the invoice generation moment is also saved in the database and displayed in Invoice Edit page. &amp;lt;br&amp;gt;&lt;br /&gt;
'''Period Start''' and '''Period End''' dates are not affected by time zones: only '''Issue Date''', '''Date Due''' and '''Status changed at''' changes according to the [[GUI_time_zone | time zone]] of the system.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Invoice Details==&lt;br /&gt;
&lt;br /&gt;
You can find this page by clicking '''Invoice details''' link in the Invoice Edit page.&lt;br /&gt;
&lt;br /&gt;
In the Invoice Lines page there is information about destinations, rates assigned to those destinations, calls made to the destinations, total time per destination and price for all the calls made to the specific destination. &lt;br /&gt;
&lt;br /&gt;
This page can be accessed from Invoice edit page.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this page you can search by destination prefix. For example: enter ''35567'' and ''Albania mobile'' destination will be displayed.&lt;br /&gt;
 &lt;br /&gt;
Search can also be made with wildcard %. If you enter ''35%'', ''%67'', ''3%7'' or ''%56%'', ''Albania mobile'' will also be displayed.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=User Invoices=&lt;br /&gt;
Invoices can be viewed by Users and exported in XLSX format&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:M2_user_invoices.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
By pressing on DETAILS User will be redirected to Invoice Details page&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:M2_invoice_details.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= XLSX Invoices =&lt;br /&gt;
&lt;br /&gt;
XLSX file to export an Invoice is made from your own XLSX format template and information from Invoices main window. &lt;br /&gt;
&lt;br /&gt;
Template have to be called default.xlsx and placed in /home/m2/public/invoice_templates folder. One template already exist, you need to change that one with yours. Template you can prepare as you wish, you can fill it with information of company, draw tables with column names, define information taken from Invoice main window and so on.&lt;br /&gt;
&lt;br /&gt;
How and what information is displayed can be set in database by specific settings. For example:&lt;br /&gt;
&lt;br /&gt;
 UPDATE conflines SET value = 'G2' WHERE name = 'Cell_m2_invoice_number';&lt;br /&gt;
 UPDATE conflines SET value = 'G3' WHERE name = 'Cell_m2_invoice_issue_date';&lt;br /&gt;
 UPDATE conflines SET value = 'A7' WHERE name = 'Cell_m2_invoice_period_start';&lt;br /&gt;
 UPDATE conflines SET value = 'D7' WHERE name = 'Cell_m2_invoice_period_end';&lt;br /&gt;
 UPDATE conflines SET value = 'A2' WHERE name = 'Cell_m2_invoice_client_name';&lt;br /&gt;
 UPDATE conflines SET value = 'G4' WHERE name = 'Cell_m2_invoice_due_date';&lt;br /&gt;
 UPDATE conflines SET value = 'A3' WHERE name = 'Cell_m2_invoice_client_details1';&lt;br /&gt;
 UPDATE conflines SET value = 'B3' WHERE name = 'Cell_m2_invoice_client_details2';&lt;br /&gt;
 UPDATE conflines SET value = 'C3' WHERE name = 'Cell_m2_invoice_client_details3';&lt;br /&gt;
 UPDATE conflines SET value = 'A4' WHERE name = 'Cell_m2_invoice_client_details4';&lt;br /&gt;
 UPDATE conflines SET value = 'B4' WHERE name = 'Cell_m2_invoice_client_details5';&lt;br /&gt;
 UPDATE conflines SET value = 'A5' WHERE name = 'Cell_m2_invoice_client_details6';&lt;br /&gt;
 UPDATE conflines SET value = 'B13' WHERE name = 'Cell_m2_invoice_lines_destination';&lt;br /&gt;
 UPDATE conflines SET value = 'F13' WHERE name = 'Cell_m2_invoice_lines_name';&lt;br /&gt;
 UPDATE conflines SET value = 'G13' WHERE name = 'Cell_m2_invoice_lines_rate';&lt;br /&gt;
 UPDATE conflines SET value = 'I13' WHERE name = 'Cell_m2_invoice_lines_calls';&lt;br /&gt;
 UPDATE conflines SET value = 'H13' WHERE name = 'Cell_m2_invoice_lines_nice_total_time';&lt;br /&gt;
 UPDATE conflines SET value = 'J13' WHERE name = 'Cell_m2_invoice_lines_nice_price';&lt;br /&gt;
 UPDATE conflines SET value = 'A13' WHERE name = 'Cell_m2_invoice_lines_destination_number';&lt;br /&gt;
 UPDATE conflines SET value = 'E25' WHERE name = 'Cell_m2_invoice_nice_total_amount';&lt;br /&gt;
 UPDATE conflines SET value = 'E26' WHERE name = 'Cell_m2_invoice_nice_total_amount_with_tax';&lt;br /&gt;
 UPDATE conflines SET value = 'G25' WHERE name = 'Cell_m2_invoice_exchange_rate';&lt;br /&gt;
 UPDATE conflines SET value = 'D27' WHERE name = 'Cell_m2_invoice_comment';&lt;br /&gt;
 UPDATE conflines SET value = 'G7' WHERE name = 'Cell_m2_invoice_timezone';&lt;br /&gt;
&lt;br /&gt;
'''NOTE''' value is an address of cell and name defines what information to show. &lt;br /&gt;
&lt;br /&gt;
'''NOTE''' GUI should be restarted after made changes!&lt;br /&gt;
&lt;br /&gt;
Cell_m2_invoice_client_details1 - Address &amp;lt;br&amp;gt;&lt;br /&gt;
Cell_m2_invoice_client_details2 - City &amp;lt;br&amp;gt;&lt;br /&gt;
Cell_m2_invoice_client_details3 - Postcode/ZIP &amp;lt;br&amp;gt;&lt;br /&gt;
Cell_m2_invoice_client_details4 - State &amp;lt;br&amp;gt;&lt;br /&gt;
Cell_m2_invoice_client_details5 - Country &amp;lt;br&amp;gt;&lt;br /&gt;
Cell_m2_invoice_client_details6 - Phone &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All other are self explanatory.&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=301_Originator_not_found&amp;diff=18341</id>
		<title>301 Originator not found</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=301_Originator_not_found&amp;diff=18341"/>
		<updated>2014-09-08T10:31:43Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hangupcause Code - 301. Originator not found (IP/port/Tech.prefix)&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Originator is searched by:&lt;br /&gt;
&lt;br /&gt;
* IP&lt;br /&gt;
* Port&lt;br /&gt;
* Technical prefix&lt;br /&gt;
&lt;br /&gt;
If ALL of these values are correct - then Originator will be found.&lt;br /&gt;
&lt;br /&gt;
If AT LEAST ONE of these values are not correct - then Originator will NOT be found.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= See also =&lt;br /&gt;
* [[M2 Hangupcause Codes | Hangupcause Codes]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Hangupcause_Codes&amp;diff=18340</id>
		<title>M4 Hangupcause Codes</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Hangupcause_Codes&amp;diff=18340"/>
		<updated>2014-09-08T10:28:30Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
| '''Code''' || '''Explanation''' &lt;br /&gt;
|- &lt;br /&gt;
| 300 || Not authenticated (accountcode = 0)&lt;br /&gt;
|- &lt;br /&gt;
| 301 || [[301 Originator not found | Originator not found]](IP/port/Tech.prefix)&lt;br /&gt;
|-&lt;br /&gt;
| 302 || Global Call Limit reached&lt;br /&gt;
|- &lt;br /&gt;
| 303 || Originator Capacity reached&lt;br /&gt;
|-&lt;br /&gt;
| 304 || CPS Limit reached&lt;br /&gt;
|-&lt;br /&gt;
| 305 || Source (CallerID) not accepted by regexp&lt;br /&gt;
|-&lt;br /&gt;
| 306 || Originator Balance Limit reached (Balance Min)&lt;br /&gt;
|- &lt;br /&gt;
| 307 || Originator Rate not found&lt;br /&gt;
|-&lt;br /&gt;
| 308 || Dial Peer not found&lt;br /&gt;
|- &lt;br /&gt;
| 309 || No Dial Peer is available by regexp&lt;br /&gt;
|-&lt;br /&gt;
| 310 || Suitable Terminator not found&lt;br /&gt;
|-&lt;br /&gt;
| 311 || User is blocked&lt;br /&gt;
|-&lt;br /&gt;
| 312 || Caller cancelled the call (Freeswitch HGC ORIGINATOR_CANCEL 487)&lt;br /&gt;
|-&lt;br /&gt;
| 313 || User call limit reached&lt;br /&gt;
|-&lt;br /&gt;
| 314 || M2 radius server did not receive accounting start packet (acct start timeout)&lt;br /&gt;
|-&lt;br /&gt;
| 315 || M2 radius server did not receive accounting stop packet (acct stop timeout)&lt;br /&gt;
|-&lt;br /&gt;
| 316 || Freeswitch did not find termination point details&lt;br /&gt;
|-&lt;br /&gt;
| 317 || Registration to termination point failed&lt;br /&gt;
|-&lt;br /&gt;
| 318 || --&lt;br /&gt;
|-&lt;br /&gt;
| 319 || --&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All M2 HGC returns SIP 503 by default.&lt;br /&gt;
&lt;br /&gt;
This can be changes in /etc/asterisk/m2.conf using&lt;br /&gt;
&lt;br /&gt;
 hgcX = code&lt;br /&gt;
&lt;br /&gt;
Where X is M2 HGC, and code is [https://wiki.freeswitch.org/wiki/Hangup_Causes ITU-T Q.850 Code]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= See also =&lt;br /&gt;
* https://wiki.freeswitch.org/wiki/Hangup_Causes&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Prefix_finder&amp;diff=18338</id>
		<title>Prefix finder</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Prefix_finder&amp;diff=18338"/>
		<updated>2014-09-08T07:03:51Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* About */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= About =&lt;br /&gt;
Navigate to:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
For Admin &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; '''STATISTICS -&amp;gt; Various -&amp;gt; Prefix Finder''':&amp;lt;br&amp;gt;&lt;br /&gt;
For Admin User &amp;amp;nbsp;&amp;amp;nbsp; '''PERSONAL MENU -&amp;gt; Various -&amp;gt; Search''':&amp;lt;br&amp;gt;&lt;br /&gt;
For Reseller &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; '''MAIN MENU -&amp;gt; Routing -&amp;gt; Search''':&amp;lt;br&amp;gt;&lt;br /&gt;
For Reseller User &amp;amp;nbsp; '''PERSONAL MENU -&amp;gt; Details -&amp;gt; Search''':&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:File-prefixfinder.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prefix finder is very useful tool when you want to get a country prefix in [[E.164]] format knowing only a country name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix - refers to the first digits of a telephone number. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These digits are a way to identify the area that the phone number is located in.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
Prefix finder has two functions:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1) You can enter prefix to get destination name. For example you can enter '''370''' and get destination name Lithuania, tariff and rates for this destination.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) You can enter Destination name and get prefix. For example you can enter '''Lithuania''' and get a prefix 370.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) You can enter Number to get Rate. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Device_settings&amp;diff=18337</id>
		<title>Device settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Device_settings&amp;diff=18337"/>
		<updated>2014-09-08T06:25:36Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=General=&lt;br /&gt;
&lt;br /&gt;
* '''[[Registration Status]]''' - available only for SIP  devices. If device is assigned to server A but registers to server B - status will not be shown (devices must register to the server they are assigned to). If no status is displayed - device has not tried to register or noone called to that device.&lt;br /&gt;
* '''Accountcode''' – the unique ID of the device in the system.&lt;br /&gt;
* '''Description''' – for informational purposes.&lt;br /&gt;
* '''PIN''' – device PIN for authentication/authorization.&lt;br /&gt;
* '''Device group''' – to which group the device belongs (not used most of the time).&lt;br /&gt;
* '''Type''' – what type of device it is. Device type '''cannot''' be changed once it is created.&lt;br /&gt;
* '''Extension''' – a short number by which this device can be reached; must be unique in the system.&lt;br /&gt;
* '''DTMF Mode''' – in which protocol phone button presses are sent over network. The available options are: inband, info, RFC2833, and auto. Choose which one your provider uses (RFC2833 is used most often). This setting applies to SIP, H.323 and IAX2 protocols. For ZAP devices edit the configuration files in /etc/asterisk.&lt;br /&gt;
* '''Location''' – the default is Global. Choose the appropriate location based on [[Localization]] needs.&lt;br /&gt;
* '''Ringing Timeout''' – allows to limit the ringing duration in seconds. Leave 0 for unlimited. Minimal value is 10 seconds.&lt;br /&gt;
* '''Call Timeout''' – allows to limit answered call billsec. Leave 0 for unlimited.&lt;br /&gt;
* '''[[Trunks | Trunk]]''' – No/Yes/Yes with ANI – Is this device Trunk with/without ANI?&lt;br /&gt;
* '''[[Simultaneous call limitation | Call Limit]]''' – how many simultaneous calls can a user make?&lt;br /&gt;
* '''[[Multi_Server_support | Server]]''' – allows to choose server in multiple servers system. (While Carrier Class Addon is active, all Virtual and Fax devices are auto-assigned to all present Asterisk servers and cannot be re-assigned. Disabling Carrier Class Addon all Virtual and Fax devices will be assigned to default Asterisk server chosen from Addons &amp;gt; Carrier Class &amp;gt; Settings dropdown).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Authentication=&lt;br /&gt;
&lt;br /&gt;
===For dahdi devices:===&lt;br /&gt;
&lt;br /&gt;
* '''Channel''' – which channel (or channel group) to use on PRI/BRI/PSTN card. Channels and groups should be configured in ''zapata.conf''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===For SIP, H323 and IAX2 Devices:===&lt;br /&gt;
&lt;br /&gt;
'''IP Authentication:'''&lt;br /&gt;
&lt;br /&gt;
* '''IP Address''' – Device IP address in one of the following formats: &lt;br /&gt;
** '''IP''' – understands simple IP address, IP address with it's Subnet Mask and IP address with it's Range. For example ''192.168.0.1'', ''192.168.0.1/24'' and ''192.168.0.0-255''. &lt;br /&gt;
* '''Accept calls from any port''' – this option lets you receive calls from different Ports. This option is just on SIP (when [[SIP balancer]] in use) and H323.&lt;br /&gt;
* '''Port''' – Device Port.&lt;br /&gt;
&lt;br /&gt;
'''Dynamic:'''&lt;br /&gt;
&lt;br /&gt;
* '''Username''' – username you enter in your Device.&lt;br /&gt;
* '''Password''' – password you enter in your Device.&lt;br /&gt;
* '''IP Address''' – shows Device IP address.&lt;br /&gt;
* '''Port''' – shows Device Port.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CallerID=&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:device_callerid.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
A CallerID consists of two parts: Name and Number. The &amp;quot;Number&amp;quot; part is transferred by default by all technologies (GSM, PSTN, SIP etc), but the &amp;quot;Name&amp;quot; part is transferred only by some. The number you see on your mobile phone when someone is calling you is the &amp;quot;Number&amp;quot; part.&lt;br /&gt;
&lt;br /&gt;
* '''Name''' – the &amp;quot;Name&amp;quot; part of the CallerID.&lt;br /&gt;
* '''Number''' – the &amp;quot;Number&amp;quot; part of the CallerID. Only numerical values can be entered in this field. &lt;br /&gt;
&lt;br /&gt;
NOTE: if you leave these fields empty, the user can set the CallerID name by himself. Usually it is not advisable to allow the user do it on his own. If CallerID number field is empty, system will take device username as CallerID number (if device is username/password authenticated).&lt;br /&gt;
&lt;br /&gt;
* '''Number from DID''' - use the DID as the CallerID (only available when the device has DIDs), this option just sets CallerID Number to be equal to DID. Next time you will edit Device's settings, first option - Number will be checked&lt;br /&gt;
&lt;br /&gt;
* '''Control by DIDs (CID from DIDs)''' – only available when the device has DIDs.&lt;br /&gt;
&lt;br /&gt;
This setting lets you control what a CID user can enter in his devices. CID numbers should be from the set of the device's DIDs. They are mainly used when the user's PBX is connected over Trunk and many DIDs are routed to this Trunk. Calls coming out from this PBX must have a CallerID Number from the set of DIDs assigned to this Trunk (PBX). If &amp;quot;CID from DIDs&amp;quot; is checked, the system checks whether the device's CID number is from DIDs assigned to this device. If no DIDs are assigned, this value is ignored. In order for this setting to be active, CID Name/Number fields must be empty to allow the user to enter any CID number he wants. If &amp;quot;CID from DIDs&amp;quot; is checked and user enters any CID (not from his DIDs), the system will change his CID by his first available DID (selected from database by lowest ID).&lt;br /&gt;
&lt;br /&gt;
* '''Control by CIDs'''  – system checks incoming CallerID (Device's CallerID which is set on the Device). If CallerID matches one of the Device's CIDs - then such CallerID will be allowed. If it does not match - it will be changed to the selected CID.&lt;br /&gt;
&lt;br /&gt;
* '''Control by Destination''' – This is advanced option which works by such algorithm:&lt;br /&gt;
&lt;br /&gt;
# system checks Destination and checks DIDs assigned to calling Device. Then it finds 'nearest' DID to the Destination by subtracting DID from Destination in numerical form (Example, DID: 11111, Destination: 11112, |DID-Destination|=|1111-11112|=1) If Device has several DIDs - the lowest value is selected and this DID is set as CallerID. &lt;br /&gt;
#If Device has no DIDs - then User DIDs are used. &lt;br /&gt;
#If Device does not have DIDs and User has no DIDs, then CallerID set in Number field will be used. &lt;br /&gt;
#If nothing is set here - CallerID coming from Device will be used.&lt;br /&gt;
&lt;br /&gt;
* '''Random Number from Number Pool''' – This functionality gives you an ability to send different caller number on each Call. Available from MOR X4. More information: [http://wiki.kolmisoft.com/index.php/Number_Pool Number Pool].&lt;br /&gt;
&lt;br /&gt;
* '''Unknown''' - This option lets you set CallerID number to unknown. &lt;br /&gt;
&lt;br /&gt;
* '''Copy Leg A Name to Leg B Number''' – Leg A name will be used as Leg B number.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Network Related=&lt;br /&gt;
&lt;br /&gt;
===For H323:===&lt;br /&gt;
&lt;br /&gt;
* '''Fast start''' – option for faster H.245.&lt;br /&gt;
* '''h245 Tunneling''' – use H.245 without opening a second TCP/IP channel.&lt;br /&gt;
More info you can find [http://toncar.cz/Tutorials/VoIP/VoIP_Protocols_H323_Call_Signalling_Optimizations.html here].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===For SIP and IAX2===&lt;br /&gt;
&lt;br /&gt;
* '''Media control''' – can reinvite. Do you want your server to stay in media path between your clients and your provider? Please note that this option will work only if it is supported from both, device and provider, sides and it allows to handle SIP packets only. Moreover, no codec mismatch between device and provider is available. Default value is ''No''. '''WARNING''': This option can cause [[Call was billed incorrectly|incorrect billing]].&lt;br /&gt;
** canreinvite = yes &amp;quot;allow RTP media direct&amp;quot;&lt;br /&gt;
** canreinvite = no &amp;quot;deny re-invites&amp;quot;&lt;br /&gt;
** canreinvite = nonat &amp;quot;allow reinvite when local, deny reinvite when NAT&amp;quot;&lt;br /&gt;
** canreinvite = update &amp;quot;use UPDATE instead of INVITE&amp;quot;&lt;br /&gt;
** canreinvite = update,nonat &amp;quot;use UPDATE when local, deny when NAT&amp;quot;&lt;br /&gt;
* '''NAT''' – the available options are: yes, no, never, force_rport, comedia. For a detailed explanation of these settings, refer to [http://www.voip-info.org/wiki/view/Asterisk+sip+nat here].&lt;br /&gt;
* '''Qualify''' – how often to &amp;quot;ask&amp;quot; the device about availability. More details [http://www.voip-info.org/wiki/view/Asterisk+sip+qualify here] for SIP devices and [http://www.voip-info.org/wiki/view/Asterisk+iax+qualify here] for IAX2 devices.&lt;br /&gt;
* '''IAX2 Trunking Mode''' – enable/disable trunking mode, which allows multiple voice streams to share a single &amp;quot;trunk&amp;quot; to another server, reducing overhead created by IP packets. Only on IAX2.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Groups=&lt;br /&gt;
&lt;br /&gt;
* [[What are callgroups and pickupgroups | Call Group]] – to which Call Group this device belongs.&lt;br /&gt;
* [[What are callgroups and pickupgroups | Pickup Group]] – which Call Groups this device can pick up.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Voicemail=&lt;br /&gt;
&lt;br /&gt;
* '''Email''' – where to send received Voicemail.&lt;br /&gt;
* '''Password''' – the digital password the user enters when he calls the Voicemail number to hear his messages.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Codecs=&lt;br /&gt;
&lt;br /&gt;
[[Which codecs should I choose for devices | Choose the codecs]] your provider uses.&lt;br /&gt;
&lt;br /&gt;
NOTES: &lt;br /&gt;
* When no fields are checked, all codecs are available – for example, settings in sip.conf or iax.conf are effective.&lt;br /&gt;
* If the Provider and the Device do not have similar codecs, no call can be established.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Allowed Addresses=&lt;br /&gt;
&lt;br /&gt;
'''IP, MASK''' – permits traffic from this IP only. You can find a detailed explanation [http://www.voip-info.org/wiki/index.php?page=Asterisk+sip+permit-deny-mask here].&lt;br /&gt;
&lt;br /&gt;
You can enable multiple allowed addresses however this option should be turned on to be visible in main device settings window. Go to '''SETTINGS''' -&amp;gt; '''Setup''' -&amp;gt; '''Settings''' -&amp;gt; '''Various''' tab and choose ''Yes'' for ''Enable &amp;quot;Allowed addresses&amp;quot; option for Devices:''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Settings visual advanced.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
And click ''Save changes''.&lt;br /&gt;
&lt;br /&gt;
Now you will see an additional section in SIP and IAX2 Devices edit window:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Deviceconfig allowedaddr.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Allowed addresses''' describes from what IP's or defined subnets accept traffic. &lt;br /&gt;
NOTE that this setting take effect only for '''Dynamic authentication''' devices. For '''IP authentication''' devices, this setting is not applied.&lt;br /&gt;
&lt;br /&gt;
If you do not clearly understand what these settings are used for, leave them with default values.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Advanced=&lt;br /&gt;
&lt;br /&gt;
* '''Fromuser/Fromdomain''' – used when calling TO this peer FROM Asterisk. If you're using _register=&amp;gt;_ with another SIP proxy, this setting can come in handy since some SIP networks only allow users in the right domain with the correct user name. &lt;br /&gt;
* '''Trustrpid''' – defines whether or not Remote-Party-ID is trusted. It's defined in http://tools.ietf.org/id/draft-ietf-sip-privacy-04.txt.&lt;br /&gt;
* '''Sendrpid''' – defines whether a Remote-Party-ID SIP header should be sent. The default setting is &amp;quot;no&amp;quot;. This field is often used by wholesale VoIP providers to provide calling party identity regardless of the privacy settings (the From SIP header). &lt;br /&gt;
* [http://www.voip-info.org/wiki/index.php?page=Asterisk+sip+insecure Insecure]&lt;br /&gt;
** port: ignore the port number where request came from. '''WARNING:''' do NOT enable it on username/password authenticated devices.&lt;br /&gt;
** invite: don't require authentication of incoming INVITEs. '''WARNING:''' do NOT enable it on username/password authenticated devices.&lt;br /&gt;
** port, invite: don't require initial INVITE to authenticate and ignore the port where the request came from. '''WARNING:''' do NOT enable it on username/password authenticated devices.&lt;br /&gt;
&lt;br /&gt;
Both of these settings are enabled by default for [[Authentication | IP Authenticated]] devices, but they can be changed, unless you are using Carrier Class Addon, which forces the device to ignore the port number and the authentication from an incoming request.&lt;br /&gt;
 &lt;br /&gt;
* '''[[SIP 302 Redirect Support | SIP 302 Redirect support]]''' – SIP Redirect support for the device. Disabled by default.&lt;br /&gt;
* '''Custom SIP Header''' - adds custom header to SIP request. Format is '''header: value''' (for example '''x-My-Custom-Header: my value''')&lt;br /&gt;
* '''[http://www.voip-info.org/wiki/index.php?page=Asterisk+sip+progressinband Progressinband]''':&lt;br /&gt;
** yes – when &amp;quot;RING&amp;quot; event is requested, always send 180 Ringing (if it hasn't been sent yet) followed by 183 Session Progress and in-band audio.&lt;br /&gt;
** no – send 180 Ringing if 183 has not yet been sent, establishing an audio path. If the audio path is established already (with 183), then send in-band ringing (this is the way Asterisk historically behaved because of buggy phones like Polycom's).&lt;br /&gt;
** never – whenever ringing occurs, send &amp;quot;180 ringing&amp;quot; as long as &amp;quot;200 OK&amp;quot; has not yet been sent. This is the default behavior of Asterisk.&lt;br /&gt;
NOTE: if Progressinband does not work, add &amp;quot;prematuremedia=no&amp;quot; to sip.conf and reload Asterisk.&lt;br /&gt;
* '''Video support''' – does your provider support Video over IP? More info [http://www.voip-info.org/wiki/view/Asterisk+video here].&lt;br /&gt;
* '''[[Duplicate call prevention | Allow duplicate calls]]''' – the default setting is &amp;quot;no&amp;quot;.&lt;br /&gt;
* '''Language''' – sets IVR language&lt;br /&gt;
* '''Use ANI (if available) for CallerID:''' – When the call comes the information about who is calling is found in CallerID field. This field is used to determine who is calling. When the call comes through PRI/SS7 channels - then additional information is available who is calling in ANI field (in call's data channel) so sometimes CallerID might be empty or anonymous, but the caller can be found in ANI field. This option allows to use ANI field as CallerID to determine and recognize who is calling. &lt;br /&gt;
* '''Incoming Call CallerID Presentation''' – sets CallerID Presentation. Please note that this setting applies only for incoming calls. More information can be found [http://www.voip-info.org/wiki/view/Asterisk+cmd+SetCallerPres here] and [http://www.voip-info.org/wiki/view/Asterisk+cmd+CallingPres here] &lt;br /&gt;
* '''Change Failed Code To''' – if call fails change Hangup Cause Code to this value. This works only for outgoing calls from device. '''Not for Incoming'''&lt;br /&gt;
* '''Forward DID''' – it allows to forward call to DID which is assigned to Authorization by PIN or Calling Cards dial plan. After user enters PIN of any device or card, call gets connected with destination.&lt;br /&gt;
* '''Transport''' – lets you choose protocol(s) for data transfer. Appears only if device is SIP and when Asterisk 1.8 is enabled. Default value: ''udp''.&lt;br /&gt;
* '''T.38 Support''' – should T.38 pass-through be supported&lt;br /&gt;
* '''SRTP Encryption''' – should SRTP protocol be used for calls &lt;br /&gt;
* '''Block callerid if (number) simultaneous calls come from it''' – blocks CallerID if the entered number of simultaneous calls come from it&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR x4---&amp;gt;&lt;br /&gt;
* '''Limit up to (number) calls, during (number) seconds''' – allows to set calls per second limit in some period. [[File:call_limit_per_period.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tell Options=&lt;br /&gt;
&lt;br /&gt;
* '''Tell rate before call''' - should MOR tell announce minute price (rounded to cents) before every call. Default value is &amp;quot;no&amp;quot;.&lt;br /&gt;
* '''Tell balance before call''' – should MOR tell the user his balance every time he tries to dial?  The default setting is &amp;quot;no&amp;quot;.&lt;br /&gt;
* '''Tell time''' - should MOR tell the user his remaining time every time he tries to dial?  The default setting is &amp;quot;no&amp;quot;.&lt;br /&gt;
** Time is told in MINUTES only. Currently it is not possible to tell both in minutes and seconds.&lt;br /&gt;
* '''Tell remaining time when left''' – when some time is left, MOR will tell the remaining time to talk (in seconds).&lt;br /&gt;
* '''Repeat remaining time when left''' – repeats the remaining time when some time is left (in seconds).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Debug=&lt;br /&gt;
&lt;br /&gt;
* [[SIP debug info|'''Process SIPCHANINFO''']] - shows SIP channel info in [[Asterisk CLI]] and saves this information on database.&lt;br /&gt;
* '''Save Call Log''' - saves whole call log on database. Log can be overviewed by click [[File:Icon_callinfo.png]] in [[Last Calls]].&lt;br /&gt;
NOTE: debug should be enabled only if you are experiencing any problems. It should be disable in any other cases, because it stores lot of information on database.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Recordings=&lt;br /&gt;
&lt;br /&gt;
This section is available when [[Recordings Addon]] is installed in the system.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Comment=&lt;br /&gt;
&lt;br /&gt;
Devices can have Comments, which gives information about the Device.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[Grace_time | Grace time]]&lt;br /&gt;
* [[PAP_device_configuration | PAP device configuration]]&lt;br /&gt;
* [[H323 Device settings]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Tariffs.png&amp;diff=18336</id>
		<title>File:Tariffs.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Tariffs.png&amp;diff=18336"/>
		<updated>2014-09-08T06:17:16Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: uploaded a new version of &amp;quot;File:Tariffs.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Tariffs2.png&amp;diff=18335</id>
		<title>File:Tariffs2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Tariffs2.png&amp;diff=18335"/>
		<updated>2014-09-08T06:16:06Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: uploaded a new version of &amp;quot;File:Tariffs2.png&amp;quot;:&amp;amp;#32;Reverted to version as of 06:12, 8 September 2014&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Tariffs2.png&amp;diff=18334</id>
		<title>File:Tariffs2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Tariffs2.png&amp;diff=18334"/>
		<updated>2014-09-08T06:15:46Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: uploaded a new version of &amp;quot;File:Tariffs2.png&amp;quot;:&amp;amp;#32;Reverted to version as of 06:12, 8 September 2014&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Tariffs2.png&amp;diff=18333</id>
		<title>File:Tariffs2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Tariffs2.png&amp;diff=18333"/>
		<updated>2014-09-08T06:13:37Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: uploaded a new version of &amp;quot;File:Tariffs2.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Tariffs2.png&amp;diff=18332</id>
		<title>File:Tariffs2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Tariffs2.png&amp;diff=18332"/>
		<updated>2014-09-08T06:12:55Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_tariff_rates_get&amp;diff=18331</id>
		<title>MOR API tariff rates get</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_tariff_rates_get&amp;diff=18331"/>
		<updated>2014-09-08T05:37:30Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 11---&amp;gt;&lt;br /&gt;
[[MOR API]] Tariff rates&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/tariff_rates_get'''&lt;br /&gt;
* For Backwards-compatibility old name 'get_tariff' is also usable. Call: '''/api/get_tariff'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
* u - username for authentication. '''Required'''.&lt;br /&gt;
* tariff_id - user tariff id (option for admin or reseller). If not sent, user gets his tariff rates and custom rates.&lt;br /&gt;
* user_id - this specifies user id whose custom rates and tariffs to show. When sending user_id parameter tariff_id parameter is ignored. &lt;br /&gt;
* [[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'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have API Secret Key = 456789, tariff_id = 100&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/get_tariff?u=admin&amp;amp;p=admin&amp;amp;tariff_id=100&amp;amp;hash=71516eea4850f7e0300ac86adf9fb64bca845aa7&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
Returning XML is put in file. That file is gziped and returned as a response content.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
* Retail:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;pagename&amp;gt; Tariff &amp;lt;/pagename&amp;gt;&lt;br /&gt;
  &amp;lt;tariff_name&amp;gt; ''tariff name'' &amp;lt;/tariff_name&amp;gt;&lt;br /&gt;
  &amp;lt;purpose&amp;gt; ''tariff type'' &amp;lt;/purpose&amp;gt;&lt;br /&gt;
  &amp;lt;currency&amp;gt; ''currency'' &amp;lt;/currency&amp;gt;&lt;br /&gt;
  &amp;lt;rates&amp;gt;&lt;br /&gt;
   &amp;lt;destination&amp;gt;&lt;br /&gt;
    &amp;lt;destination_group_name&amp;gt; ''name'' &amp;lt;/destination_group_name&amp;gt;&lt;br /&gt;
    &amp;lt;destination_group_type&amp;gt; ''destination type'' &amp;lt;/destination_group_type&amp;gt;&lt;br /&gt;
    &amp;lt;rate&amp;gt;&lt;br /&gt;
     &amp;lt;duration&amp;gt; ''duration'' &amp;lt;/duration&amp;gt;&lt;br /&gt;
     &amp;lt;type&amp;gt; ''type'' &amp;lt;/type&amp;gt;&lt;br /&gt;
     &amp;lt;round_by&amp;gt; ''round by'' &amp;lt;/round_by&amp;gt;&lt;br /&gt;
     &amp;lt;tariff_rate&amp;gt; ''rate'' &amp;lt;/tariff_rate&amp;gt;&lt;br /&gt;
     &amp;lt;start_time&amp;gt; ''start time'' &amp;lt;/start_time&amp;gt;&lt;br /&gt;
     &amp;lt;end_time&amp;gt; ''end time'' &amp;lt;/end_time&amp;gt;&lt;br /&gt;
     &amp;lt;from&amp;gt; ''from'' &amp;lt;/from&amp;gt;&lt;br /&gt;
     &amp;lt;daytype&amp;gt; ''daytype'' &amp;lt;/daytype&amp;gt;&lt;br /&gt;
    &amp;lt;/rate&amp;gt;&lt;br /&gt;
   &amp;lt;/destination&amp;gt;&lt;br /&gt;
  &amp;lt;/rates&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wholesale:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;pagename&amp;gt; Tariff &amp;lt;/pagename&amp;gt;&lt;br /&gt;
  &amp;lt;tariff_name&amp;gt; ''tariff name'' &amp;lt;/tariff_name&amp;gt;&lt;br /&gt;
  &amp;lt;purpose&amp;gt; ''tariff type'' &amp;lt;/purpose&amp;gt;&lt;br /&gt;
  &amp;lt;currency&amp;gt; ''currency'' &amp;lt;/currency&amp;gt;&lt;br /&gt;
  &amp;lt;rates&amp;gt;&lt;br /&gt;
   &amp;lt;rate&amp;gt;&lt;br /&gt;
    &amp;lt;direction&amp;gt; ''direction'' &amp;lt;/direction&amp;gt;&lt;br /&gt;
    &amp;lt;destination&amp;gt; ''destination'' &amp;lt;/destination&amp;gt;&lt;br /&gt;
    &amp;lt;prefix&amp;gt; ''prefix'' &amp;lt;/prefix&amp;gt;&lt;br /&gt;
    &amp;lt;subcode&amp;gt; ''subcode'' &amp;lt;/subcode&amp;gt;&lt;br /&gt;
    &amp;lt; code&amp;gt; ''code'' &amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;tariff_rate&amp;gt; ''rate'' &amp;lt;/tariff_rate&amp;gt;&lt;br /&gt;
    &amp;lt;con_fee&amp;gt; ''connection fee'' &amp;lt;/con_fee&amp;gt;&lt;br /&gt;
    &amp;lt;increment&amp;gt; ''increment'' &amp;lt;/increment&amp;gt;&lt;br /&gt;
    &amp;lt;min_time&amp;gt; ''minimal time'' &amp;lt;/min_time&amp;gt;&lt;br /&gt;
    &amp;lt;start_time&amp;gt; ''start time'' &amp;lt;/start_time&amp;gt;&lt;br /&gt;
    &amp;lt;end_time&amp;gt; ''end time'' &amp;lt;/end_time&amp;gt;&lt;br /&gt;
    &amp;lt;daytype&amp;gt; ''daytype'' &amp;lt;/daytype&amp;gt;&lt;br /&gt;
   &amp;lt;/rate&amp;gt;&lt;br /&gt;
  &amp;lt;/rates&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* Tariff was not found.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;&lt;br /&gt;
      &amp;lt;error&amp;gt;No tariff found&amp;lt;/error&amp;gt;&lt;br /&gt;
   &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* User was not found by username and password. Use correct username and password. Make sure that username (u) and password (p) are specified.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
    &amp;lt;status&amp;gt;&lt;br /&gt;
       &amp;lt;error&amp;gt;Bad login&amp;lt;/error&amp;gt;&lt;br /&gt;
    &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
     &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_rate_get&amp;diff=18330</id>
		<title>MOR API rate get</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_rate_get&amp;diff=18330"/>
		<updated>2014-09-08T05:36:58Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!---This functionality is available from MOR 10, but was also backported to MOR 9 ---&amp;gt;&lt;br /&gt;
=Description=&lt;br /&gt;
[[MOR API]] rate_get feature enables you to check rate over http.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---From X5---&amp;gt;&lt;br /&gt;
Admin able to check Rates of his Users.&lt;br /&gt;
Accountant with Permissions able to check Rates of Admins Users.&lt;br /&gt;
Reseller able to check Rates of his Users.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note if Admin has checked Allow Resellers to use Admin Tariffs in [[API Configuration]] then using this API Reseller can get Rates which belongs to Admin.&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
&lt;br /&gt;
Go to '''SETTINGS –&amp;gt; Setup –&amp;gt; Settings'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
[[File:settings_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In API tab ensure that MOR API is enabled and check '''Allow devices to check rate over HTTP''' option :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Settings_api.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/rate_get'''&lt;br /&gt;
* For Backwards-compatibility old name 'rate' is also usable. Call: '''/api/rate'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
* u - username for authentication. '''From X5 - Required'''.&lt;br /&gt;
* username – username of user whose rates you want to see.&lt;br /&gt;
* prefix – prefix number of destination you want to see.&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required''' (if setting '''Disable hash checking''' is not checked).&lt;br /&gt;
'''NOTE:''' Don't use full number in API request. Use correct prefix only, because this method don't do prefix search, its only shows actual price for the exact prefix.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/rate_get?u=admin&amp;amp;username=USERNAME&amp;amp;prefix=PREFIX&amp;amp;hash=HASH&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 http://127.0.0.1/billing/api/rate?u=admin&amp;amp;username=admin&amp;amp;prefix=370&amp;amp;hash=47fc73b6d374bd0a85e3984c1e1623451681569c&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
Result is returned in format: rate#destination#prefix&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;rate&amp;gt;0.987#Lithuania#370&amp;lt;/rate&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE.''' MOR API rate method shows rate, which is applied to User. If rate by prefix is not found in [[Custom Rates]], it will be taken from Tariff assigned to User.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* User do not have rates for selected destination:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;Rate was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* User with selected username does not exist:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Allow devices to check rate over HTTP''' option in [[MOR_API_rate_get#Configuration | API Settings]] is not set:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;Feature disabled&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* API is not allowed: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;API Requests are disabled&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* User does not belong to the user who is trying to check rate or it was not found in the system: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Accountant must have See Financial Data read or write [[Accountant_permissions | permission]] and Manage Tariffs read or write permission enabled:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;You are not authorized to view this page&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_update&amp;diff=18329</id>
		<title>MOR API user details update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_update&amp;diff=18329"/>
		<updated>2014-09-08T05:36:22Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 11---&amp;gt;&lt;br /&gt;
[[MOR API]] Update user from params. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If Admin has checked Allow Resellers to use Admin Tariffs in [[API Configuration]] then using this API Reseller can set for his Users Wholesale or Retail Tariffs which belongs to Admin.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Please note that it is not necessary to send ALL user parameters - you can send only those you need to update.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/user_details_update'''&lt;br /&gt;
* For Backwards-compatibility old name 'user_update_api' is also usable. Call: '''/api/user_update_api'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash (if it is used):&lt;br /&gt;
&lt;br /&gt;
* user_id - Users ID in MOR database, whose details we want to change. '''REQUIRED'''.&lt;br /&gt;
* u - username of user which can modify details (admin, reseller or accountant). '''REQUIRED'''.&lt;br /&gt;
* u0 - vat number&lt;br /&gt;
* u1 - lcr id&lt;br /&gt;
* u2 - warning email hour&lt;br /&gt;
* u3 - hide destination end&lt;br /&gt;
* u4 - currency id&lt;br /&gt;
* u5 - tariff id&lt;br /&gt;
* u6 - warning email balance&lt;br /&gt;
* u7 - spy device id&lt;br /&gt;
* u8 - language&lt;br /&gt;
* u9 - username&lt;br /&gt;
* u10 - warning balance call&lt;br /&gt;
* u11 - acc group id&lt;br /&gt;
* u12 - generate invoice&lt;br /&gt;
* u13 - usertype&lt;br /&gt;
* u14 - taxation country&lt;br /&gt;
* u15 - blocked&lt;br /&gt;
* u16 - quickforwards rule id&lt;br /&gt;
* u17 - last name&lt;br /&gt;
* u18 - call limit&lt;br /&gt;
* u19 - clientid&lt;br /&gt;
* u20 - recording hdd quota&lt;br /&gt;
* u21 - cyberplat active&lt;br /&gt;
* u22 - recordings email&lt;br /&gt;
* u23 - first name&lt;br /&gt;
* u24 - warning balance sound file id&lt;br /&gt;
* u25 - postpaid&lt;br /&gt;
* u26 - accounting number&lt;br /&gt;
* u27 - agreement number&lt;br /&gt;
* u28 - hidden&lt;br /&gt;
* ay - agr_date year&lt;br /&gt;
* am - agr_date month&lt;br /&gt;
* ad - agr_date day&lt;br /&gt;
* by - block at date year2011&lt;br /&gt;
* bm - block at date month&lt;br /&gt;
* bd - block at date day&lt;br /&gt;
* pswd - password&lt;br /&gt;
* user_warning_email_hour&lt;br /&gt;
* pgui - privacy gui [0-off, 1-on]&lt;br /&gt;
* pcsv - privacy csv [0-off, 1-on]&lt;br /&gt;
* ppdf - privacy pdf [0-off, 1-on]&lt;br /&gt;
* recording_forced_enabled - [0-off, 1-on]&lt;br /&gt;
* i4 - invoice detailed csv [0-off, 16-on]&lt;br /&gt;
* tax4_enabled - [0-off, 1-on]&lt;br /&gt;
* tax2_enabled - [0-off, 1-on]&lt;br /&gt;
* accountant_type_invalid &lt;br /&gt;
* block_at_conditional - 15&lt;br /&gt;
* tax3_enabled - [0-off, 1-on]&lt;br /&gt;
* accountant_type &lt;br /&gt;
* tax1_value - float&lt;br /&gt;
* show_zero_calls - [0-off, 1-on]&lt;br /&gt;
* warning_email_active - [0-off, 1-on]&lt;br /&gt;
* compound_tax - [0-off, 1-on]&lt;br /&gt;
* tax4_name - &lt;br /&gt;
* allow_loss_calls - [0-off, 1-on]&lt;br /&gt;
* tax3_name - &lt;br /&gt;
* tax2_name - &lt;br /&gt;
* credit - float&lt;br /&gt;
* tax1_name - &lt;br /&gt;
* total_tax_name - &lt;br /&gt;
* tax2_value - float&lt;br /&gt;
* tax4_value - float&lt;br /&gt;
* ignore_global_monitorings - [0-off, 1-on]&lt;br /&gt;
* i1 - invoice pdf [0-off, 2-on]&lt;br /&gt;
* tax3_value - float&lt;br /&gt;
* cyberplat_active - [0-off, 1-on]&lt;br /&gt;
* i2 - invoice csv [0-off, 4-on]&lt;br /&gt;
* i3 - invoice detailed pdf [0-off, 8-on]&lt;br /&gt;
* recording_enabled - [0-off, 1-on]&lt;br /&gt;
* email_warning_sent_test - [0-off, 1-on]&lt;br /&gt;
* own_providers - [0-off, 1-on]&lt;br /&gt;
* a0 - address&lt;br /&gt;
* a1 - city&lt;br /&gt;
* a2 - postcode&lt;br /&gt;
* a3 - county&lt;br /&gt;
* a4 - mob_phone&lt;br /&gt;
* a5 - fax&lt;br /&gt;
* a6 - direction id&lt;br /&gt;
* a7 - phone&lt;br /&gt;
* a8 - email&lt;br /&gt;
* a9 - state&lt;br /&gt;
&lt;br /&gt;
'''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'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''REQUIRED'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reguest===&lt;br /&gt;
&lt;br /&gt;
We have user_id = 123, API Secret Key = 456789, u15=1 (we want to block user)&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/api/user_details_update?u=username&amp;amp;user_id=123&amp;amp;u15=1&amp;amp;hash=0ab3ede4e93a55c38855a2cc9b9e169d35442c48&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
&lt;br /&gt;
Other examples:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_update_api?u15=1&amp;amp;user_id=789&amp;amp;u=admin&amp;amp;u15=1&amp;amp;hash=0in2w8n01rwnodv4t0y5zzfp1h5hdp1fyk7z&lt;br /&gt;
&lt;br /&gt;
This request blocks (u15=1) user with ID 789 (user_id=789). User belongs to admin (u=admin).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_update_api?u16=3&amp;amp;user_id=789&amp;amp;u=admin&amp;amp;u15=1&amp;amp;hash=0in2w8n01rwnodv4t0y5zzfp1h5hdp1fyk7z&lt;br /&gt;
&lt;br /&gt;
This request changes user quickforwards rule to rule with ID 3 (u16=3) user with ID 789 (user_id=789). User belongs to admin (u=admin).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;User was updated&amp;lt;/status&amp;gt;&lt;br /&gt;
  &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt; - User was not found using user_id. Use correct user id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - Check params and permissions. &lt;br /&gt;
* &amp;lt;error&amp;gt;You have no editing permission&amp;lt;/error&amp;gt; - Accountant dont have permission.&lt;br /&gt;
* &amp;lt;error&amp;gt;Tariff not found&amp;lt;/error&amp;gt; - Tariff was not found using param u5.&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not updated&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;message&amp;gt;problem message&amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_tariff_rates_get&amp;diff=18328</id>
		<title>MOR API tariff rates get</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_tariff_rates_get&amp;diff=18328"/>
		<updated>2014-09-08T05:35:54Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 11---&amp;gt;&lt;br /&gt;
[[MOR API]] Tariff rates&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If Admin has checked Allow Resellers to use Admin Tariffs in [[API Configuration]] then using this API Reseller can get Rates which belongs to Admin.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/tariff_rates_get'''&lt;br /&gt;
* For Backwards-compatibility old name 'get_tariff' is also usable. Call: '''/api/get_tariff'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
* u - username for authentication. '''Required'''.&lt;br /&gt;
* tariff_id - user tariff id (option for admin or reseller). If not sent, user gets his tariff rates and custom rates.&lt;br /&gt;
* user_id - this specifies user id whose custom rates and tariffs to show. When sending user_id parameter tariff_id parameter is ignored. &lt;br /&gt;
* [[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'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have API Secret Key = 456789, tariff_id = 100&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/get_tariff?u=admin&amp;amp;p=admin&amp;amp;tariff_id=100&amp;amp;hash=71516eea4850f7e0300ac86adf9fb64bca845aa7&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
Returning XML is put in file. That file is gziped and returned as a response content.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
* Retail:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;pagename&amp;gt; Tariff &amp;lt;/pagename&amp;gt;&lt;br /&gt;
  &amp;lt;tariff_name&amp;gt; ''tariff name'' &amp;lt;/tariff_name&amp;gt;&lt;br /&gt;
  &amp;lt;purpose&amp;gt; ''tariff type'' &amp;lt;/purpose&amp;gt;&lt;br /&gt;
  &amp;lt;currency&amp;gt; ''currency'' &amp;lt;/currency&amp;gt;&lt;br /&gt;
  &amp;lt;rates&amp;gt;&lt;br /&gt;
   &amp;lt;destination&amp;gt;&lt;br /&gt;
    &amp;lt;destination_group_name&amp;gt; ''name'' &amp;lt;/destination_group_name&amp;gt;&lt;br /&gt;
    &amp;lt;destination_group_type&amp;gt; ''destination type'' &amp;lt;/destination_group_type&amp;gt;&lt;br /&gt;
    &amp;lt;rate&amp;gt;&lt;br /&gt;
     &amp;lt;duration&amp;gt; ''duration'' &amp;lt;/duration&amp;gt;&lt;br /&gt;
     &amp;lt;type&amp;gt; ''type'' &amp;lt;/type&amp;gt;&lt;br /&gt;
     &amp;lt;round_by&amp;gt; ''round by'' &amp;lt;/round_by&amp;gt;&lt;br /&gt;
     &amp;lt;tariff_rate&amp;gt; ''rate'' &amp;lt;/tariff_rate&amp;gt;&lt;br /&gt;
     &amp;lt;start_time&amp;gt; ''start time'' &amp;lt;/start_time&amp;gt;&lt;br /&gt;
     &amp;lt;end_time&amp;gt; ''end time'' &amp;lt;/end_time&amp;gt;&lt;br /&gt;
     &amp;lt;from&amp;gt; ''from'' &amp;lt;/from&amp;gt;&lt;br /&gt;
     &amp;lt;daytype&amp;gt; ''daytype'' &amp;lt;/daytype&amp;gt;&lt;br /&gt;
    &amp;lt;/rate&amp;gt;&lt;br /&gt;
   &amp;lt;/destination&amp;gt;&lt;br /&gt;
  &amp;lt;/rates&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wholesale:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;pagename&amp;gt; Tariff &amp;lt;/pagename&amp;gt;&lt;br /&gt;
  &amp;lt;tariff_name&amp;gt; ''tariff name'' &amp;lt;/tariff_name&amp;gt;&lt;br /&gt;
  &amp;lt;purpose&amp;gt; ''tariff type'' &amp;lt;/purpose&amp;gt;&lt;br /&gt;
  &amp;lt;currency&amp;gt; ''currency'' &amp;lt;/currency&amp;gt;&lt;br /&gt;
  &amp;lt;rates&amp;gt;&lt;br /&gt;
   &amp;lt;rate&amp;gt;&lt;br /&gt;
    &amp;lt;direction&amp;gt; ''direction'' &amp;lt;/direction&amp;gt;&lt;br /&gt;
    &amp;lt;destination&amp;gt; ''destination'' &amp;lt;/destination&amp;gt;&lt;br /&gt;
    &amp;lt;prefix&amp;gt; ''prefix'' &amp;lt;/prefix&amp;gt;&lt;br /&gt;
    &amp;lt;subcode&amp;gt; ''subcode'' &amp;lt;/subcode&amp;gt;&lt;br /&gt;
    &amp;lt; code&amp;gt; ''code'' &amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;tariff_rate&amp;gt; ''rate'' &amp;lt;/tariff_rate&amp;gt;&lt;br /&gt;
    &amp;lt;con_fee&amp;gt; ''connection fee'' &amp;lt;/con_fee&amp;gt;&lt;br /&gt;
    &amp;lt;increment&amp;gt; ''increment'' &amp;lt;/increment&amp;gt;&lt;br /&gt;
    &amp;lt;min_time&amp;gt; ''minimal time'' &amp;lt;/min_time&amp;gt;&lt;br /&gt;
    &amp;lt;start_time&amp;gt; ''start time'' &amp;lt;/start_time&amp;gt;&lt;br /&gt;
    &amp;lt;end_time&amp;gt; ''end time'' &amp;lt;/end_time&amp;gt;&lt;br /&gt;
    &amp;lt;daytype&amp;gt; ''daytype'' &amp;lt;/daytype&amp;gt;&lt;br /&gt;
   &amp;lt;/rate&amp;gt;&lt;br /&gt;
  &amp;lt;/rates&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* Tariff was not found.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;&lt;br /&gt;
      &amp;lt;error&amp;gt;No tariff found&amp;lt;/error&amp;gt;&lt;br /&gt;
   &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* User was not found by username and password. Use correct username and password. Make sure that username (u) and password (p) are specified.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
    &amp;lt;status&amp;gt;&lt;br /&gt;
       &amp;lt;error&amp;gt;Bad login&amp;lt;/error&amp;gt;&lt;br /&gt;
    &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
     &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_tariff_rates_get&amp;diff=18327</id>
		<title>MOR API tariff rates get</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_tariff_rates_get&amp;diff=18327"/>
		<updated>2014-09-08T05:34:57Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 11---&amp;gt;&lt;br /&gt;
[[MOR API]] Tariff rates&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If Admin has checked 'Allow Resellers to use Admin Tariffs' in [[API Configuration]] then using this API Reseller can set for his Users Wholesale or Retail Tariffs which belongs to Admin.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/tariff_rates_get'''&lt;br /&gt;
* For Backwards-compatibility old name 'get_tariff' is also usable. Call: '''/api/get_tariff'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
* u - username for authentication. '''Required'''.&lt;br /&gt;
* tariff_id - user tariff id (option for admin or reseller). If not sent, user gets his tariff rates and custom rates.&lt;br /&gt;
* user_id - this specifies user id whose custom rates and tariffs to show. When sending user_id parameter tariff_id parameter is ignored. &lt;br /&gt;
* [[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'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
We have API Secret Key = 456789, tariff_id = 100&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/get_tariff?u=admin&amp;amp;p=admin&amp;amp;tariff_id=100&amp;amp;hash=71516eea4850f7e0300ac86adf9fb64bca845aa7&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
Returning XML is put in file. That file is gziped and returned as a response content.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
* Retail:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;pagename&amp;gt; Tariff &amp;lt;/pagename&amp;gt;&lt;br /&gt;
  &amp;lt;tariff_name&amp;gt; ''tariff name'' &amp;lt;/tariff_name&amp;gt;&lt;br /&gt;
  &amp;lt;purpose&amp;gt; ''tariff type'' &amp;lt;/purpose&amp;gt;&lt;br /&gt;
  &amp;lt;currency&amp;gt; ''currency'' &amp;lt;/currency&amp;gt;&lt;br /&gt;
  &amp;lt;rates&amp;gt;&lt;br /&gt;
   &amp;lt;destination&amp;gt;&lt;br /&gt;
    &amp;lt;destination_group_name&amp;gt; ''name'' &amp;lt;/destination_group_name&amp;gt;&lt;br /&gt;
    &amp;lt;destination_group_type&amp;gt; ''destination type'' &amp;lt;/destination_group_type&amp;gt;&lt;br /&gt;
    &amp;lt;rate&amp;gt;&lt;br /&gt;
     &amp;lt;duration&amp;gt; ''duration'' &amp;lt;/duration&amp;gt;&lt;br /&gt;
     &amp;lt;type&amp;gt; ''type'' &amp;lt;/type&amp;gt;&lt;br /&gt;
     &amp;lt;round_by&amp;gt; ''round by'' &amp;lt;/round_by&amp;gt;&lt;br /&gt;
     &amp;lt;tariff_rate&amp;gt; ''rate'' &amp;lt;/tariff_rate&amp;gt;&lt;br /&gt;
     &amp;lt;start_time&amp;gt; ''start time'' &amp;lt;/start_time&amp;gt;&lt;br /&gt;
     &amp;lt;end_time&amp;gt; ''end time'' &amp;lt;/end_time&amp;gt;&lt;br /&gt;
     &amp;lt;from&amp;gt; ''from'' &amp;lt;/from&amp;gt;&lt;br /&gt;
     &amp;lt;daytype&amp;gt; ''daytype'' &amp;lt;/daytype&amp;gt;&lt;br /&gt;
    &amp;lt;/rate&amp;gt;&lt;br /&gt;
   &amp;lt;/destination&amp;gt;&lt;br /&gt;
  &amp;lt;/rates&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wholesale:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;pagename&amp;gt; Tariff &amp;lt;/pagename&amp;gt;&lt;br /&gt;
  &amp;lt;tariff_name&amp;gt; ''tariff name'' &amp;lt;/tariff_name&amp;gt;&lt;br /&gt;
  &amp;lt;purpose&amp;gt; ''tariff type'' &amp;lt;/purpose&amp;gt;&lt;br /&gt;
  &amp;lt;currency&amp;gt; ''currency'' &amp;lt;/currency&amp;gt;&lt;br /&gt;
  &amp;lt;rates&amp;gt;&lt;br /&gt;
   &amp;lt;rate&amp;gt;&lt;br /&gt;
    &amp;lt;direction&amp;gt; ''direction'' &amp;lt;/direction&amp;gt;&lt;br /&gt;
    &amp;lt;destination&amp;gt; ''destination'' &amp;lt;/destination&amp;gt;&lt;br /&gt;
    &amp;lt;prefix&amp;gt; ''prefix'' &amp;lt;/prefix&amp;gt;&lt;br /&gt;
    &amp;lt;subcode&amp;gt; ''subcode'' &amp;lt;/subcode&amp;gt;&lt;br /&gt;
    &amp;lt; code&amp;gt; ''code'' &amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;tariff_rate&amp;gt; ''rate'' &amp;lt;/tariff_rate&amp;gt;&lt;br /&gt;
    &amp;lt;con_fee&amp;gt; ''connection fee'' &amp;lt;/con_fee&amp;gt;&lt;br /&gt;
    &amp;lt;increment&amp;gt; ''increment'' &amp;lt;/increment&amp;gt;&lt;br /&gt;
    &amp;lt;min_time&amp;gt; ''minimal time'' &amp;lt;/min_time&amp;gt;&lt;br /&gt;
    &amp;lt;start_time&amp;gt; ''start time'' &amp;lt;/start_time&amp;gt;&lt;br /&gt;
    &amp;lt;end_time&amp;gt; ''end time'' &amp;lt;/end_time&amp;gt;&lt;br /&gt;
    &amp;lt;daytype&amp;gt; ''daytype'' &amp;lt;/daytype&amp;gt;&lt;br /&gt;
   &amp;lt;/rate&amp;gt;&lt;br /&gt;
  &amp;lt;/rates&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* Tariff was not found.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;&lt;br /&gt;
      &amp;lt;error&amp;gt;No tariff found&amp;lt;/error&amp;gt;&lt;br /&gt;
   &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* User was not found by username and password. Use correct username and password. Make sure that username (u) and password (p) are specified.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
    &amp;lt;status&amp;gt;&lt;br /&gt;
       &amp;lt;error&amp;gt;Bad login&amp;lt;/error&amp;gt;&lt;br /&gt;
    &amp;lt;/status&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
     &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_update&amp;diff=18326</id>
		<title>MOR API user details update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_update&amp;diff=18326"/>
		<updated>2014-09-08T05:34:22Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 11---&amp;gt;&lt;br /&gt;
[[MOR API]] Update user from params. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If Admin has checked 'Allow Resellers to use Admin Tariffs' in [[API Configuration]] then using this API Reseller can set for his Users Wholesale or Retail Tariffs which belongs to Admin.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Please note that it is not necessary to send ALL user parameters - you can send only those you need to update.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/user_details_update'''&lt;br /&gt;
* For Backwards-compatibility old name 'user_update_api' is also usable. Call: '''/api/user_update_api'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash (if it is used):&lt;br /&gt;
&lt;br /&gt;
* user_id - Users ID in MOR database, whose details we want to change. '''REQUIRED'''.&lt;br /&gt;
* u - username of user which can modify details (admin, reseller or accountant). '''REQUIRED'''.&lt;br /&gt;
* u0 - vat number&lt;br /&gt;
* u1 - lcr id&lt;br /&gt;
* u2 - warning email hour&lt;br /&gt;
* u3 - hide destination end&lt;br /&gt;
* u4 - currency id&lt;br /&gt;
* u5 - tariff id&lt;br /&gt;
* u6 - warning email balance&lt;br /&gt;
* u7 - spy device id&lt;br /&gt;
* u8 - language&lt;br /&gt;
* u9 - username&lt;br /&gt;
* u10 - warning balance call&lt;br /&gt;
* u11 - acc group id&lt;br /&gt;
* u12 - generate invoice&lt;br /&gt;
* u13 - usertype&lt;br /&gt;
* u14 - taxation country&lt;br /&gt;
* u15 - blocked&lt;br /&gt;
* u16 - quickforwards rule id&lt;br /&gt;
* u17 - last name&lt;br /&gt;
* u18 - call limit&lt;br /&gt;
* u19 - clientid&lt;br /&gt;
* u20 - recording hdd quota&lt;br /&gt;
* u21 - cyberplat active&lt;br /&gt;
* u22 - recordings email&lt;br /&gt;
* u23 - first name&lt;br /&gt;
* u24 - warning balance sound file id&lt;br /&gt;
* u25 - postpaid&lt;br /&gt;
* u26 - accounting number&lt;br /&gt;
* u27 - agreement number&lt;br /&gt;
* u28 - hidden&lt;br /&gt;
* ay - agr_date year&lt;br /&gt;
* am - agr_date month&lt;br /&gt;
* ad - agr_date day&lt;br /&gt;
* by - block at date year2011&lt;br /&gt;
* bm - block at date month&lt;br /&gt;
* bd - block at date day&lt;br /&gt;
* pswd - password&lt;br /&gt;
* user_warning_email_hour&lt;br /&gt;
* pgui - privacy gui [0-off, 1-on]&lt;br /&gt;
* pcsv - privacy csv [0-off, 1-on]&lt;br /&gt;
* ppdf - privacy pdf [0-off, 1-on]&lt;br /&gt;
* recording_forced_enabled - [0-off, 1-on]&lt;br /&gt;
* i4 - invoice detailed csv [0-off, 16-on]&lt;br /&gt;
* tax4_enabled - [0-off, 1-on]&lt;br /&gt;
* tax2_enabled - [0-off, 1-on]&lt;br /&gt;
* accountant_type_invalid &lt;br /&gt;
* block_at_conditional - 15&lt;br /&gt;
* tax3_enabled - [0-off, 1-on]&lt;br /&gt;
* accountant_type &lt;br /&gt;
* tax1_value - float&lt;br /&gt;
* show_zero_calls - [0-off, 1-on]&lt;br /&gt;
* warning_email_active - [0-off, 1-on]&lt;br /&gt;
* compound_tax - [0-off, 1-on]&lt;br /&gt;
* tax4_name - &lt;br /&gt;
* allow_loss_calls - [0-off, 1-on]&lt;br /&gt;
* tax3_name - &lt;br /&gt;
* tax2_name - &lt;br /&gt;
* credit - float&lt;br /&gt;
* tax1_name - &lt;br /&gt;
* total_tax_name - &lt;br /&gt;
* tax2_value - float&lt;br /&gt;
* tax4_value - float&lt;br /&gt;
* ignore_global_monitorings - [0-off, 1-on]&lt;br /&gt;
* i1 - invoice pdf [0-off, 2-on]&lt;br /&gt;
* tax3_value - float&lt;br /&gt;
* cyberplat_active - [0-off, 1-on]&lt;br /&gt;
* i2 - invoice csv [0-off, 4-on]&lt;br /&gt;
* i3 - invoice detailed pdf [0-off, 8-on]&lt;br /&gt;
* recording_enabled - [0-off, 1-on]&lt;br /&gt;
* email_warning_sent_test - [0-off, 1-on]&lt;br /&gt;
* own_providers - [0-off, 1-on]&lt;br /&gt;
* a0 - address&lt;br /&gt;
* a1 - city&lt;br /&gt;
* a2 - postcode&lt;br /&gt;
* a3 - county&lt;br /&gt;
* a4 - mob_phone&lt;br /&gt;
* a5 - fax&lt;br /&gt;
* a6 - direction id&lt;br /&gt;
* a7 - phone&lt;br /&gt;
* a8 - email&lt;br /&gt;
* a9 - state&lt;br /&gt;
&lt;br /&gt;
'''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'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''REQUIRED'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reguest===&lt;br /&gt;
&lt;br /&gt;
We have user_id = 123, API Secret Key = 456789, u15=1 (we want to block user)&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/api/user_details_update?u=username&amp;amp;user_id=123&amp;amp;u15=1&amp;amp;hash=0ab3ede4e93a55c38855a2cc9b9e169d35442c48&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
&lt;br /&gt;
Other examples:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_update_api?u15=1&amp;amp;user_id=789&amp;amp;u=admin&amp;amp;u15=1&amp;amp;hash=0in2w8n01rwnodv4t0y5zzfp1h5hdp1fyk7z&lt;br /&gt;
&lt;br /&gt;
This request blocks (u15=1) user with ID 789 (user_id=789). User belongs to admin (u=admin).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_update_api?u16=3&amp;amp;user_id=789&amp;amp;u=admin&amp;amp;u15=1&amp;amp;hash=0in2w8n01rwnodv4t0y5zzfp1h5hdp1fyk7z&lt;br /&gt;
&lt;br /&gt;
This request changes user quickforwards rule to rule with ID 3 (u16=3) user with ID 789 (user_id=789). User belongs to admin (u=admin).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;User was updated&amp;lt;/status&amp;gt;&lt;br /&gt;
  &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt; - User was not found using user_id. Use correct user id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - Check params and permissions. &lt;br /&gt;
* &amp;lt;error&amp;gt;You have no editing permission&amp;lt;/error&amp;gt; - Accountant dont have permission.&lt;br /&gt;
* &amp;lt;error&amp;gt;Tariff not found&amp;lt;/error&amp;gt; - Tariff was not found using param u5.&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not updated&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;message&amp;gt;problem message&amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_update&amp;diff=18325</id>
		<title>MOR API user details update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_update&amp;diff=18325"/>
		<updated>2014-09-08T05:33:43Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 11---&amp;gt;&lt;br /&gt;
[[MOR API]] Update user from params. &lt;br /&gt;
&lt;br /&gt;
'''Please note that it is not necessary to send ALL user parameters - you can send only those you need to update.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/user_details_update'''&lt;br /&gt;
* For Backwards-compatibility old name 'user_update_api' is also usable. Call: '''/api/user_update_api'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash (if it is used):&lt;br /&gt;
&lt;br /&gt;
* user_id - Users ID in MOR database, whose details we want to change. '''REQUIRED'''.&lt;br /&gt;
* u - username of user which can modify details (admin, reseller or accountant). '''REQUIRED'''.&lt;br /&gt;
* u0 - vat number&lt;br /&gt;
* u1 - lcr id&lt;br /&gt;
* u2 - warning email hour&lt;br /&gt;
* u3 - hide destination end&lt;br /&gt;
* u4 - currency id&lt;br /&gt;
* u5 - tariff id&lt;br /&gt;
* u6 - warning email balance&lt;br /&gt;
* u7 - spy device id&lt;br /&gt;
* u8 - language&lt;br /&gt;
* u9 - username&lt;br /&gt;
* u10 - warning balance call&lt;br /&gt;
* u11 - acc group id&lt;br /&gt;
* u12 - generate invoice&lt;br /&gt;
* u13 - usertype&lt;br /&gt;
* u14 - taxation country&lt;br /&gt;
* u15 - blocked&lt;br /&gt;
* u16 - quickforwards rule id&lt;br /&gt;
* u17 - last name&lt;br /&gt;
* u18 - call limit&lt;br /&gt;
* u19 - clientid&lt;br /&gt;
* u20 - recording hdd quota&lt;br /&gt;
* u21 - cyberplat active&lt;br /&gt;
* u22 - recordings email&lt;br /&gt;
* u23 - first name&lt;br /&gt;
* u24 - warning balance sound file id&lt;br /&gt;
* u25 - postpaid&lt;br /&gt;
* u26 - accounting number&lt;br /&gt;
* u27 - agreement number&lt;br /&gt;
* u28 - hidden&lt;br /&gt;
* ay - agr_date year&lt;br /&gt;
* am - agr_date month&lt;br /&gt;
* ad - agr_date day&lt;br /&gt;
* by - block at date year2011&lt;br /&gt;
* bm - block at date month&lt;br /&gt;
* bd - block at date day&lt;br /&gt;
* pswd - password&lt;br /&gt;
* user_warning_email_hour&lt;br /&gt;
* pgui - privacy gui [0-off, 1-on]&lt;br /&gt;
* pcsv - privacy csv [0-off, 1-on]&lt;br /&gt;
* ppdf - privacy pdf [0-off, 1-on]&lt;br /&gt;
* recording_forced_enabled - [0-off, 1-on]&lt;br /&gt;
* i4 - invoice detailed csv [0-off, 16-on]&lt;br /&gt;
* tax4_enabled - [0-off, 1-on]&lt;br /&gt;
* tax2_enabled - [0-off, 1-on]&lt;br /&gt;
* accountant_type_invalid &lt;br /&gt;
* block_at_conditional - 15&lt;br /&gt;
* tax3_enabled - [0-off, 1-on]&lt;br /&gt;
* accountant_type &lt;br /&gt;
* tax1_value - float&lt;br /&gt;
* show_zero_calls - [0-off, 1-on]&lt;br /&gt;
* warning_email_active - [0-off, 1-on]&lt;br /&gt;
* compound_tax - [0-off, 1-on]&lt;br /&gt;
* tax4_name - &lt;br /&gt;
* allow_loss_calls - [0-off, 1-on]&lt;br /&gt;
* tax3_name - &lt;br /&gt;
* tax2_name - &lt;br /&gt;
* credit - float&lt;br /&gt;
* tax1_name - &lt;br /&gt;
* total_tax_name - &lt;br /&gt;
* tax2_value - float&lt;br /&gt;
* tax4_value - float&lt;br /&gt;
* ignore_global_monitorings - [0-off, 1-on]&lt;br /&gt;
* i1 - invoice pdf [0-off, 2-on]&lt;br /&gt;
* tax3_value - float&lt;br /&gt;
* cyberplat_active - [0-off, 1-on]&lt;br /&gt;
* i2 - invoice csv [0-off, 4-on]&lt;br /&gt;
* i3 - invoice detailed pdf [0-off, 8-on]&lt;br /&gt;
* recording_enabled - [0-off, 1-on]&lt;br /&gt;
* email_warning_sent_test - [0-off, 1-on]&lt;br /&gt;
* own_providers - [0-off, 1-on]&lt;br /&gt;
* a0 - address&lt;br /&gt;
* a1 - city&lt;br /&gt;
* a2 - postcode&lt;br /&gt;
* a3 - county&lt;br /&gt;
* a4 - mob_phone&lt;br /&gt;
* a5 - fax&lt;br /&gt;
* a6 - direction id&lt;br /&gt;
* a7 - phone&lt;br /&gt;
* a8 - email&lt;br /&gt;
* a9 - state&lt;br /&gt;
&lt;br /&gt;
'''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'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''REQUIRED'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reguest===&lt;br /&gt;
&lt;br /&gt;
We have user_id = 123, API Secret Key = 456789, u15=1 (we want to block user)&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/api/user_details_update?u=username&amp;amp;user_id=123&amp;amp;u15=1&amp;amp;hash=0ab3ede4e93a55c38855a2cc9b9e169d35442c48&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
&lt;br /&gt;
Other examples:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_update_api?u15=1&amp;amp;user_id=789&amp;amp;u=admin&amp;amp;u15=1&amp;amp;hash=0in2w8n01rwnodv4t0y5zzfp1h5hdp1fyk7z&lt;br /&gt;
&lt;br /&gt;
This request blocks (u15=1) user with ID 789 (user_id=789). User belongs to admin (u=admin).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_update_api?u16=3&amp;amp;user_id=789&amp;amp;u=admin&amp;amp;u15=1&amp;amp;hash=0in2w8n01rwnodv4t0y5zzfp1h5hdp1fyk7z&lt;br /&gt;
&lt;br /&gt;
This request changes user quickforwards rule to rule with ID 3 (u16=3) user with ID 789 (user_id=789). User belongs to admin (u=admin).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;User was updated&amp;lt;/status&amp;gt;&lt;br /&gt;
  &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt; - User was not found using user_id. Use correct user id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - Check params and permissions. &lt;br /&gt;
* &amp;lt;error&amp;gt;You have no editing permission&amp;lt;/error&amp;gt; - Accountant dont have permission.&lt;br /&gt;
* &amp;lt;error&amp;gt;Tariff not found&amp;lt;/error&amp;gt; - Tariff was not found using param u5.&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not updated&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;message&amp;gt;problem message&amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_update&amp;diff=18324</id>
		<title>MOR API user details update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_update&amp;diff=18324"/>
		<updated>2014-09-08T05:33:01Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 11---&amp;gt;&lt;br /&gt;
[[MOR API]] Update user from params. &lt;br /&gt;
&lt;br /&gt;
'''Please note that it is not necessary to send ALL user parameters - you can send only those you need to update.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/user_details_update'''&lt;br /&gt;
* For Backwards-compatibility old name 'user_update_api' is also usable. Call: '''/api/user_update_api'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Note if Admin has checked 'Allow Resellers to use Admin Tariffs' in [[API Configuration]] then using this API Reseller can set for his Users Wholesale or Retail Tariffs which belongs to Admin.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash (if it is used):&lt;br /&gt;
&lt;br /&gt;
* user_id - Users ID in MOR database, whose details we want to change. '''REQUIRED'''.&lt;br /&gt;
* u - username of user which can modify details (admin, reseller or accountant). '''REQUIRED'''.&lt;br /&gt;
* u0 - vat number&lt;br /&gt;
* u1 - lcr id&lt;br /&gt;
* u2 - warning email hour&lt;br /&gt;
* u3 - hide destination end&lt;br /&gt;
* u4 - currency id&lt;br /&gt;
* u5 - tariff id&lt;br /&gt;
* u6 - warning email balance&lt;br /&gt;
* u7 - spy device id&lt;br /&gt;
* u8 - language&lt;br /&gt;
* u9 - username&lt;br /&gt;
* u10 - warning balance call&lt;br /&gt;
* u11 - acc group id&lt;br /&gt;
* u12 - generate invoice&lt;br /&gt;
* u13 - usertype&lt;br /&gt;
* u14 - taxation country&lt;br /&gt;
* u15 - blocked&lt;br /&gt;
* u16 - quickforwards rule id&lt;br /&gt;
* u17 - last name&lt;br /&gt;
* u18 - call limit&lt;br /&gt;
* u19 - clientid&lt;br /&gt;
* u20 - recording hdd quota&lt;br /&gt;
* u21 - cyberplat active&lt;br /&gt;
* u22 - recordings email&lt;br /&gt;
* u23 - first name&lt;br /&gt;
* u24 - warning balance sound file id&lt;br /&gt;
* u25 - postpaid&lt;br /&gt;
* u26 - accounting number&lt;br /&gt;
* u27 - agreement number&lt;br /&gt;
* u28 - hidden&lt;br /&gt;
* ay - agr_date year&lt;br /&gt;
* am - agr_date month&lt;br /&gt;
* ad - agr_date day&lt;br /&gt;
* by - block at date year2011&lt;br /&gt;
* bm - block at date month&lt;br /&gt;
* bd - block at date day&lt;br /&gt;
* pswd - password&lt;br /&gt;
* user_warning_email_hour&lt;br /&gt;
* pgui - privacy gui [0-off, 1-on]&lt;br /&gt;
* pcsv - privacy csv [0-off, 1-on]&lt;br /&gt;
* ppdf - privacy pdf [0-off, 1-on]&lt;br /&gt;
* recording_forced_enabled - [0-off, 1-on]&lt;br /&gt;
* i4 - invoice detailed csv [0-off, 16-on]&lt;br /&gt;
* tax4_enabled - [0-off, 1-on]&lt;br /&gt;
* tax2_enabled - [0-off, 1-on]&lt;br /&gt;
* accountant_type_invalid &lt;br /&gt;
* block_at_conditional - 15&lt;br /&gt;
* tax3_enabled - [0-off, 1-on]&lt;br /&gt;
* accountant_type &lt;br /&gt;
* tax1_value - float&lt;br /&gt;
* show_zero_calls - [0-off, 1-on]&lt;br /&gt;
* warning_email_active - [0-off, 1-on]&lt;br /&gt;
* compound_tax - [0-off, 1-on]&lt;br /&gt;
* tax4_name - &lt;br /&gt;
* allow_loss_calls - [0-off, 1-on]&lt;br /&gt;
* tax3_name - &lt;br /&gt;
* tax2_name - &lt;br /&gt;
* credit - float&lt;br /&gt;
* tax1_name - &lt;br /&gt;
* total_tax_name - &lt;br /&gt;
* tax2_value - float&lt;br /&gt;
* tax4_value - float&lt;br /&gt;
* ignore_global_monitorings - [0-off, 1-on]&lt;br /&gt;
* i1 - invoice pdf [0-off, 2-on]&lt;br /&gt;
* tax3_value - float&lt;br /&gt;
* cyberplat_active - [0-off, 1-on]&lt;br /&gt;
* i2 - invoice csv [0-off, 4-on]&lt;br /&gt;
* i3 - invoice detailed pdf [0-off, 8-on]&lt;br /&gt;
* recording_enabled - [0-off, 1-on]&lt;br /&gt;
* email_warning_sent_test - [0-off, 1-on]&lt;br /&gt;
* own_providers - [0-off, 1-on]&lt;br /&gt;
* a0 - address&lt;br /&gt;
* a1 - city&lt;br /&gt;
* a2 - postcode&lt;br /&gt;
* a3 - county&lt;br /&gt;
* a4 - mob_phone&lt;br /&gt;
* a5 - fax&lt;br /&gt;
* a6 - direction id&lt;br /&gt;
* a7 - phone&lt;br /&gt;
* a8 - email&lt;br /&gt;
* a9 - state&lt;br /&gt;
&lt;br /&gt;
'''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'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''REQUIRED'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reguest===&lt;br /&gt;
&lt;br /&gt;
We have user_id = 123, API Secret Key = 456789, u15=1 (we want to block user)&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/api/user_details_update?u=username&amp;amp;user_id=123&amp;amp;u15=1&amp;amp;hash=0ab3ede4e93a55c38855a2cc9b9e169d35442c48&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
&lt;br /&gt;
Other examples:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_update_api?u15=1&amp;amp;user_id=789&amp;amp;u=admin&amp;amp;u15=1&amp;amp;hash=0in2w8n01rwnodv4t0y5zzfp1h5hdp1fyk7z&lt;br /&gt;
&lt;br /&gt;
This request blocks (u15=1) user with ID 789 (user_id=789). User belongs to admin (u=admin).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_update_api?u16=3&amp;amp;user_id=789&amp;amp;u=admin&amp;amp;u15=1&amp;amp;hash=0in2w8n01rwnodv4t0y5zzfp1h5hdp1fyk7z&lt;br /&gt;
&lt;br /&gt;
This request changes user quickforwards rule to rule with ID 3 (u16=3) user with ID 789 (user_id=789). User belongs to admin (u=admin).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;User was updated&amp;lt;/status&amp;gt;&lt;br /&gt;
  &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt; - User was not found using user_id. Use correct user id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - Check params and permissions. &lt;br /&gt;
* &amp;lt;error&amp;gt;You have no editing permission&amp;lt;/error&amp;gt; - Accountant dont have permission.&lt;br /&gt;
* &amp;lt;error&amp;gt;Tariff not found&amp;lt;/error&amp;gt; - Tariff was not found using param u5.&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not updated&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;message&amp;gt;problem message&amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_rate_get&amp;diff=18323</id>
		<title>MOR API rate get</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_rate_get&amp;diff=18323"/>
		<updated>2014-09-08T05:32:03Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!---This functionality is available from MOR 10, but was also backported to MOR 9 ---&amp;gt;&lt;br /&gt;
=Description=&lt;br /&gt;
[[MOR API]] rate_get feature enables you to check rate over http.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---From X5---&amp;gt;&lt;br /&gt;
Admin able to check Rates of his Users.&lt;br /&gt;
Accountant with Permissions able to check Rates of Admins Users.&lt;br /&gt;
Reseller able to check Rates of his Users.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note if Admin has checked 'Allow Resellers to use Admin Tariffs' in [[API Configuration]] then using this API Reseller can get Rates which belongs to Admin.&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
&lt;br /&gt;
Go to '''SETTINGS –&amp;gt; Setup –&amp;gt; Settings'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
[[File:settings_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In API tab ensure that MOR API is enabled and check '''Allow devices to check rate over HTTP''' option :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Settings_api.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/rate_get'''&lt;br /&gt;
* For Backwards-compatibility old name 'rate' is also usable. Call: '''/api/rate'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
* u - username for authentication. '''From X5 - Required'''.&lt;br /&gt;
* username – username of user whose rates you want to see.&lt;br /&gt;
* prefix – prefix number of destination you want to see.&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required''' (if setting '''Disable hash checking''' is not checked).&lt;br /&gt;
'''NOTE:''' Don't use full number in API request. Use correct prefix only, because this method don't do prefix search, its only shows actual price for the exact prefix.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/rate_get?u=admin&amp;amp;username=USERNAME&amp;amp;prefix=PREFIX&amp;amp;hash=HASH&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 http://127.0.0.1/billing/api/rate?u=admin&amp;amp;username=admin&amp;amp;prefix=370&amp;amp;hash=47fc73b6d374bd0a85e3984c1e1623451681569c&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
Result is returned in format: rate#destination#prefix&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;rate&amp;gt;0.987#Lithuania#370&amp;lt;/rate&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE.''' MOR API rate method shows rate, which is applied to User. If rate by prefix is not found in [[Custom Rates]], it will be taken from Tariff assigned to User.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* User do not have rates for selected destination:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;Rate was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* User with selected username does not exist:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Allow devices to check rate over HTTP''' option in [[MOR_API_rate_get#Configuration | API Settings]] is not set:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;Feature disabled&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* API is not allowed: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;API Requests are disabled&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* User does not belong to the user who is trying to check rate or it was not found in the system: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Accountant must have See Financial Data read or write [[Accountant_permissions | permission]] and Manage Tariffs read or write permission enabled:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;You are not authorized to view this page&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_rate_get&amp;diff=18322</id>
		<title>MOR API rate get</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_rate_get&amp;diff=18322"/>
		<updated>2014-09-08T05:29:35Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!---This functionality is available from MOR 10, but was also backported to MOR 9 ---&amp;gt;&lt;br /&gt;
=Description=&lt;br /&gt;
[[MOR API]] rate_get feature enables you to check rate over http.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!---From X5---&amp;gt;&lt;br /&gt;
Admin able to check Rates of his Users.&lt;br /&gt;
Accountant with Permissions able to check Rates of Admins Users.&lt;br /&gt;
Reseller able to check Rates of his Users.&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
&lt;br /&gt;
Go to '''SETTINGS –&amp;gt; Setup –&amp;gt; Settings'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
[[File:settings_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In API tab ensure that MOR API is enabled and check '''Allow devices to check rate over HTTP''' option :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Settings_api.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/rate_get'''&lt;br /&gt;
* For Backwards-compatibility old name 'rate' is also usable. Call: '''/api/rate'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
* u - username for authentication. '''From X5 - Required'''.&lt;br /&gt;
* username – username of user whose rates you want to see.&lt;br /&gt;
* prefix – prefix number of destination you want to see.&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required''' (if setting '''Disable hash checking''' is not checked).&lt;br /&gt;
'''NOTE:''' Don't use full number in API request. Use correct prefix only, because this method don't do prefix search, its only shows actual price for the exact prefix.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/rate_get?u=admin&amp;amp;username=USERNAME&amp;amp;prefix=PREFIX&amp;amp;hash=HASH&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 http://127.0.0.1/billing/api/rate?u=admin&amp;amp;username=admin&amp;amp;prefix=370&amp;amp;hash=47fc73b6d374bd0a85e3984c1e1623451681569c&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
Result is returned in format: rate#destination#prefix&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;rate&amp;gt;0.987#Lithuania#370&amp;lt;/rate&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE.''' MOR API rate method shows rate, which is applied to User. If rate by prefix is not found in [[Custom Rates]], it will be taken from Tariff assigned to User.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* User do not have rates for selected destination:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;Rate was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* User with selected username does not exist:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Allow devices to check rate over HTTP''' option in [[MOR_API_rate_get#Configuration | API Settings]] is not set:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;Feature disabled&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* API is not allowed: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;API Requests are disabled&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* User does not belong to the user who is trying to check rate or it was not found in the system: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Accountant must have See Financial Data read or write [[Accountant_permissions | permission]] and Manage Tariffs read or write permission enabled:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;You are not authorized to view this page&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Settings_api.png&amp;diff=18321</id>
		<title>File:Settings api.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Settings_api.png&amp;diff=18321"/>
		<updated>2014-09-08T05:27:52Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: uploaded a new version of &amp;quot;File:Settings api.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_update&amp;diff=18320</id>
		<title>MOR API user details update</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_user_details_update&amp;diff=18320"/>
		<updated>2014-09-08T05:25:15Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 11---&amp;gt;&lt;br /&gt;
[[MOR API]] Update user from params. &lt;br /&gt;
&lt;br /&gt;
'''Please note that it is not necessary to send ALL user parameters - you can send only those you need to update.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/user_details_update'''&lt;br /&gt;
* For Backwards-compatibility old name 'user_update_api' is also usable. Call: '''/api/user_update_api'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Note if Admin checked Allow Resellers to use Admin Tariffs in [[API Configuration]] then using this API Reseller can set for his Users Wholesale or Retail Tariffs which belongs to Admin.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
Parameters which are '''included''' into hash (if it is used):&lt;br /&gt;
&lt;br /&gt;
* user_id - Users ID in MOR database, whose details we want to change. '''REQUIRED'''.&lt;br /&gt;
* u - username of user which can modify details (admin, reseller or accountant). '''REQUIRED'''.&lt;br /&gt;
* u0 - vat number&lt;br /&gt;
* u1 - lcr id&lt;br /&gt;
* u2 - warning email hour&lt;br /&gt;
* u3 - hide destination end&lt;br /&gt;
* u4 - currency id&lt;br /&gt;
* u5 - tariff id&lt;br /&gt;
* u6 - warning email balance&lt;br /&gt;
* u7 - spy device id&lt;br /&gt;
* u8 - language&lt;br /&gt;
* u9 - username&lt;br /&gt;
* u10 - warning balance call&lt;br /&gt;
* u11 - acc group id&lt;br /&gt;
* u12 - generate invoice&lt;br /&gt;
* u13 - usertype&lt;br /&gt;
* u14 - taxation country&lt;br /&gt;
* u15 - blocked&lt;br /&gt;
* u16 - quickforwards rule id&lt;br /&gt;
* u17 - last name&lt;br /&gt;
* u18 - call limit&lt;br /&gt;
* u19 - clientid&lt;br /&gt;
* u20 - recording hdd quota&lt;br /&gt;
* u21 - cyberplat active&lt;br /&gt;
* u22 - recordings email&lt;br /&gt;
* u23 - first name&lt;br /&gt;
* u24 - warning balance sound file id&lt;br /&gt;
* u25 - postpaid&lt;br /&gt;
* u26 - accounting number&lt;br /&gt;
* u27 - agreement number&lt;br /&gt;
* u28 - hidden&lt;br /&gt;
* ay - agr_date year&lt;br /&gt;
* am - agr_date month&lt;br /&gt;
* ad - agr_date day&lt;br /&gt;
* by - block at date year2011&lt;br /&gt;
* bm - block at date month&lt;br /&gt;
* bd - block at date day&lt;br /&gt;
* pswd - password&lt;br /&gt;
* user_warning_email_hour&lt;br /&gt;
* pgui - privacy gui [0-off, 1-on]&lt;br /&gt;
* pcsv - privacy csv [0-off, 1-on]&lt;br /&gt;
* ppdf - privacy pdf [0-off, 1-on]&lt;br /&gt;
* recording_forced_enabled - [0-off, 1-on]&lt;br /&gt;
* i4 - invoice detailed csv [0-off, 16-on]&lt;br /&gt;
* tax4_enabled - [0-off, 1-on]&lt;br /&gt;
* tax2_enabled - [0-off, 1-on]&lt;br /&gt;
* accountant_type_invalid &lt;br /&gt;
* block_at_conditional - 15&lt;br /&gt;
* tax3_enabled - [0-off, 1-on]&lt;br /&gt;
* accountant_type &lt;br /&gt;
* tax1_value - float&lt;br /&gt;
* show_zero_calls - [0-off, 1-on]&lt;br /&gt;
* warning_email_active - [0-off, 1-on]&lt;br /&gt;
* compound_tax - [0-off, 1-on]&lt;br /&gt;
* tax4_name - &lt;br /&gt;
* allow_loss_calls - [0-off, 1-on]&lt;br /&gt;
* tax3_name - &lt;br /&gt;
* tax2_name - &lt;br /&gt;
* credit - float&lt;br /&gt;
* tax1_name - &lt;br /&gt;
* total_tax_name - &lt;br /&gt;
* tax2_value - float&lt;br /&gt;
* tax4_value - float&lt;br /&gt;
* ignore_global_monitorings - [0-off, 1-on]&lt;br /&gt;
* i1 - invoice pdf [0-off, 2-on]&lt;br /&gt;
* tax3_value - float&lt;br /&gt;
* cyberplat_active - [0-off, 1-on]&lt;br /&gt;
* i2 - invoice csv [0-off, 4-on]&lt;br /&gt;
* i3 - invoice detailed pdf [0-off, 8-on]&lt;br /&gt;
* recording_enabled - [0-off, 1-on]&lt;br /&gt;
* email_warning_sent_test - [0-off, 1-on]&lt;br /&gt;
* own_providers - [0-off, 1-on]&lt;br /&gt;
* a0 - address&lt;br /&gt;
* a1 - city&lt;br /&gt;
* a2 - postcode&lt;br /&gt;
* a3 - county&lt;br /&gt;
* a4 - mob_phone&lt;br /&gt;
* a5 - fax&lt;br /&gt;
* a6 - direction id&lt;br /&gt;
* a7 - phone&lt;br /&gt;
* a8 - email&lt;br /&gt;
* a9 - state&lt;br /&gt;
&lt;br /&gt;
'''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'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Parameters which are '''not included''' into hash:&lt;br /&gt;
&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''REQUIRED'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reguest===&lt;br /&gt;
&lt;br /&gt;
We have user_id = 123, API Secret Key = 456789, u15=1 (we want to block user)&lt;br /&gt;
&lt;br /&gt;
We send:&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/api/user_details_update?u=username&amp;amp;user_id=123&amp;amp;u15=1&amp;amp;hash=0ab3ede4e93a55c38855a2cc9b9e169d35442c48&lt;br /&gt;
&lt;br /&gt;
'''* Note that username and password are not included in hash'''&lt;br /&gt;
&lt;br /&gt;
Other examples:&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_update_api?u15=1&amp;amp;user_id=789&amp;amp;u=admin&amp;amp;u15=1&amp;amp;hash=0in2w8n01rwnodv4t0y5zzfp1h5hdp1fyk7z&lt;br /&gt;
&lt;br /&gt;
This request blocks (u15=1) user with ID 789 (user_id=789). User belongs to admin (u=admin).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;server_ip&amp;gt;/billing/api/user_update_api?u16=3&amp;amp;user_id=789&amp;amp;u=admin&amp;amp;u15=1&amp;amp;hash=0in2w8n01rwnodv4t0y5zzfp1h5hdp1fyk7z&lt;br /&gt;
&lt;br /&gt;
This request changes user quickforwards rule to rule with ID 3 (u16=3) user with ID 789 (user_id=789). User belongs to admin (u=admin).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;status&amp;gt;User was updated&amp;lt;/status&amp;gt;&lt;br /&gt;
  &amp;lt;/page&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt; - User was not found using user_id. Use correct user id.&lt;br /&gt;
* &amp;lt;error&amp;gt;Incorrect hash&amp;lt;/error&amp;gt; - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.&lt;br /&gt;
* &amp;lt;error&amp;gt;Access Denied&amp;lt;/error&amp;gt; - Check params and permissions. &lt;br /&gt;
* &amp;lt;error&amp;gt;You have no editing permission&amp;lt;/error&amp;gt; - Accountant dont have permission.&lt;br /&gt;
* &amp;lt;error&amp;gt;Tariff not found&amp;lt;/error&amp;gt; - Tariff was not found using param u5.&lt;br /&gt;
* &amp;lt;error&amp;gt;User was not updated&amp;lt;/error&amp;gt;&lt;br /&gt;
* &amp;lt;message&amp;gt;problem message&amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=API_Configuration&amp;diff=18319</id>
		<title>API Configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=API_Configuration&amp;diff=18319"/>
		<updated>2014-09-08T05:17:07Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go to '''SETTINGS –&amp;gt; Setup –&amp;gt; Settings –&amp;gt; API''' tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Settings api.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Allow API globally''' – should we enable API globaly? When it is disabled, all settings below are also disabled and not editable.&lt;br /&gt;
* '''Allow GET API''' – should we allow GET method to be used for API? Good for testing - but do not use in production! It is unsafe.&lt;br /&gt;
* '''Allow Resellers to use Admin Tariffs''' – It is possible to let Resellers use Admins Tariffs. With [[MOR API user details update]] Resellers can set Admins Wholesale or Retail Tariffs for their users. With [[MOR API rate get]] they can get Admins Rates. Using [[MOR API tariff rates get]] Resellers can get Admins Tariffs.&lt;br /&gt;
* '''API Secret Key''' – key to [[MOR API hash construction | generate Hash]]&lt;br /&gt;
* '''XML API Extension''' – send XML output with &amp;lt;HTML&amp;gt; tag - this is used for broken .Net support, keep it unchecked if everything works for you&lt;br /&gt;
* '''Allow API Login Redirect''' – if login is successful the customer will be redirected to MOR billing Main site.&lt;br /&gt;
* '''Disable hash checking''' – When it is on API functions can be used without sending hash. Default value: off.&lt;br /&gt;
* '''Uniquehash''' – admin's unique hash. Reseller can see it by going to '''SETTINGS''' -&amp;gt; '''Registration'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NOTE''' that MOR does not allow you to enable '''Allow API''' if '''API Secret Key''' is not entered. In such case you will get a message '''Invalid API secret key'''. Enter '''API Secret Key''' in order to fix this.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=From Reseller/RSPRO =&lt;br /&gt;
&lt;br /&gt;
Reseller can use API functionality if '''Allow API globally''' in Admins settings is checked.&lt;br /&gt;
&lt;br /&gt;
Reseller has three options in his API Settings (Seetings –&amp;gt; API tab):&lt;br /&gt;
* '''Allow API''' –  turns on API functionality.&lt;br /&gt;
* '''API Secret Key''' – key to [[MOR API hash construction | generate Hash]]&lt;br /&gt;
* '''Disable hash checking''' – When it is on API functions can be used without sending hash. Default value: off.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NOTE''' that Reseller also must enter '''API Secret Key''' if he want to use API functionality. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Settings_api.png&amp;diff=18318</id>
		<title>File:Settings api.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Settings_api.png&amp;diff=18318"/>
		<updated>2014-09-08T04:59:33Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: uploaded a new version of &amp;quot;File:Settings api.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Alerts&amp;diff=18276</id>
		<title>Alerts</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Alerts&amp;diff=18276"/>
		<updated>2014-08-19T14:29:14Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X4---&amp;gt;&lt;br /&gt;
Alerts functionality is dedicated to taking actions about your system issues which may cause a problem. You may block User, disable Provider, change LCR for User or simply send a notification to specified [[Alert Groups|Group]] of [[Alert Contacts|Contacts]]. &lt;br /&gt;
&lt;br /&gt;
You are able to follow these parameters:&lt;br /&gt;
&lt;br /&gt;
* [[ASR/ACD|ASR]] – Answer-Seizure Ratio (percent)&lt;br /&gt;
* [[ASR/ACD|ACD]] – Average Call Duration (in seconds)&lt;br /&gt;
* PDD – Average Post Dial Delay. The time between punching in the last digit of a telephone number and receiving a ring or busy signal (in seconds)&lt;br /&gt;
* TTC (Time to Connect)(DURATION-BILLSEC) – Average time between receiving a ring signal and answer to the call (in seconds)&lt;br /&gt;
* BILLSEC – Sum of calls bilsec (in seconds)&lt;br /&gt;
* TOTAL CALLS – Sum of all calls.&lt;br /&gt;
* ANSWERED CALLS – Sum of answered calls.&lt;br /&gt;
* NOT ANSWERED CALLS – Sum of not answered calls (FAILED, BUSY, NO ANSWER).&lt;br /&gt;
* SIMULTANEOUS CALLS – Number of simultaneous calls (only applies to users and providers).&lt;br /&gt;
* PRICE SUM – Sum of calls price (only applies to users and providers).&lt;br /&gt;
&lt;br /&gt;
And it is possible to make actions for these types of MOR Objects or send notification about it:&lt;br /&gt;
&lt;br /&gt;
* [[Users]]&lt;br /&gt;
** All&lt;br /&gt;
** Postpaid&lt;br /&gt;
** Prepaid&lt;br /&gt;
** One User&lt;br /&gt;
* [[Providers]]&lt;br /&gt;
* [[Devices]]&lt;br /&gt;
* [[Directions and Destinations | Destinations]]&lt;br /&gt;
** One Destination by prefix.&lt;br /&gt;
** Few Destinations by prefix and % sign. Eg. 93%, 3706% and so on.&lt;br /&gt;
* [[Destinations Groups]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Go to '''ADDONS –&amp;gt; Monitorings –&amp;gt; Alerts'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:alerts_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here you can see list of all created Alerts and their main information like is Alert active? When it was Raised/Cleared last time? What value was at Alert/Clear...&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:alerts_list.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Click on [[Image:icon_add.png]]'''Add new Alert''' link to create an Alert or click on [[image:icon_edit.png]] icon to change settings of existing Alert.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Alert_edit3.png|right]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''General'''&lt;br /&gt;
&lt;br /&gt;
* '''Name''' – Alert name.&lt;br /&gt;
* '''Object Type''' – select which Object you want to follow.&lt;br /&gt;
* '''Object Name''' – pecify name/prefix of Object.&lt;br /&gt;
* '''Parameter''' – choose which parameter should be followed.&lt;br /&gt;
* '''Alert Type''' – ABS means that absolute data values will be taken from specified time period.&lt;br /&gt;
'''NOTE''': Object Type, Object Name, Parameter, Alert Type cannot be changed once Alert is created. &lt;br /&gt;
* '''Ignore if Calls''' &amp;lt;= – indicate calls sum when system should ignore Alert if calls sum is less than written. &lt;br /&gt;
* '''Ignore if Calls''' &amp;gt;= – indicate calls sum when system should ignore Alert if calls sum is more than written.&lt;br /&gt;
* '''Group to Notify''' – select [[Alert Groups|Group]] of [[Alert Contacts|Contacts]] who should be informed about Alert/clear.&lt;br /&gt;
* '''Notify to User''' – it is available only when Alert object type is User or Device. Check if you want to notify User on Alert.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Alert'''&lt;br /&gt;
&lt;br /&gt;
* '''Alert if &amp;lt;=''' – indicate Parameter value when system should raise Alert if value is less than written. &lt;br /&gt;
* '''Alert if &amp;gt;=''' – indicate Parameter value when system should raise Alert if value is more than written. &lt;br /&gt;
* '''Disable Object''' – check if you want to disable selected Object on Alert.&lt;br /&gt;
* '''Disable Provider in LCR'''  – indicate LCR where Provider should be disabled.&lt;br /&gt;
* '''LCR on Alert''' – select LCR which one should be used after Alert&lt;br /&gt;
* '''Notify On Alert via Email''' – check if you want that specified [[Alert Groups|Group]] will receive an email notifications about Alerts.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Clear'''&lt;br /&gt;
&lt;br /&gt;
* '''Disable Clear''' – when alert is raised, it will never be cleared.&lt;br /&gt;
* '''Clear on Condition'''&lt;br /&gt;
** '''Clear if &amp;lt;=''' – indicate Parameter value when system should Clear Alert if value is less than written. &lt;br /&gt;
** '''Clear if &amp;gt;=''' – indicate Parameter value when system should Clear Alert if value is more than written. &lt;br /&gt;
* '''Clear on time basis'''&lt;br /&gt;
** '''Clear after''' – indicate time value after which system should Clear Alert&lt;br /&gt;
** '''Clear on Date''' – indicate specific date and time when system should Clear Alert (After clear, selection will be reset)&lt;br /&gt;
* '''Enable Object''' – check if you want to enable selected(in Alert configuration) Object on Clear.&lt;br /&gt;
* '''Enable Provider in LCR''' – check if you want to enable selected(in Alert configuration) Provider on Clear.&lt;br /&gt;
* '''LCR on Clear''' – select LCR which one should be used after Clear.&lt;br /&gt;
* '''Notify On Clear via Email''' – check if you want that specified [[Alert Groups|Group]] will receive an email notifications about Clear.&lt;br /&gt;
&lt;br /&gt;
'''NOTE''' one of '''Clear on Condition''' options and both '''Clear on time basis''' options can be selected at one time. System will clear alert if at least one of conditions will be true, it means that alert will be cleared on condition which first will appear. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Period'''&lt;br /&gt;
&lt;br /&gt;
You can select different time periods for each alert. This period defines time period which activity have to be checked. &lt;br /&gt;
&lt;br /&gt;
Note: period has no effect when parameter SIMULTANEOUS CALLS is chosen.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Comment''' – additional notes. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Alert vs Clear =&lt;br /&gt;
&lt;br /&gt;
Example with CPU Load just to demonstrate what is Alert and what is Clear and proper usage of them.&lt;br /&gt;
&lt;br /&gt;
[[File:alert_graph.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Examples=&lt;br /&gt;
&lt;br /&gt;
===Send notification and change LCR on Alert===&lt;br /&gt;
&lt;br /&gt;
Parameter: TOTAL CALLS &amp;lt;br&amp;gt;&lt;br /&gt;
Object Type: User &amp;lt;br&amp;gt;&lt;br /&gt;
Object Name: Prepaid &amp;lt;br&amp;gt;&lt;br /&gt;
Alert if &amp;gt;=: 300 &amp;lt;br&amp;gt;&lt;br /&gt;
Clear if &amp;lt;=: 200 &amp;lt;br&amp;gt;&lt;br /&gt;
LCR on alert: secondary LCR &amp;lt;br&amp;gt;&lt;br /&gt;
LCR on clear: Restore Original &amp;lt;br&amp;gt;&lt;br /&gt;
Group to Notify: support group &amp;lt;br&amp;gt;&lt;br /&gt;
Notify on Alert via Email: checked &amp;lt;br&amp;gt;&lt;br /&gt;
Period: 1h &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This Alert monitors all Calls done by Prepaid Users. If a Prepaid User makes more than 300 Calls during one hour period, his LCR will be changed to secondary LCR and Email notification will be sent to every contact on support group.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If User's Call count drops below 200 calls during one hour period, his LCR will be restored to original LCR&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Block user when simultaneous calls are detected===&lt;br /&gt;
&lt;br /&gt;
Parameter: SIMULTANEOUS CALLS &amp;lt;br&amp;gt;&lt;br /&gt;
Object Type: User &amp;lt;br&amp;gt;&lt;br /&gt;
Object Name: All &amp;lt;br&amp;gt;&lt;br /&gt;
Alert if &amp;gt;=: 2 &amp;lt;br&amp;gt;&lt;br /&gt;
Group to Notify: administration &amp;lt;br&amp;gt;&lt;br /&gt;
Notify on Alert via Email: checked &amp;lt;br&amp;gt;&lt;br /&gt;
Disable Object: checked &amp;lt;br&amp;gt;&lt;br /&gt;
Disable Clear: checked &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This Alert monitors simultaneous calls done by all Users. If a User makes more than (or equal to) 2 simultaneous Calls to the same destination, his account will be suspended and Email notification will be sent to every contact on administration group.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This alert will no be cleared automatically and user will stay suspended even if no more simultaneous calls are present.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Alerts triggered by other Alerts===&lt;br /&gt;
&lt;br /&gt;
Since '''MOR X5''' administrators are able to create alerts that depend on other alerts. What that means is, that you are able to create an alert that is triggered by a set or a subset of other alerts.&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
* Alert 1 is triggered when a specific user's ACD drops below ten seconds.&lt;br /&gt;
* Alert 2 is triggered when a the same user's Device's ASR drops below 50%.&lt;br /&gt;
* Alert 3 is triggered when both Alert 1 and Alert 2 is triggered, so that the technicians are notified.&lt;br /&gt;
&lt;br /&gt;
In order to set up such a chain of events, you should first create Alert 1 and Alert 2.&lt;br /&gt;
&lt;br /&gt;
Then, you should set up Alert 3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Alert_group_parameter.png‎]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Configure your alert as usual, but instead of a specific parameter choose GROUP.&lt;br /&gt;
* Then, add the alert dependencies using the shown interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Alert_group_alert.png‎]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Set a number of alerts, that, when reached will trigger the alert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Alert_group_clear.png‎]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Finally set up a number of alerts that will clear your alert.&lt;br /&gt;
&lt;br /&gt;
These alerts can also be nested, without worrying about circular-dependencies, '''MOR''' simply will not let you make them.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[Alert Schedules]]&lt;br /&gt;
* [[Alert Groups]]&lt;br /&gt;
* [[Alert Contacts]]&lt;br /&gt;
* [[ASR/ACD]]&lt;br /&gt;
* [[How to resolve long PDD]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Alert_edit3.png&amp;diff=18274</id>
		<title>File:Alert edit3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Alert_edit3.png&amp;diff=18274"/>
		<updated>2014-08-19T14:23:46Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: uploaded a new version of &amp;quot;File:Alert edit3.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Alert_edit3.png&amp;diff=18273</id>
		<title>File:Alert edit3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Alert_edit3.png&amp;diff=18273"/>
		<updated>2014-08-19T14:22:34Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: uploaded a new version of &amp;quot;File:Alert edit3.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Alerts&amp;diff=18272</id>
		<title>Alerts</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Alerts&amp;diff=18272"/>
		<updated>2014-08-19T14:20:57Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X4---&amp;gt;&lt;br /&gt;
Alerts functionality is dedicated to taking actions about your system issues which may cause a problem. You may block User, disable Provider, change LCR for User or simply send a notification to specified [[Alert Groups|Group]] of [[Alert Contacts|Contacts]]. &lt;br /&gt;
&lt;br /&gt;
You are able to follow these parameters:&lt;br /&gt;
&lt;br /&gt;
* [[ASR/ACD|ASR]] – Answer-Seizure Ratio (percent)&lt;br /&gt;
* [[ASR/ACD|ACD]] – Average Call Duration (in seconds)&lt;br /&gt;
* PDD – Average Post Dial Delay. The time between punching in the last digit of a telephone number and receiving a ring or busy signal (in seconds)&lt;br /&gt;
* TTC (Time to Connect)(DURATION-BILLSEC) – Average time between receiving a ring signal and answer to the call (in seconds)&lt;br /&gt;
* BILLSEC – Sum of calls bilsec (in seconds)&lt;br /&gt;
* TOTAL CALLS – Sum of all calls.&lt;br /&gt;
* ANSWERED CALLS – Sum of answered calls.&lt;br /&gt;
* NOT ANSWERED CALLS – Sum of not answered calls (FAILED, BUSY, NO ANSWER).&lt;br /&gt;
* SIMULTANEOUS CALLS – Number of simultaneous calls (only applies to users and providers).&lt;br /&gt;
* PRICE SUM – Sum of calls price (only applies to users and providers).&lt;br /&gt;
&lt;br /&gt;
And it is possible to make actions for these types of MOR Objects or send notification about it:&lt;br /&gt;
&lt;br /&gt;
* [[Users]]&lt;br /&gt;
** All&lt;br /&gt;
** Postpaid&lt;br /&gt;
** Prepaid&lt;br /&gt;
** One User&lt;br /&gt;
* [[Providers]]&lt;br /&gt;
* [[Devices]]&lt;br /&gt;
* [[Directions and Destinations | Destinations]]&lt;br /&gt;
** One Destination by prefix.&lt;br /&gt;
** Few Destinations by prefix and % sign. Eg. 93%, 3706% and so on.&lt;br /&gt;
* [[Destinations Groups]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Go to '''ADDONS –&amp;gt; Monitorings –&amp;gt; Alerts'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:alerts_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here you can see list of all created Alerts and their main information like is Alert active? When it was Raised/Cleared last time? What value was at Alert/Clear...&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:alerts_list.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Click on [[Image:icon_add.png]]'''Add new Alert''' link to create an Alert or click on [[image:icon_edit.png]] icon to change settings of existing Alert.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:alerts_edit3.png|right]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''General'''&lt;br /&gt;
&lt;br /&gt;
* '''Object Type''' – select which Object you want to follow.&lt;br /&gt;
* '''Object Name''' – pecify name/prefix of Object.&lt;br /&gt;
* '''Parameter''' – choose which parameter should be followed.&lt;br /&gt;
* '''Alert Type''' – ABS means that absolute data values will be taken from specified time period.&lt;br /&gt;
'''NOTE''': Object Type, Object Name, Parameter, Alert Type cannot be changed once Alert is created. &lt;br /&gt;
* '''Ignore if Calls''' &amp;lt;= – indicate calls sum when system should ignore Alert if calls sum is less than written. &lt;br /&gt;
* '''Ignore if Calls''' &amp;gt;= – indicate calls sum when system should ignore Alert if calls sum is more than written.&lt;br /&gt;
* '''Group to Notify''' – select [[Alert Groups|Group]] of [[Alert Contacts|Contacts]] who should be informed about Alert/clear.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Alert'''&lt;br /&gt;
&lt;br /&gt;
* '''Alert if &amp;lt;=''' – indicate Parameter value when system should raise Alert if value is less than written. &lt;br /&gt;
* '''Alert if &amp;gt;=''' – indicate Parameter value when system should raise Alert if value is more than written. &lt;br /&gt;
* '''Disable Object''' – check if you want to disable selected Object on Alert.&lt;br /&gt;
* '''Disable Provider in LCR'''  – indicate LCR where Provider should be disabled.&lt;br /&gt;
* '''LCR on Alert''' – select LCR which one should be used after Alert&lt;br /&gt;
* '''Notify On Alert via Email''' – check if you want that specified [[Alert Groups|Group]] will receive an email notifications about Alerts.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Clear'''&lt;br /&gt;
&lt;br /&gt;
* '''Disable Clear''' – when alert is raised, it will never be cleared.&lt;br /&gt;
* '''Clear on Condition'''&lt;br /&gt;
** '''Clear if &amp;lt;=''' – indicate Parameter value when system should Clear Alert if value is less than written. &lt;br /&gt;
** '''Clear if &amp;gt;=''' – indicate Parameter value when system should Clear Alert if value is more than written. &lt;br /&gt;
* '''Clear on time basis'''&lt;br /&gt;
** '''Clear after''' – indicate time value after which system should Clear Alert&lt;br /&gt;
** '''Clear on Date''' – indicate specific date and time when system should Clear Alert (After clear, selection will be reset)&lt;br /&gt;
* '''Enable Object''' – check if you want to enable selected(in Alert configuration) Object on Clear.&lt;br /&gt;
* '''Enable Provider in LCR''' – check if you want to enable selected(in Alert configuration) Provider on Clear.&lt;br /&gt;
* '''LCR on Clear''' – select LCR which one should be used after Clear.&lt;br /&gt;
* '''Notify On Clear via Email''' – check if you want that specified [[Alert Groups|Group]] will receive an email notifications about Clear.&lt;br /&gt;
&lt;br /&gt;
'''NOTE''' one of '''Clear on Condition''' options and both '''Clear on time basis''' options can be selected at one time. System will clear alert if at least one of conditions will be true, it means that alert will be cleared on condition which first will appear. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Period'''&lt;br /&gt;
&lt;br /&gt;
You can select different time periods for each alert. This period defines time period which activity have to be checked. &lt;br /&gt;
&lt;br /&gt;
Note: period has no effect when parameter SIMULTANEOUS CALLS is chosen.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Comment''' – additional notes. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Alert vs Clear =&lt;br /&gt;
&lt;br /&gt;
Example with CPU Load just to demonstrate what is Alert and what is Clear and proper usage of them.&lt;br /&gt;
&lt;br /&gt;
[[File:alert_graph.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Examples=&lt;br /&gt;
&lt;br /&gt;
===Send notification and change LCR on Alert===&lt;br /&gt;
&lt;br /&gt;
Parameter: TOTAL CALLS &amp;lt;br&amp;gt;&lt;br /&gt;
Object Type: User &amp;lt;br&amp;gt;&lt;br /&gt;
Object Name: Prepaid &amp;lt;br&amp;gt;&lt;br /&gt;
Alert if &amp;gt;=: 300 &amp;lt;br&amp;gt;&lt;br /&gt;
Clear if &amp;lt;=: 200 &amp;lt;br&amp;gt;&lt;br /&gt;
LCR on alert: secondary LCR &amp;lt;br&amp;gt;&lt;br /&gt;
LCR on clear: Restore Original &amp;lt;br&amp;gt;&lt;br /&gt;
Group to Notify: support group &amp;lt;br&amp;gt;&lt;br /&gt;
Notify on Alert via Email: checked &amp;lt;br&amp;gt;&lt;br /&gt;
Period: 1h &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This Alert monitors all Calls done by Prepaid Users. If a Prepaid User makes more than 300 Calls during one hour period, his LCR will be changed to secondary LCR and Email notification will be sent to every contact on support group.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If User's Call count drops below 200 calls during one hour period, his LCR will be restored to original LCR&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Block user when simultaneous calls are detected===&lt;br /&gt;
&lt;br /&gt;
Parameter: SIMULTANEOUS CALLS &amp;lt;br&amp;gt;&lt;br /&gt;
Object Type: User &amp;lt;br&amp;gt;&lt;br /&gt;
Object Name: All &amp;lt;br&amp;gt;&lt;br /&gt;
Alert if &amp;gt;=: 2 &amp;lt;br&amp;gt;&lt;br /&gt;
Group to Notify: administration &amp;lt;br&amp;gt;&lt;br /&gt;
Notify on Alert via Email: checked &amp;lt;br&amp;gt;&lt;br /&gt;
Disable Object: checked &amp;lt;br&amp;gt;&lt;br /&gt;
Disable Clear: checked &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This Alert monitors simultaneous calls done by all Users. If a User makes more than (or equal to) 2 simultaneous Calls to the same destination, his account will be suspended and Email notification will be sent to every contact on administration group.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This alert will no be cleared automatically and user will stay suspended even if no more simultaneous calls are present.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Alerts triggered by other Alerts===&lt;br /&gt;
&lt;br /&gt;
Since '''MOR X5''' administrators are able to create alerts that depend on other alerts. What that means is, that you are able to create an alert that is triggered by a set or a subset of other alerts.&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
* Alert 1 is triggered when a specific user's ACD drops below ten seconds.&lt;br /&gt;
* Alert 2 is triggered when a the same user's Device's ASR drops below 50%.&lt;br /&gt;
* Alert 3 is triggered when both Alert 1 and Alert 2 is triggered, so that the technicians are notified.&lt;br /&gt;
&lt;br /&gt;
In order to set up such a chain of events, you should first create Alert 1 and Alert 2.&lt;br /&gt;
&lt;br /&gt;
Then, you should set up Alert 3.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Alert_group_parameter.png‎]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Configure your alert as usual, but instead of a specific parameter choose GROUP.&lt;br /&gt;
* Then, add the alert dependencies using the shown interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Alert_group_alert.png‎]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Set a number of alerts, that, when reached will trigger the alert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Alert_group_clear.png‎]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Finally set up a number of alerts that will clear your alert.&lt;br /&gt;
&lt;br /&gt;
These alerts can also be nested, without worrying about circular-dependencies, '''MOR''' simply will not let you make them.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[Alert Schedules]]&lt;br /&gt;
* [[Alert Groups]]&lt;br /&gt;
* [[Alert Contacts]]&lt;br /&gt;
* [[ASR/ACD]]&lt;br /&gt;
* [[How to resolve long PDD]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Alert_edit3.png&amp;diff=18271</id>
		<title>File:Alert edit3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Alert_edit3.png&amp;diff=18271"/>
		<updated>2014-08-19T14:20:36Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Advanced_Rates_for_Users&amp;diff=18250</id>
		<title>Advanced Rates for Users</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Advanced_Rates_for_Users&amp;diff=18250"/>
		<updated>2014-08-13T07:42:06Z</updated>

		<summary type="html">&lt;p&gt;Vaidask: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It is possible to show Advanced Rates for Users.&lt;br /&gt;
&lt;br /&gt;
Make sure they will understand them before showing these Rates to Users.&lt;br /&gt;
&lt;br /&gt;
It is necessary to turn on the settings:&lt;br /&gt;
&lt;br /&gt;
In '''SETTINGS –&amp;gt; Setup –&amp;gt; Settings –&amp;gt; Functionality''' check '''Show rates for users''' and '''Show Advanced Rates for users''' settings&lt;br /&gt;
&lt;br /&gt;
Click '''Save changes'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then Users are able to see the rates in their portal:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:X5_user_rates.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and their details:&lt;br /&gt;
&lt;br /&gt;
[[Image:ar_for_users3.png]]&lt;/div&gt;</summary>
		<author><name>Vaidask</name></author>
	</entry>
</feed>