Difference between revisions of "M4 API user balance update"
m (Admin moved page M2 API user balance update to M4 API user balance update) |
|||
Line 1: | Line 1: | ||
=Description= | =Description= | ||
[[MOR API]] for user balance update. This method increases/decreases users' balance with a specified amount of money. | |||
[[MOR API]] for user balance update. This method increases/decreases users balance with specified amount of money. | |||
<br><br> | <br><br> | ||
=Usage= | =Usage= | ||
Line 12: | Line 11: | ||
Parameters which are '''included''' into hash: | Parameters which are '''included''' into hash: | ||
* user_id - Users ID in | * user_id - Users ID in the M4 database, whose balance we want to change. '''Required'''. | ||
* balance - new user balance. '''Required'''. | * balance - new user balance. '''Required'''. | ||
'''Note that parameters are shown in the same order as they have to be when generating the hash. | '''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''' | ||
<br><br> | <br><br> | ||
Parameters which are '''not included''' into hash: | Parameters which are '''not included''' into hash: | ||
* [[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'''. | * [[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'''. | ||
* u - username to | * u - username to log in. '''Required'''. (The user which changes balance: admin/reseller, not the user himself!) | ||
<br><br> | <br><br> | ||
Line 50: | Line 49: | ||
'''Errors''' | '''Errors''' | ||
User was not found using user_id. Use correct user_id. | User was not found using user_id. Use the correct user_id. | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<page> | <page> | ||
Line 62: | Line 61: | ||
</status> | </status> | ||
The user is not logged in to the system. Check username and password. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<page> | <page> | ||
Line 68: | Line 67: | ||
</page> | </page> | ||
Params balance is not correct or user is not saved. Check balance param. | Params balance is not correct or the user is not saved. Check balance param. | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<page> | <page> | ||
Line 76: | Line 75: | ||
===Additional notes=== | ===Additional notes=== | ||
*If the balance is changed during the call, price for the call will be deducted from new balance, because balance is deducted at the end of call. | *If the balance is changed during the call, the price for the call will be deducted from the new balance, because the balance is deducted at the end of the call. | ||
<br><br> | <br><br> | ||
=See also= | =See also= | ||
* [[ | * [[M4 API]] |
Latest revision as of 11:34, 28 November 2022
Description
MOR API for user balance update. This method increases/decreases users' balance with a specified amount of money.
Usage
- For Backwards-compatibility old name 'user_balance_change' is also usable. Call: /api/user_balance_change OR /api/user_balance_update
- Methods: POST, GET(if allowed, not recomended)
Parametres
Parameters which are included into hash:
- user_id - Users ID in the M4 database, whose balance we want to change. Required.
- balance - new user balance. Required.
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.
- u - username to log in. Required. (The user which changes balance: admin/reseller, not the user himself!)
Request
We have user_id = 123, API Secret Key = 456789, balance = 100
HTML POST: http://<SERVER IP>/billing/api/user_balance_update?u=username&user_id=123&balance=100&hash=b1bef44691c237b574263e09b2838ad1e658e507
* Note that username and password are not included in hash
Returns
Success
<page> <page> <status>User balance updated</status> <user> <username> username </username> <id> user_id </id> <balance> new balance </balance> </user> </page> </page>
Errors
User was not found using user_id. Use the correct user_id.
<?xml version="1.0" encoding="UTF-8"?> <page> <error>User was not found</error> </page>
Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.
<?xml version="1.0" encoding="UTF-8"?> <status> <error>Incorrect hash</error> </status>
The user is not logged in to the system. Check username and password.
<?xml version="1.0" encoding="UTF-8"?> <page> <error>Bad login</error> </page>
Params balance is not correct or the user is not saved. Check balance param.
<?xml version="1.0" encoding="UTF-8"?> <page> <error>User balance not updated</error> </page>
Additional notes
- If the balance is changed during the call, the price for the call will be deducted from the new balance, because the balance is deducted at the end of the call.