I want to create a different interface from where the agent can reply to the social miner chat. Social miner exposes the client side API through which I can pretty UI for chatting. Is there any way I can make an agent reply to the chat in a different interface? I am assuming that by using the Social Miner XMPP notifications, I will get the all the messages sent by the client, which I will open in a different interface. Using this interface the agent will reply to the chat, and I will use the agent API if available to send the message back to the client.
The image below indicates the flow that I want to achieve
Thanks for explaining your question very well, the diagram is very useful.
Just to understand your deployment - Is this a standalone SocialMiner, or is this SocialMiner deployed as part of the Unified CCX solution?
The current agent interface for chat in SocialMiner is built as an OpenSocial gadget that can be embedded into any OpenSocial gadget container (such as Apache Shindig) outside of SocialMiner UI itself.
The agent chat gadget connects to the XMPP server inside SocialMiner server (using a protocol called BOSH) and sends/receives chat messages via this channel using standard XMPP messages. Along with this, it also handles several actions related to contact state changes, failure scenarios, etc.
Coming to XMPP notifications - these notifications are just to indicate the event that a new chat request has been submitted by a customer into a chat feed (as part of a campaign). It indicates details and metadata about the incoming chat request, and a link to go back to SocialMiner UI to accept the chat request and connect to the customer. The chat media flow (messages) does not follow this path.
In theory, it might be possible to program an XMPP client to behave as the agent-side chat interface. However, in addition to this, things like contact state management etc. also have to be handled by that (and considerations such as authentication etc. need to be taken care of).
Unfortunately, we have not explored the possibility of exposing and documenting agent-side chat interfaces for 3rd-party developers so far, keeping all the above considerations and complexities in mind. Only the customer-side chat interfaces are made available as a clean set of REST APIs that can be used to integrate 3rd-party apps/services with SocialMiner.
Thank you for your comprehensive answer. The social miner is deployed as part of the Unified CCX solution. Is there any document available through which I can embed the social miners chat gadget to any other container like shindig? I tried doing this with finesse non voice gadget but that is not supported and did not work out for me as mentioned here