Search
K

Chat widget API

With the Chat widget API it is possible to control the chat widget's behavior and call the JavaScript methods listed below. For example, you can trigger scenarios, hide the chat window or set attributes into an existing conversation.
The chat widget API is active whenever an Ebbot chat widget is loaded on a page. It can be tested through the developer console.

Hooks

Use hooks to make the widget call a function.

onBeforeLoad

Callback function invoked when widget code is loaded but chat window is not rendered yet
window.Ebbot.onBeforeLoad = function(data) {
// ...
};

onLoad

Callback function invoked when widget code is loaded and chat window is rendered
window.Ebbot.onLoad = function(data) {
// ...
};

onReset

Callback function invoked when conversation is reset
window.Ebbot.onReset = function() {
// ...
};

onCreate

Callback function invoked after create() API method call.
window.Ebbot.onCreate = function() {
// ...
};

onDestroy

Callback function invoked after destroy() API method call.
window.Ebbot.onDestroy = function() {
// ...
};

onChatWindowOpen

Callback function invoked when the chat window is opened
window.Ebbot.onChatWindowOpen = function() {
// ...
};

onChatWindowClose

Callback function invoked when the chat window is closed
window.Ebbot.onChatWindowClose = function() {
// ...
};

onMessage

Callback function invoked after query result
window.Ebbot.onMessage = function(data) {
// ...
};

onBotMessage

Callback function invoked after a bot message is received
window.Ebbot.onBotMessage = function(data) {
// ...
};

onUserMessage

Callback function invoked after user types a message
window.Ebbot.onUserMessage = function(data) {
// ...
};

onStartConversation

Callback function invoked after query result
window.Ebbot.onStartConversation = function(data) {
// ...
};

Methods

Use methods to call a function in the widget.

create

Create chat widget if does not exist
window.Ebbot.create();

destroy

Destroy chat widget if exist
window.Ebbot.destroy();

initChatWindow

Displays chat conversation box and initialises the chat
window.ebbot.initChatWindow();

isInitialized

Returns true if the chat is initialized
window.Ebbot.isInitialized();

resetSession

Reset current session
window.Ebbot.resetSession();

openChatWindow

Open chat window
window.Ebbot.openChatWindow();

closeChatWindow

Close chat window
window.Ebbot.closeChatWindow();

isChatWindowOpened

Check if chat window is opened
window.Ebbot.isChatWindowOpened();

isChatWindowClosed

Check if chat window is closed
window.Ebbot.isChatWindowClosed();

sendMessage

Send Message
window.Ebbot.sendMessage("Hello !");

setUserAttribute

Set User Attribute
window.Ebbot.setUserAttribute({ test: "123" });

triggerScenario

Trigger Scenario
window.Ebbot.triggerScenario({
scenario: "scenarioId", // Found in the URL of a scenario
state: "stateId"
});

endChat

End Chat
window.Ebbot.endChat();

transcriptChat

Transcript chat
window.Ebbot.transcriptChat();

snoozeChat

Turn on/off chat notifications
window.Ebbot.snoozeChat();

isSnoozed

Check if notifications are on/off
window.Ebbot.isSnoozed();

hide

Hide the chat
window.Ebbot.hide();

show

Show the chat
window.Ebbot.show();

isHidden

Is the chat window hidden
window.Ebbot.isHidden();

clearChat

Clears all the messages from the chat window
window.Ebbot.clearChat();

isUserActive

Returns true if the user is/was active
window.Ebbot.isUserActive();

isConversationActive

Returns true if the conversation is started
window.Ebbot.isConversationActive();

getWidgetSize

Returns an object containing the width and height of the widget (including blob, if its not on mobile). As calculations depend on the open animation, it might take 500ms for the size to update.
window.Ebbot.getWidgetSize();