Difference between revisions of "M4 API"
From Kolmisoft Wiki
Jump to navigationJump to search
(20 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 | <mkmeta>Application Program Interface for M4 Class 4 Softswitch</mkmeta> | ||
<br><br> | <br><br> | ||
=About= | =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. | |||
<br><br> | <br><br> | ||
= | |||
=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 == | ||
* [[ | * [[M4 API Configuration]] – configuration options for API. | ||
* [[ | * [[M4 API hash construction|Hash construction]] – how to construct hash to authenticate data over API. | ||
<br> | <br> | ||
==Balance== | ==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 | ||
* [[ | * [[M4 API user_balance_get|user_balance_get]] (balance) – retrieves the User's Balance. | ||
* [[ | * [[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== | ||
* [[ | * [[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== | ||
* [[ | * [[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> | ||
== | ==Number Pools== | ||
* [[ | * [[M4 API number_pools_get| number_pools_get]] – get Number Pools list | ||
* [[ | * [[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== | ||
* [[ | * [[M4 API user_login|user_login]] (login) – logs user in to M4. | ||
* [[ | * [[M4 API user_logout|user_logout]] (logout) – logs user out from M4. | ||
<br> | |||
==Payments== | ==Payments== | ||
* [[ | * [[M4 API payment_create| payment_create]] (create_payment) – create payment. | ||
* [[ | * [[M4 API payments_get| payments_get]] (payments_list) – payments list. | ||
<br> | <br> | ||
==Rates== | ==Rates== | ||
* [[ | * [[M4 API tariff rates get| tariff_rates_get]] (get_tariff) – get all tariff's rates | ||
* [[ | * [[M4 API tariff_wholesale_update | tariff_wholesale_update ]] (wholesale_tariff) – update or create wholesale tariff | ||
<br> | <br> | ||
==Statistics== | ==Statistics== | ||
* [[ | * [[M4 API quickstats_get | quickstats_get]] – gets today's [[Quick Stats]] and [[Active Calls]] count | ||
* [[ | * [[M4_API_aggregate_get | aggregates_get]] - get aggregated statistics | ||
<br> | <br> | ||
==User== | ==User== | ||
* [[ | * [[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 77: | Line 100: | ||
HTML POST: http://<SERVER_IP>/billing/api/<function>?u=username | HTML POST: http://<SERVER_IP>/billing/api/<function>?u=username | ||
* username - the | * 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 | 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 | * 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 89: | Line 112: | ||
<br><br> | <br><br> | ||
=See also = | =See also = | ||
* [[ | * [[M4 API Configuration]] | ||
* [[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
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
- M4 API Configuration – configuration options for API.
- Hash construction – how to construct hash to authenticate data over API.
Balance
- user_balance_update (change_user_balance) – changes User's Balance
Various methods to retrieve User balance
- user_balance_get (balance) – retrieves the User's Balance.
- user_simple_balance_get (simple_balance) – retrieves the User's Balance in plain text (without any tags).
Calls
- user_calls_get (user_calls) – retrieves a list of calls in a selected time period for a user/device.
Currencies
- exchange_rate_update - Currency Exchange rate update.
Device / Connection Point
- devices_get (device_list) – users device list
- device_details_get – shows all information about specified device.
- cp_create - creates a connection point
- cp_update - updates a connection point
- cp_delete - deletes a connection point
Number Pools
- number_pools_get – get Number Pools list
- number_pool_create – create Number Pools
- number_pool_update – update Number Pool
- number_pool_delete – delete Number Pool
- number_pool_numbers_create – create numbers for Number Pool
- number_pool_numbers_delete – delete numbers from Number Pool
Login
- user_login (login) – logs user in to M4.
- user_logout (logout) – logs user out from M4.
Payments
- payment_create (create_payment) – create payment.
- payments_get (payments_list) – payments list.
Rates
- tariff_rates_get (get_tariff) – get all tariff's rates
- tariff_wholesale_update (wholesale_tariff) – update or create wholesale tariff
Statistics
- quickstats_get – gets today's Quick Stats and Active Calls count
- aggregates_get - get aggregated statistics
User
- user_create - creates user.
- user_details_get (user_details) – gets user details.
- user_delete - deletes user.
- users_get - get user list.
- user_details_raw_get - get raw details of the User from the DB.
- user_details_update - update User's details
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:
- Value of money will be returned in Default System Currency.
- Date will not be affected of Default date format setting.
- Value of money will not be affected of Number digits setting.