MOR API card by cli update

From Kolmisoft Wiki
Jump to navigationJump to search

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