Dominik_Libner
October 21

Anyway the custom flag to track starts and stops for interactions seems to be the solution. Thank you.


Visit Topic to respond.


In Reply To

Dominik_Libner
October 21
I can see now why we struggled to understand :slight_smile: I was talking about a form automatically displayed at page without any interaction (no chat button in the right corner - just an optional form as a part of the page). And you are talking about a form that shows up on intentional click on t…

Previous Replies

Dominik_Libner
October 21

I can see now why we struggled to understand :slight_smile: I was talking about a form automatically displayed at page without any interaction (no chat button in the right corner - just an optional form as a part of the page).
And you are talking about a form that shows up on intentional click on the custom button.

edgars.dudins
October 21

It is a bit hard to understand your initial setup which you expect to achieve, but I will assume its a button on the bottom right corner, which if you press shows up a form if conversation is new, but opens a chat if it is not.

If you use native Messenger button at the bottom right, I feel like it will create really flickery animations and really weird behaviour, the way I would set that up is create custom chat launcher button, which acts like this on press:

  • Loads only when SDK loads successfully with the plugins needed.
  • Conversations.ready - base plugin ready event for further initial chat launches
  • Conversations.started - event that can be used to determine when chat is initially launched (for example chat has initially started, customer minimizes chat, opens chat again -> the form does not open, because Conversations.started has marked a flag that there is chat already on-going)
  • MessagingService.ready - base plugin ready event for the further command which is used when page refreshes, redirects happen
  • MessagingService.restored - event that can be used to see that conversation is on-going for the page refreshes, redirects to other pages within a website (for example there is chat on-going, customer redirects to another page OR refreshes the page, customer opens a chat, chat immediately opens without a form, because MessagingService.restored has marked a flag that there is on-going conversation already from previous website visits)

In Genesys Messenger Configuration do following:

  • Hide chat launcher button, since you will open chat via this custom button with commands and code.

For this approach of course, remember to cover all scenarios:

  • Set flags for on-going conversation as false if customer clicks on the trash icon in chat (if you allow it) when they want to clear conversation, because it clears out participant data and form needs to be shown again.
  • If aschronous chat 72 hours sessions runs out, then session is cleared out and history is erased, but no need to add additional checks for that, since then MessagingService.restored will show that there is no on-going conversations which will force form to appear.
Dominik_Libner
October 21

My form is hidden by default. I load the SDK and wait for the Messenger.ready event. On that event, I need to know whether to show the form, but the only events available for subscribtion are those informing about a running conversation (which would hide the form). In there was no conversation at all, there is no way to show the form other than setting a timeout for X seconds and waiting for conversation restoration. If the time elapses, the form will be show. I don't find this solution elegant.

Am I missing something? Isn't there a straightforward way to explicitly define whether there is a conversation to restore when the SDK is ready?

edgars.dudins
October 18

Launcher.visible if I am correct is being displayed every time that circle button appears, which opens the chat, no matter if it is started or not.

Could I ask you if you use any custom button for the form to appear?

Because actually our web devs have achieved similar functionality and it went successfully. Probably it is a good point to show Form and Web Messaging only when all the plugins have loaded successfully and load the form only when there is not on-going conversation & hide chat by that time and launch it only when form is fulfilled.

The main idea if you want everything to fire in proper way, allow SDK to fully load and then perform actions on it, if the idea is understandable. Because if you make the form appear immediately when site is launched, you do not leave any space of time for SDK to do its actions on back-end, because it has to load all the plugins.

Dominik_Libner
October 17

Thank you for your answer. Technicaly "MessagingService.restoring" is equivalent to "Launcher.visible" for me because it indicates that Messenger is going to be displayed and I don't want to show my form component. This scenario is still "event racing" because I would like to show my form component as soon as possible if there is no session to restore. I actually need an information that there is no session to restore when "Messenger.ready".

Concept:

Genesys("subscribe", "Messenger.ready", function(data){
        if(!data.session){
              //show form component
        }else{
              //do not show form component
        }
});

Can you see any equivalent solution for this?


Visit Topic to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, click here.