Difference between revisions of "M4 API"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(21 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[File:api.png|right|alt="api"|link=]]
[[File:api.png|right|alt="api"|link=]]
<mkmeta>Application Program Interface for M2 Class 4 Softswitch</mkmeta>
<mkmeta>Application Program Interface for M4 Class 4 Softswitch</mkmeta>


<br><br>
<br><br>
=About=
=About=
M2 API lets other software interact with M2 without knowing the internal structure of the database (DB) and other logic.
M4 API lets other software interact with M4 without knowing the internal structure of the database (DB) and other logic.


M2 accepts requests by HTML POST and returns results in XML.
M4 accepts requests by HTML POST and returns results in XML.


<br><br>
<br><br>
=M2 users that are allowed to use M2 API=
 
=M4 users that are allowed to use M4 API=
* Admin
* Admin
* Manager - only by using Admin Hash and Secret key
* Manager - only by using Admin Hash and Secret key
Line 19: Line 20:


== API Related ==
== API Related ==
* [[M2 API Configuration]] – configuration options for API.
* [[M4 API Configuration]] – configuration options for API.
* [[M2 API hash construction|Hash construction]] – how to construct hash to authenticate data over API.
* [[M4 API hash construction|Hash construction]] – how to construct hash to authenticate data over API.


<br>
<br>
==Balance==
==Balance==
* [[M2 API user balance update | user_balance_update]] (change_user_balance) – changes User's Balance
* [[M4 API user balance update | user_balance_update]] (change_user_balance) – changes User's Balance
Various methods to retrieve User balance
Various methods to retrieve User balance
* [[M2 API user_balance_get|user_balance_get]] (balance) – retrieves User's Balance.
* [[M4 API user_balance_get|user_balance_get]] (balance) – retrieves the User's Balance.
* [[M2 Balance in phone | user_simple_balance_get]] (simple_balance) – retrieves User's Balance in plain text (without any tags).
* [[M4 Balance in phone | user_simple_balance_get]] (simple_balance) – retrieves the User's Balance in plain text (without any tags).


<br>
<br>


==Calls==
==Calls==
* [[M2 user calls get|user_calls_get]] (user_calls) – retrieves a list of calls in a selected time period for a user/device.
* [[M4 user calls get|user_calls_get]] (user_calls) – retrieves a list of calls in a selected time period for a user/device.


<br>
<br>


==Currencies==
==Currencies==
* [[M2_API_Exchange_rate_update|exchange_rate_update]] - Currency Exchange rate update.
* [[M4_API_Exchange_rate_update|exchange_rate_update]] - Currency Exchange rate update.
 
<br>
 
==Device / Connection Point ==
* [[M4 API devices get | devices_get]] (device_list) – users device list
* [[M4 API device details get | device_details_get]] – shows all information about specified device.
* [[M4_API_cp_create | cp_create]] - creates a connection point
* [[M4_API_cp_update | cp_update]] - updates a connection point
* [[M4_API_cp_delete | cp_delete]] - deletes a connection point


<br>
<br>


==Device==
==Number Pools==
* [[M2 API devices get | devices_get]] (device_list) users device list
* [[M4 API number_pools_get| number_pools_get]] – get Number Pools list
* [[M2 API device details get | device_details_get]] – shows all information about specified device.
* [[M4 API number_pool_create| number_pool_create]] – create Number Pools
* [[M4 API number pool update| number_pool_update]] – update Number Pool
* [[M4 API number pool delete| number_pool_delete]] – delete Number Pool
* [[M4 API number pool numbers create| number_pool_numbers_create]] – create numbers for Number Pool
* [[M4 API number pool numbers delete| number_pool_numbers_delete]] – delete numbers from Number Pool
 
<br>
<br>


==Login==
==Login==
* [[M2 API user_login|user_login]] (login) – logs user in to MOR.
* [[M4 API user_login|user_login]] (login) – logs user in to M4.
* [[M2 API user_logout|user_logout]] (logout) – logs user out from MOR.
* [[M4 API user_logout|user_logout]] (logout) – logs user out from M4.
 
<br>


==Payments==
==Payments==
* [[M2 API payment_create| payment_create]] (create_payment) – create payment.
* [[M4 API payment_create| payment_create]] (create_payment) – create payment.
* [[M2 API payments_get| payments_get]] (payments_list) – payments list.
* [[M4 API payments_get| payments_get]] (payments_list) – payments list.


<br>
<br>
==Rates==
==Rates==
* [[M2 API tariff rates get| tariff_rates_get]] (get_tariff) – get all tariff's rates
* [[M4 API tariff rates get| tariff_rates_get]] (get_tariff) – get all tariff's rates
* [[M2 API tariff_wholesale_update | tariff_wholesale_update ]] (wholesale_tariff) – update or create wholesale tariff
* [[M4 API tariff_wholesale_update | tariff_wholesale_update ]] (wholesale_tariff) – update or create wholesale tariff


<br>
<br>
==Statistics==
==Statistics==
* [[M2 API quickstats_get | quickstats_get]] – gets today's [[Quick Stats]] and [[Active Calls]] count
* [[M4 API quickstats_get | quickstats_get]] – gets today's [[Quick Stats]] and [[Active Calls]] count
* [[M2_API_aggregate_get | aggregates_get]] - get aggregated statistics
* [[M4_API_aggregate_get | aggregates_get]] - get aggregated statistics


<br>
<br>


==User==
==User==
* [[M2 API user_details_get | user_details_get]] (user_details) – gets user details.
* [[M4 API user_create | user_create]] - creates user.
* [[M4 API user_details_get | user_details_get]] (user_details) – gets user details.
* [[M4 API user_delete | user_delete]] - deletes user.
* [[M4 API users_get | users_get]] - get user list.
* [[M4 API user_details_raw_get | user_details_raw_get]] - get raw details of the User from the DB.
* [[M4 API user details update | user_details_update]] - update User's details


<br>
<br>
=HTML POST=
=HTML POST=
All requests are in a similar format:
All requests are in a similar format:
Line 75: Line 100:
  HTML POST: http://<SERVER_IP>/billing/api/<function>?u=username
  HTML POST: http://<SERVER_IP>/billing/api/<function>?u=username


* username - the user name and password of the user who is asking for the data.  
* username - the username and password of the user who is asking for the data.  


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.
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.
<br><br>
<br><br>
=Useful to know=
=Useful to know=


* 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:
* All API methods return data straight from the database. It means that M4 GUI settings do not affect data, it will be returned as it is saved in the database. For example:
** Value of money will be returned in Default System [[Currencies|Currency]].
** Value of money will be returned in Default System [[Currencies|Currency]].
** Date will not be affected of [[Configuration_from_GUI#Visual| Default date format]] setting.
** Date will not be affected of [[Configuration_from_GUI#Visual| Default date format]] setting.
Line 87: Line 112:


<br><br>
<br><br>
=See also =
=See also =
* [[M2 API Configuration]]
* [[M4 API Configuration]]
* [[MOR integration]]
* [[How to block access to some API functions]]
* [[How to block access to some API functions]]
* [[API specification to be implemented in the future]]
* [[API specification to be implemented in the future]]

Latest revision as of 11:24, 12 March 2024

"api"



About

M4 API lets other software interact with M4 without knowing the internal structure of the database (DB) and other logic.

M4 accepts requests by HTML POST and returns results in XML.



M4 users that are allowed to use M4 API

  • Admin
  • Manager - only by using Admin Hash and Secret key
  • Simple User



Functions

API Related


Balance

Various methods to retrieve User balance


Calls

  • user_calls_get (user_calls) – retrieves a list of calls in a selected time period for a user/device.


Currencies


Device / Connection Point


Number Pools


Login


Payments


Rates


Statistics


User


HTML POST

All requests are in a similar format:

HTML POST: http://<SERVER_IP>/billing/api/<function>?u=username
  • username - the username and password of the user who is asking for the data.

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.

Useful to know

  • All API methods return data straight from the database. It means that M4 GUI settings do not affect data, it will be returned as it is saved in the database. For example:



See also