The field 'Disconnect type' in Interactions page (Performance->Interactions (tabular view)) shows values (EXTERNAL, AGENT, etc) that are not listed under possible values for Disconnect type as per Genesys's documentation (https://developer.genesys.cloud/api/rest/v2/notifications/available_topics ) within the data feed for topic v2.routing.queues.{id}.conversations. We noticed that each participant in the interaction can have a disconnect type, which means that one interaction can have multiple disconnect types. It seems that exists a business logic that rollups the call segments into a single row and set a general value for the Disconnect Type.
I 'd like to know the business logic (algorithm) with regards to disconnect type values observed in the page Performance -> Interactions, so we can mimic this behavior in our system.
Thanks for the reply.
Ronan, I already had a look at this link awhile ago. Unfortunately the answer there doesn't map all the possible values and rules so I still can't simulate same behavior in my application.
The answer in the link you mentioned just give two examples as follow:
"If internal participant (the Contact Center Agent) is equal to peer, and the external (the customer) is equal to endpoint --> it means the customer hung up. Therefore "External" on the UI.
If internal participant (the contact center agent using Genesys Web Desktop with WebRTC) is equal to client, and the external (the customer) is equal to peer -> it means the agent hung up. Therefore "Agent" on the UI."
By the end it says:
"I don't think the mapping done by UI is documented somewhere."
Observe the quantity of possible values the disconnect type can have:
The only publicly available information I could source was the following mappings from the interactions view help article:
System: The cloud or the provider caused the disconnect. Agent: An agent caused the disconnect. For example, an agent clicked End Call during a voice interaction, or the agent hung up their physical phone, or the browser closed while using the Genesys Cloud WebRTC phone. External: The external participant in the conversation caused the disconnect. For example, the customer hung up their phone, or their browser closed during the interaction.
The mapping logic is closed source code so unfortunately I can't share that on a public forum. I hope this helps.