M4 user calls get
From Kolmisoft Wiki
Jump to navigationJump to search
Description
Retrieves a list of calls in the selected time period for specified User/Device.
Admin - can get any user calls
User - can get his own calls.
Usage
- M4 call: /api/user_calls_get
- For Backwards-compatibility old name 'user_calls' is also usable. Call: /api/user_calls
- Methods: POST, GET(if allowed, not recomended)
Parameters
Parameters which are included into hash:
- period_start - Unix timestamp of calls period starting date. (Default: Today at 00:00).
- period_end - Unix timestamp of calls period end date. (Default: Today at 23:59).
- s_user - User's ID in MOR database. Required, if s_reseller is not used.
- s_call_type - Call type. Possible values [all, answered, no answer, failed, busy]. (Default: all)
- s_origination_point - Origination Point ID in MOR database. Possible values [all, numeric value of origination_point_id]. (Default: all).
- s_termination_point - Termination Point ID in MOR database. Possible values [all, numeric value of termination_point_id]. (Default: all).Only for Admin.
- s_hgc - Hangup cause code ID in MOR database. Possible values [all, numeric value of hangup_cause_code_id]. (Default: all). Only for Admin and Reseller if Show HGC for Resellers is ON.
- s_destination - prefix.
- order_desc - Possible values [0,1]. (Default: 0).
- only_did - show calls that only went through did. Possible values [0,1]. (Default: 0).
Note that parameters are shown in the same order as they have to be when generating the hash. The last parameter in a row is API_Secret_Key
Parameters which are not included into hash:
- hash - SHA1 hash constructed using parameters above and API_Secret_Key ( More described in Constructing hash). Required (if setting Disable hash checking is not checked).
- u - username for authentication. Required.
- order_by - Possible values [time, src, dst, prefix, nice_billsec, hgc, server, p_name, p_rate, p_price, r_rate, r_price, user, u_rate, u_price, number, d_provider, d_inc, d_owner]. (Default: time).
Request
If you want find s_call_type=all calls for s_user = 5, through s_device=7 in period from 2011-11-01 23:59:59 till 2011-11-30 23:59:59, and your API Secret Key = 456789
You send:
HTML POST: http://<SERVER_IP>/billing/api/user_calls_get?u=username&s_user=5&period_start=1320191999&period_end=1322697599&s_device=7&s_call_type=all&hash=df2983700ffecb52e6649f0cb3981b66537083a4
* Note that username is not included in hash
Returns
Success: Everything is ok. You get the list of calls if there are any:
<?xml version="1.0" encoding="UTF-8"?> <page> <pagename>Calls</pagename> <language>en</language> <error_msg></error_msg> <userid>0</userid> <username>admin</username> <total_calls>1</total_calls> <currency>USD</currency> <calls_stat> <period> <period_start>2008-03-07 11:48:18</period_start> <period_end>2012-03-07 11:46:01</period_end> </period> <show_user>all</show_user> <show_origination_point>all</show_device> <show_status>all</show_status> <show_termination_point>4</show_provider> <show_hgc>all</show_hgc> <show_did>1</show_did> <calls> <call> <calldate2>2009-01-02 00:00:01</calldate2> <timezone>GMT+02:00</timezone> <clid>37046246362</clid> <destination>Lithuania MOB Lithuania mobile</destination> <did>37063042438</did> <did_inc_price>1.0</did_inc_price> <did_price>1.0</did_price> <did_prov_price>1.0</did_prov_price> <dispod>ANSWERED(16)</dispod> <dst>37063042438</dst> <nice_billsec>20.0</nice_billsec> <nice_reseller> </nice_reseller> <prefix>3706</prefix> <profit>4</profit> <provider_name>Test Provider</provider_name> <provider_price>1.0</provider_price> <provider_rate>0.0</provider_rate> <reseller_price>0.0</reseller_price> <reseller_rate>0.0</reseller_rate> <server_id>1</server_id> <src>37046246362</src> <terminated_by>terminator</terminated_by> <user></user> <user_price>2.0</user_price> <user_rate>0.0</user_rate> <uniqueid>1232113379.3</uniqueid> </call> </calls> </calls_stat> </page>
NOTE that calldate is in system(server) Time Zone.
Errors:
- <error>API Requests are disabled</error> – Allow API globally setting is unchecked.
- <error>Access Denied</error> – Such username does not exist in the database or it was not specified.
- <error>Incorrect hash</error> – Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.
- <error>User was not found</error> – User was not found using user_id. Use the correct user_id.
Example:
<status> <error>API Requests are disabled</error> </status>