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

From Kolmisoft Wiki
Jump to navigationJump to search
Line 16: Line 16:
** pin - pin of calling card, if specified amount would be ignored.
** pin - pin of calling card, if specified amount would be ignored.
** cardgroup_id - cardgroup ID in MOR database.
** cardgroup_id - cardgroup ID in MOR database.
** u - username to login. '''Required'''.
** u - username to login. Username of Calling Cards owner. '''Required'''.
** p - password to login. '''Required'''.
** p - password to login. Password of Calling Cards owner. '''Required'''.
** [[MOR API hash construction | hash]] - SHA1 hash constructed using '''pin''', '''amount''',  '''callerid''', '''cardgroup_id''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.
** [[MOR API hash construction | hash]] - SHA1 hash constructed using '''pin''', '''amount''',  '''callerid''', '''cardgroup_id''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required'''.
**  
**  

Revision as of 07:05, 24 September 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. Username of Calling Cards owner. Required.
    • p - password to login. Password of Calling Cards owner. 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 payment of amount of funds will be added to the card, VAT will be deducted, and the card will be marked as sold.

2. Caller_id exists in a card within the cardgroup_id: Value from a calling card found by Caller_id, will be transferred to the card found by PIN, VAT will not be deducted. Caller_id will be associated with the card, which is found by PIN, and that card will be marked as sold. Card found by Caller_id will be disabled.

3. Caller_id exists in another cardgroup_id: Caller_id and balance will be transferred, VAT will not be deducted from the card found by Caller_id to the card found by PIN, Card found by PIN will be marked as sold and the other one will be disabled.

4. Caller_id exists in device: cards value will be transferred, VAT will not be deducted, from the card found by PIN, to the user of the device and the card will be disabled.

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.

Cc by cli.png



See also

MOR API