Fernando_Borcel | 2023-03-14 13:13:32 UTC | #1
Hi. We have an application that sends Facebook Wall messages to Genesys Cloud through Open Messaging. We have a use case where one customer could send messages to different publications on FB wall, and write answers on different comments, which create a situation where that customer will have several open, independent conversation threads, all routed to Genesys.
Is it possible to create separate open conversations in Genesys for the same user ID? What would the correct way to handle this situation (i.e. one facebook user, many conversation threads) be?
Thank you,
Fernando
Zino_Onokpise | 2023-03-14 15:51:32 UTC | #2
Hi Fernando_Borcel,
GC conversation is not really meant for this usage, so it's likely not going to work perfectly here. Messaging conversation is 1 to 1 mapping, between endUser and IntegrationId (open integration here). So you would need to have an open integration per "different publications on FB wall" i think
OR they could use a different customer userid per FB publication, but same Open messaging integration. and then do some mapping on the open connector tying it back together.
that way on GC Conversation side it would be represented as Many conversations (unique end user id on each)
Fernando_Borcel | 2023-03-16 14:28:21 UTC | #3
Hi Zino, thank you for your response. Our current approach is, precisely, to inform a "From" based on a concatenation of user id and publication & message ID. With this approach, we can handle simultaneous conversations from the same user, however, from Genesys standpoint, each conversation is for a different user. The problem with that is that although technically it works, the conversation is not automatically associated with a specific external contact, forcing the agent to manually assign the external contact for each conversation.
We're going to try achieving this using a data action that invokes GET /api/v2/externalcontacts/contacts to look for the contact, and then another data action that calls PUT /api/v2/externalcontacts/conversations/{conversationId} to set the external contact for the conversation, and see if we can get the desired results.
I'm not exactly sure how to form the "q" query string on the search contact data action, though.
I'll love to hear your thoughts on it. Thanks!
Taylor_Jones | 2023-03-22 16:24:01 UTC | #4
The ?q= parameter is a string that will be matched on all searchable fields of the contact. Most string fields are full-text searchable, and any match will cause the entire contact to be returned. For instance, you could use this to find all the contacts that have "bobby" on a field in their body:
GET https://api.mypurecloud.com/api/v2/externalcontacts/contacts?q=bobby
With your use-case that might be sufficient, but it will depend on how precise the lookup needs to be. If the string you are looking for is fairly unique, then your search will likely return a single contact each time. If it is not, it might return many contacts.
system | 2023-04-22 14:33:12 UTC | #5
This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.
This post was migrated from the old Developer Forum.
ref: 18888