12-13-2022 03:50 AM - edited 12-13-2022 03:51 AM
Based on the documentation:
Devices—Get List of Devices for Extension
This API allows a user to retrieve the list of devices associated with an extension.
What is associated? I have Shared ACD Lines enabled and two devices, as I understand, associated with my extension. When both are registered, I receive both devices from the request. When only one is registered, I only receive one. Is that correct?
12-13-2022 07:03 AM
Hey Javier
The API will only give you the devices that it is possible to use at runtime.
So if you have lets say jabber and a hardphone, and the jabber is not registred, the api will only give you the hardphone.
(Don't know if it is a bug. I would also prefe that it show a full list with a status of the device)
12-13-2022 07:37 AM - edited 12-13-2022 07:41 AM
Thanks for the answer. Indeed, it will be much better to receive the full list of devices and which ones are registered and which ones not. Because as it is now, it comes with the following problematic:
- I want to login an agent using the Finesse API.
- I have the agentid, extension and password.
- with the agentid and password I authenticate and ask for agent status
- agent is logout and deviceSelection is enabled
- I ask the Devices and I got only 1 (when there are 2, one registered, one not registered)
- Since the activeDeviceId is optional when there is only 1 device, I do the login without the activeDeviceId*
- I got the following error, from the XMPP tunnel:
<Update> <data> <apiErrors> <apiError> <peripheralErrorCode>88001</peripheralErrorCode> <errorType>Generic Unable To Login</errorType> <errorMessage>CF_GENERIC_UNSPECIFIED</errorMessage> <peripheralErrorText>A JTAPI Cisco Unified Communications Manager problem</peripheralErrorText> <peripheralErrorMsg>CCX_JTAPI_CCM_PROBLEM</peripheralErrorMsg> <errorData>0</errorData> </apiError> </apiErrors> </data> <requestId>1VT2RB1CQ0UWAUCPVTDTIUD2ZTGVCT</requestId> <source>/finesse/api/User/<useridremoved></source> <event>put</event></Update>
So, the question I have is: why I cannot do a login without sending the activeDeviceId when there is only one device returned by the Devices call?
*activeDeviceId: A unique ID of the active device.
This parameter is required when the extension is a shared line between multiple devices and agent is enabled for shared ACD line usage.
This parameter is optional if there is only a single device associated with the extension, while shared ACD line usage is enabled for the agent.
This parameter should not be passed if shared ACD line usage is not enabled for the agent.
Source: https://developer.cisco.com/docs/finesse/#!user%e2%80%94sign-in-to-finesse/usersign-in-to-finesse
12-16-2022 04:24 AM
I can only talked for UCCX but if the system setting "Agent Device Selection" is enabled.
Agent have multiple devices:
You have to send the ActiveDeviceId with API calls for logging in - even if there only is one of the devices that are active.
Agent only have one device:
If the agent only have one device, you can skip it.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide