Skip to content

ChatBotCom/chat-widget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 

Repository files navigation

Chat Widget API

Hooks

onBeforeLoad

Callback function invoked when widget code is loaded but chat window is not rendered yet. You can return false to stop the widget initialization.

window.BE_API = window.BE_API || {};

window.BE_API.onBeforeLoad = function () {
    // return false
};

onLoad

Callback function invoked when widget code is loaded and chat window is rendered.

window.BE_API = window.BE_API || {};

window.BE_API.onLoad = function () {
    // ...
};

onDestroy

Callback function invoked after destroy() API method call.

window.BE_API = window.BE_API || {};

window.BE_API.onDestroy = function () {
    // ...
};

onSessionReset

Callback function invoked after resetSession() API method call.

window.BE_API = window.BE_API || {};

window.BE_API.onSessionReset = function () {
    // ...
};

onChatWindowOpen

Callback function invoked when the chat window is opened.

window.BE_API = window.BE_API || {};

window.BE_API.onChatWindowOpen = function () {
    // ...
};

onChatWindowClose

Callback function invoked when the chat window is closed.

window.BE_API = window.BE_API || {};

window.BE_API.onChatWindowClose = function () {
    // ...
};

onChatWindowHide

Callback function invoked when the chat window is hidden.

window.BE_API = window.BE_API || {};

window.BE_API.onChatWindowHide = function () {
    // ...
};

onMessage

Callback function invoked after query result.

window.BE_API = window.BE_API || {};

window.BE_API.onMessage = function (result) {
    console.log(result)
};

onConversationStart

Callback function invoked after the conversation starts.

window.BE_API = window.BE_API || {};

window.BE_API.onConversationStart = function () {
    // ...
};

onConversationEnd

Callback function invoked after the conversation ends.

window.BE_API = window.BE_API || {};

window.BE_API.onConversationEnd = function () {
    // ...
};

onMomentOpen

Callback function invoked after the moment window is opened.

window.BE_API = window.BE_API || {};

window.BE_API.onMomentOpen = function () {
    // ...
};

onMomentClose

Callback function invoked after the moment window is closed.

window.BE_API = window.BE_API || {};

window.BE_API.onMomentClose = function () {
    // ...
};

onMomentLoad

Callback function invoked after the moment window is loaded.

window.BE_API = window.BE_API || {};

window.BE_API.onMomentLoad = function () {
    // ...
};

Methods

create

Create chat widget if does not exist

window.BE_API = window.BE_API || {};

window.BE_API.onLoad = function () {
    window.BE_API.create();
};

destroy

Destroy chat widget if exist

window.BE_API = window.BE_API || {};

window.BE_API.onLoad = function () {
    window.BE_API.destroy();
};

openChatWindow

Open the chat window, should be used only inside window.BE_API.onLoad callback

window.BE_API = window.BE_API || {};

window.BE_API.onLoad = function () {
    window.BE_API.openChatWindow();
};

closeChatWindow

Close the chat window, should be used only inside window.BE_API.onLoad callback

window.BE_API = window.BE_API || {};

window.BE_API.onLoad = function () {
    window.BE_API.closeChatWindow();
};

hideChatWindow

Hide the chat window, should be used only inside window.BE_API.onLoad callback

window.BE_API = window.BE_API || {};

window.BE_API.onLoad = function () {
    window.BE_API.hideChatWindow();
};

isChatWindowOpened

Should be used only inside window.BE_API.onLoad callback. Returns true if the chat window is open.

window.BE_API = window.BE_API || {};

window.BE_API.onLoad = function () {
    window.BE_API.isChatWindowOpened();
};

isChatWindowClosed

Should be used only inside window.BE_API.onLoad callback. Returns true if the chat window is closed.

window.BE_API = window.BE_API || {};

window.BE_API.onLoad = function () {
    window.BE_API.isChatWindowClosed();
};

isChatWindowHidden

Should be used only inside window.BE_API.onLoad callback. Returns true if the chat window is hidden.

window.BE_API = window.BE_API || {};

window.BE_API.onLoad = function () {
    window.BE_API.isChatWindowHidden();
};

isInitialized

Returns true if the chat is initialized.

window.BE_API = window.BE_API || {};

window.BE_API.onLoad = function () {
    window.BE_API.isInitialized();
};

resetSession

Reset current session and recreate widget.

window.BE_API = window.BE_API || {};

window.BE_API.onLoad = function () {
    window.BE_API.resetSession();
};

sendMessage

Send a message as visitor.

Payload
parameter type description
payload.message String(1, 256) required Message
payload.postback String(1, 256) Postback
window.BE_API = window.BE_API || {};

window.BE_API.onLoad = () => {
    window.BE_API.sendMessage({
        message: 'message',
        postback: 'postback'
    })
}

sendTrigger

Only available for old builder scenarios.

Trigger the specific interaction.

Payload

parameter type description
payload String(1, 50) required Trigger name
window.BE_API = window.BE_API || {};

window.BE_API.onLoad = () => {
    window.BE_API.sendTrigger('custom_trigger')
}

openMoment

Open moment.

Payload
parameter type description
payload.url String(1, 2048) required Url
payload.height String(full, tall, compact) Height
window.BE_API = window.BE_API || {};

window.BE_API.onLoad = () => {
    window.BE_API.openMoment({
        url: 'https://exampledomain.com',
        height: 'tall'
    })
}

closeMoment

Closes opened "moment"

setSessionAttributes

Set your custom attributes that will be sent to the query. Each method call will overwrite existing parameters. Read more about attributes here: https://www.chatbot.com/docs/talk-with-bot/#parameters

Payload

parameter type description
Object Object( Entry Object(1, 99) ) required Object with entries

Entry Object

parameter type description
key String(1, 128) Attribute name
value String(1, 1024) Attribute value
window.BE_API = window.BE_API || {};

window.BE_API.onLoad = () => {
    window.BE_API.setSessionAttributes({
        email: '[email protected]',
        name: 'ChatBot Support'
    })
}

setUserAttributes

Set user attributes. Read more about user attributes here:

https://www.chatbot.com/docs/users#update-user

Payload

parameter type description
Object Object( Entry Object(1, 99) ) required Object with entries

Entry Object

parameter type description
key String(1, 128) Attribute name
value String(1, 1024) Attribute value
window.BE_API = window.BE_API || {};

window.BE_API.onLoad = () => {
    window.BE_API.setUserAttributes({
        email: '[email protected]',
        name: 'ChatBot Support'
    })
}

getUserData

Returns the data of the current user.

endChat

Ends an active conversation.

hideGreeting

Hides active greeting

showGreeting

Shows greeting.

Payload
parameter type description
message String(1, 256) required Greeting message
window.BE_API = window.BE_API || {};

window.BE_API.onLoad = () => {
    window.BE_API.showGreeting('Greeting message')
}

About

[ChatBot.com] Chat Widget - Javascript API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published