I am writing a WDE extension and I need, at some point in the execution (within the lifetime of a chat interaction) to modify the customer’s e-mail address in UCS (and, if possible, also in the interaction itself).
Does anyone know how I can do that? Thank you in advance.
Note: I need to do this programmatically in my WDE extension, so please do not suggest modifying strategies, using Genesys Administrator or anything other than using Platform/Enterprise SDK.
I would love to, but I’m afraid I don’t know how to access the contacts protocol to send that request in WDE. I searched the web and explored the DLLs, but I couldn’t find the way. Could you please show me how?
Edit: never mind, I found a way to obtain the protocol.
IChannelService channelService = container.Resolve<IAgent>().EntrepriseService.Resolve<IChannelService>("channelService");
IClientChannel[] clientChannelArray = channelService.ListChannels();
foreach (IClientChannel clientChannel in clientChannelArray)
{
if (clientChannel.Protocol is UniversalContactServerProtocol)
{
UniversalContactServerProtocol universalContactServerProtocol = clientChannel.Protocol as UniversalContactServerProtocol;
break;
}
}
We were able to make the request to UCS, and the response was successful, but then when the chat which was open at the time was closed, and a new one came in, the contact details were back to what they used to be.
Does WDE overwrite the contact details when an interaction is closed (or something similar)?