MOR API device update

From Kolmisoft Wiki
Jump to navigationJump to search

Description

MOR API update existing Device from params.

Usage

  • Call: /api/device_update
  • Methods: POST, GET(if allowed, not recomended)



Parameters

Parameters which are included into hash:

  • device - device_id. Required.
  • authentication - 0 stands for "Dynamic (Username/Password)" Device Authentication, 1 stands for "IP Authentication:"
  • username - sets value for Username if device Authentication value is Dynamic.
  • host - sets value for IP Address if device Authentication value is IP Authentication
  • port - sets value for Port if device Authentication value is IP Authentication


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

Parameters which are not included into hash:

  • hash - SHA1 hash constructed using parameters which are listed above. 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 ( More described in Constructing hash). Required.
  • u - username for authentication. Required.
  • new_location_id - location_id.
  • callerid_number - number.
  • callerid_name - name.
  • trunk - 0 stand for "No", 1 stand for "Yes", 2 stands for "Yes with ANI".
  • fax_email_add - email address to add.
  • fax_email_delete - email address to delete.
  • call_limit - call limit. Set 0 if you want unlimited sim. calls.
  • fromuser - sets value for Fromuser.
  • password - sets value for Password if device Authentication value is Dynamic.
  • call_timeout - max call duration (in seconds).
  • extension - device extension. Allowed symbols: a-z0-9#*.
  • pin - device PIN. Allowed symbols: 0-9 or empty parameter.
  • hidden - for hiding and unhiding Devices. Allowed values: 0 - unhide, 1 - hide.
  • language - sets value for language.
  • allow_empty_callerid - if set to 1, allows to set empty callerid_number and/or callerid_name.
  • comment - device comment to add or update.
  • encryption - enable or disable encryption. Allowed values: 1 - yes, 0 - no.
  • transport - allowed values: "udp", "tcp", "udp,tcp", "tcp,udp", "tls".
  • hostname - set device hostname, will take effect only if authentication = 1 (IP authenticated device).
  • device_balance_enabled - enable or disable device balance. Allowed values: 1 - enable, 0 - disable.
  • balance - set device balance. Only numeric values.
  • ringing_timeout - max ringing duration in seconds (minimum value is 10).
  • callerid_control_by_dids - this setting lets you control what a CID user can enter in his devices. Only available when the device has DIDs and the CallerID Number field is empty.


Additional feature

If API setting Allow Resellers to use Admin Localization Rules is enabled:
Reseller is able to set location inherited from Admin. new_location_id should be used as a parameter for location.

Request

HTML POST: http://<SERVER_IP>/billing/api/device_update?u=admin&device=2&new_location_id=7&hash=297dab8c386794b2e947d52affb8f576c643569e



Returns

Success

<page>
  <status>
    <success>Device successfully updated</success>
  </status>
</page>




Errors

  • <error>Incorrect hash</error> - Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.
  • <error>Access Denied</error> - access not allowed
  • <error>Device was not found</error> - Device id incorrect or does not exist
  • <error>Location was not found</error> - Location id incorrect or does not exist
  • <error>Password is too short</error> - Password of device is too short
  • <error>CallerID Control By DIDs was not updated because the device has callerID number</error>
  • <error>CallerID Control By DIDs was not updated because the device is not assigned to any DID</error>



Examples

Change Username/Password authenticated Device to IP authenticated Device:

http://<SERVER_IP>/billing/api/device_update?u=admin&device=51&authentication=1&host=192.168.5.20&port=5060&hash=XXXX

Set empty CallerID:

http://<SERVER_IP>/billing/api/device_update?u=admin&device=2&allow_empty_callerid=1&callerid_number=&hash=XXXX

See also