Difference between revisions of "MOR API card by cli update"

From Kolmisoft Wiki
Jump to navigationJump to search
Line 68: Line 68:


==PIN number supplied==
==PIN number supplied==
1. ''Caller_id does not exist in any calling card'': Caller_id will be associated to the new card and it will be marked as sold.
2. ''Caller_id exists in another card within the same cardgroup_id'': a new calling card value will be added to the old card and the new one will be disabled.
3. ''Caller_id exists in a card within a different cardgroup_id'': Caller_id and balance will be transfered from the old card to the new one, new one will be marked as sold and the old one will be disabled.
4. ''Caller_id exists in a device'': cards value will be added to the user of the device and the card will be disabled.
<br><br>
=See also=
[[MOR API]]

Revision as of 18:00, 31 March 2012

This functionality is available from MOR 12


MOR API

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>

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.

PIN number supplied

1. Caller_id does not exist in any calling card: Caller_id will be associated to the new card and it will be marked as sold.

2. Caller_id exists in another card within the same cardgroup_id: a new calling card value will be added to the old card and the new one will be disabled.

3. Caller_id exists in a card within a different cardgroup_id: Caller_id and balance will be transfered from the old card to the new one, new one will be marked as sold and the old one will be disabled.

4. Caller_id exists in a device: cards value will be added to the user of the device and the card will be disabled.

See also

MOR API