cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
537
Views
0
Helpful
3
Replies

Finesse API Devices question

Javier Aparicio
Level 1
Level 1

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.

Source: https://developer.cisco.com/docs/finesse/#!devices%e2%80%94get-list-of-devices-for-extension/devicesget-list-of-devices-for-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?

 

3 Replies 3

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)

Please rate helpful posts and if applicable mark "Accept as a Solution".
Thanks, Thomas G. J.

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

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. 

Please rate helpful posts and if applicable mark "Accept as a Solution".
Thanks, Thomas G. J.