Difference between revisions of "MOR API card by cli update"
Line 6: | Line 6: | ||
Availability to create and update calling cards, including adding and transferring funds, by being identified according the Caller_ID. | Availability to create and update calling cards, including adding and transferring funds, by being identified according the Caller_ID. | ||
<br> | |||
=General= | =General= | ||
Line 57: | Line 57: | ||
=API actions according to PIN being or not being supplied= | =API actions according to PIN being or not being supplied= | ||
==No PIN supplied== | ==No PIN number supplied== | ||
1. ''Caller_id does not exist in callingcard'': a card in cardgroup_id will be created and the Caller_id will be associated to it. A payment of amount of funds will be added to the card and the card will be marked as sold. | |||
2. ''Caller_id exists in a card within the cardgroup_id'': a payment will be added of amounts of funds to the existing card, a new card will not be created. | |||
3. ''Caller_id exists in another cardgroup_id'': a new card will be created in supplied cardgroup_id and a Caller_id will be associated to it. A payment of amount of funds will be added to the new card, funds from previous card associated with Caller_id will be transfered to the new one which will be marked as sold and the old one will be disabled. | |||
4. ''Caller_id exists in device'': a new card in cardgroup_id will not be created and the payment of amount of funds will be added to the user. | |||
==PIN number supplied== |
Revision as of 17:54, 31 March 2012
This functionality is available from MOR 12
Availability to create and update calling cards, including adding and transferring funds, by being identified according the Caller_ID.
General
- Call: /api/cc_by_cli
- Methods: POST, GET(if allowed, not recomended)
- Params:
- callerid - Caller ID in MOR database, whose credit notes we want to see. Required.
- amount - amount to transfer to calling card.
- pin - pin of calling card, if specified amount would be ignored.
- cardgroup_id - cardgroup ID in MOR database.
- u - username to login. Required.
- p - password to login. Required.
- hash - SHA1 hash constructed using pin, amount, callerid, cardgroup_id and API_Secret_Key ( More described in Constructing hash). Required.
- Returns:
- Success
- <status>
- ok
- </status>
- <card>
- <id></id>
- <cardgroup_id></cardgroup_id>
- <balance></balance>
- <callerid></callerid>
- <pin></pin>
- <number></number>
- </card>
- Success
Note that user has to be owner of cardgroup that id is supplied.
Example
- /api/cc_by_cli?u=user&p=user1&callerid=123&cardgroup=3&amount=100&hash=ed9d3657ad490fa2ed860ecc93223d58bf471672
- /api/cc_by_cli?u=user&p=user1&callerid=123&cardgroup=3&hash=2b76184f5fd39ee4d149d7481c39d57fdc1f7f7a
- /api/cc_by_cli?u=user&p=user1&callerid=123&cardgroup=3&pin=321&hash=71973ad6f8d1f8a52ba17e3a2d3a4e974ac057d2
* Note that username and password are not included in hash
Possible errors
- <error>Bad login</error> - User supplied bad login or password.
- <error>Incorrect hash</error> - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.
- <error>Supplied Cardgroup_id is invalid</error> - user is not the owner of cardgroup or there is no cardgroup at all.
- <error>Failed to make transaction</error> - Something went wrong and transaction could not be completed.
- <error>Card was not found</error> - Card with specified callerid was not found
- <error>Callerid belongs to provider</error> - callerid belongs to provider and you cannot change that using this api method.
- <error>Device allready have such callerid, but you do not have permission to change user's balance</error> - if device with specified callerid was found but device's user A is owned by some user B, you cannot change A's balance.
API actions according to PIN being or not being supplied
No PIN number supplied
1. Caller_id does not exist in callingcard: a card in cardgroup_id will be created and the Caller_id will be associated to it. A payment of amount of funds will be added to the card and the card will be marked as sold.
2. Caller_id exists in a card within the cardgroup_id: a payment will be added of amounts of funds to the existing card, a new card will not be created.
3. Caller_id exists in another cardgroup_id: a new card will be created in supplied cardgroup_id and a Caller_id will be associated to it. A payment of amount of funds will be added to the new card, funds from previous card associated with Caller_id will be transfered to the new one which will be marked as sold and the old one will be disabled.
4. Caller_id exists in device: a new card in cardgroup_id will not be created and the payment of amount of funds will be added to the user.