04-25-2022 09:08 AM
Hi Guys, I'm trying to create a wx-cc header widget that uses the vteamTransfer agentContact API, to transfer a call to an entry point that plays an announcement.
We have created the entry point and I'm able to get the entry point details using the Desktop.agentContact.vteamList method, then when the agent is on an active call, I've created a button that calls the following code:
await Desktop.agentContact.vteamTransfer({ interactionId, // interaction id for the current call data: { vteamId, // entry point id vteamType: "inboundentrypoint" } })
Unfortunately, the code above is throwing the following exception:
2022-04-25 16:06:59:672 ["agentx-services","Http request roundtrip time: https://aqm.prodeu1.ciscoccservice.com/aqm/v1/contact/969e0637-9525-4a5a-8b32-55c13fc67f62/vteamTransfer POST 47ms"] build.umd.js:3030 Unhandled Promise rejection: ; Zone: <root> ; Task: Promise.then ; Value: Error at new i (https://desktop.wxcc-eu1.cisco.com/app/chunks/vendors~app~.._.._node_modules_@i.a44f77b1.js:26111:13501) at Object.handle (https://desktop.wxcc-eu1.cisco.com/app/chunks/app~...6f52100e.js:3349:36) at AqmReqs.onMessage (https://desktop.wxcc-eu1.cisco.com/app/chunks/app~...6f52100e.js:3247:25) at https://desktop.wxcc-eu1.cisco.com/app/chunks/vendors~app~.._.._node_modules_@i.a44f77b1.js:26111:32432 at Array.forEach (<anonymous>) at AqmNotifs.send [as onMessageSend] (https://desktop.wxcc-eu1.cisco.com/app/chunks/vendors~app~.._.._node_modules_@i.a44f77b1.js:26111:32421) at WebSocket.websocket.onmessage (https://desktop.wxcc-eu1.cisco.com/app/chunks/app~...6f52100e.js:3180:22)
But I can't work out what's going on. As a workaround I've used the blindTransfer method in order to transfer the call to a number that maps to the entrypoint and that works fine.
does anyone have an example that I could use to get vteamTransfers working?
regards,
Unai
Solved! Go to Solution.
05-27-2022 07:31 AM
Hi Unai,
I was able to test vteamTransfer with inboundentrypoint, and it works. I can say with confidence its supported.
If its still not working for you, I would maybe double-check your interactionId. You can always grab/verify it from the browser console/dev tools and plug it into your code while still on a call, for testing purposes.. etc....
Below is the code snippet that Im using as well as a snippet of the dev tools console....
// Initiate a transfer async transferToEP() { let interactionId = await this.getInfo(); let response = await Desktop.agentContact.vteamTransfer({ interactionId, data: { vteamId: "AXeMrO7Vwb-tZrANz1q_", // replace with your onw Queue vteamType: "inboundentrypoint" } }); logger.info("myTransfer" + JSON.stringify(response)); }
{"EP_ID":"c2812fe6-e81b-4dc4-9286-0e17fe645653","QMgrName":"aqm","QueueId":"6a130f33-97d7-46e6-a286-fc9ee6f34968","ROUTING_TYPE":"queueBasedRouting","ani":"+1nnnnnnnnnn","dnis":"+1nnnnnnnnn,"fceRegisteredEvents":"","mohFileName":"defaultmusic_on_hold.wav","priority":"10","routingStrategyId":"783c3b5a-8e31-43eb-b1a7-f20f49923511","taskToBeSelfServiced":"false","tenantId":"328","vteamId":"6a130f33-97d7-46e6-a286-fc9ee6f34968","workflowId":"626cabf3bb9ec16a540f21ab","workflowName":"test_v2_generic"},"contactDirection":{"type":"INBOUND"},"currentVTeam":"6a130f33-97d7-46e6-a286-fc9ee6f34968","interactionId":"1ca251b8-7050-42f6-b170-6518762a9098",
04-27-2022 08:45 AM
Hi @uzuluaga
We are investigating this and will respond with the example code shortly,
Thank you for your patience.
Regards,
Arunabh.
05-12-2022 04:59 AM
hey Arunabh,
did you have any luck with this or you didn't have a chance to look into it yet?
regards,
Unai
05-17-2022 07:11 AM
HI @uzuluaga ,
Sorry for delay. Im going to try this out today. I'll get back to you shortly.
regards,
Niko
05-18-2022 05:13 PM
HI @uzuluaga ,
I have escalated this to our Desktop group. Waiting on them to give me some feedback.
thanks for you patience.
Regards,
Niko
05-24-2022 08:30 AM
Hello @uzuluaga ,
I was finally able to make this method work. The one small difference is Im using inboundqueue as the vteamType.
Have you tried it with this type? Or are you looking to use this method with inboundentrypoint? Let us know on this subject.
The reason I bring it up is although the documentation references inboundentrypoint, if you look at the GUI of the Transfer, only Queue is referenced?! So I need to verify this aspect.
If you are just looking to make this work regardless of the type... try inboundqueue.
Below is the sample code that worked for me. The 3 items to make sure you pay extra attention to...
1. Using "await" as you are as its promise based.
2. Making sure you use the interactionId
3. using the inboundqueue
// Initiate a transfer async transferToEP() { let interactionId = await this.getInfo(); let response = await Desktop.agentContact.vteamTransfer({ interactionId, data: { vteamId: "AXr39XRQDntNus7_q4r8", // replace with your onw Queue vteamType: "inboundqueue" } }); logger.info("transfer: " + JSON.stringify(response)); }
05-26-2022 02:04 AM
Hi Nico,
Thanks for that, we haven't tried the inboundqueue type since the requirement from the client is to simply play a message and disconnect the call so we were hoping to be able to transfer the call to an entrypoint with an announcement on it.
Did the entrypoint transfer work for you or do you know if it's supported? I believe I saw it on the documentation but not 100% sure, as a workaround we are currently using the blindtransfer method to send calls to the entrypoint DDI but vteamtransfer seems like a better option than the blindtransfer one hence the reason why we would like to ideally get it working.
regards,
Unai
05-26-2022 04:17 PM
Hello Unai,
Now that I got the inboundqueue to work, I will try ithe Transfer again using the entrypoint. I should be able to get back to you within 24hrs.
regards,
Niko
05-27-2022 07:31 AM
Hi Unai,
I was able to test vteamTransfer with inboundentrypoint, and it works. I can say with confidence its supported.
If its still not working for you, I would maybe double-check your interactionId. You can always grab/verify it from the browser console/dev tools and plug it into your code while still on a call, for testing purposes.. etc....
Below is the code snippet that Im using as well as a snippet of the dev tools console....
// Initiate a transfer async transferToEP() { let interactionId = await this.getInfo(); let response = await Desktop.agentContact.vteamTransfer({ interactionId, data: { vteamId: "AXeMrO7Vwb-tZrANz1q_", // replace with your onw Queue vteamType: "inboundentrypoint" } }); logger.info("myTransfer" + JSON.stringify(response)); }
{"EP_ID":"c2812fe6-e81b-4dc4-9286-0e17fe645653","QMgrName":"aqm","QueueId":"6a130f33-97d7-46e6-a286-fc9ee6f34968","ROUTING_TYPE":"queueBasedRouting","ani":"+1nnnnnnnnnn","dnis":"+1nnnnnnnnn,"fceRegisteredEvents":"","mohFileName":"defaultmusic_on_hold.wav","priority":"10","routingStrategyId":"783c3b5a-8e31-43eb-b1a7-f20f49923511","taskToBeSelfServiced":"false","tenantId":"328","vteamId":"6a130f33-97d7-46e6-a286-fc9ee6f34968","workflowId":"626cabf3bb9ec16a540f21ab","workflowName":"test_v2_generic"},"contactDirection":{"type":"INBOUND"},"currentVTeam":"6a130f33-97d7-46e6-a286-fc9ee6f34968","interactionId":"1ca251b8-7050-42f6-b170-6518762a9098",
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