Difference between revisions of "M4 API user balance update"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
=Description=
=Description=
<!---This functionality is available from MOR 10--->
[[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 MOR database, whose balance we want to change. '''Required'''.
* 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. Last parameter in a row is API_Secret_Key'''
'''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 login. '''Required'''. (The user which changes balance: admin/reseller, not the user himself!)
* 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>


User not loged in the system. Check username and password.
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=


* [[M2 API]]
* [[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.



See also