Access the UI functionality over the UI property.
Adds the label with the given labelName to the current visitor. This only adds the label as long as it exists, can be set on visitors and the visitor is allowed to set the label.
A promise that resolves empty when the operation is done or is rejected if it failed.
De-initializes the API. It will destroy the UI, all connections and will release all resources (as far as it is technically possible).
Afterwards the API can be initialized again via window.unblu.floating.api.initialize()
Returns the currently active conversation or null
if no conversation is active.
NOTE: calling this method twice while the same conversation is active, will result in two individual conversation API instances being returned. destroying one of them will not cause the other one to also be destroyed. If however the active conversation is closed, all returned Conversation instances will be destroyed.
A promise that either resolves to the currently active conversation or null
if no conversation is open.
Returns the current availability state for the current named area and language.
Promise that resolves to the current availability state.
isAgentAvailable for a simpler check.
Returns all conversations of the current visitor. If no conversation is present, an empty array is returned.
A promise that resolves to an array of [ConversationInfo]ConversationInfo.
Returns information about the visitor.
A promise that resolves to the current visitors person info.
Checks if an agent is available for the current named area and language.
Promise that resolves to true
if the availability state is [AVAILABLE]AgentAvailabilityState.AVAILABLE or [BUSY]AgentAvailabilityState.BUSY, false
otherwise.
getAgentAvailabilityState for a more detailed check.
Joins an existing conversation with a given PIN.
NOTE: calling this method will NOT automatically open the Unblu UI if it is collapsed. Use [ui.openIndividualUi()]UnbluUiApi.openIndividualUi if this is needed.
The PIN retrieved from the Unblu Agent Desk.
Optional
visitorName: stringThe name the local visitor should have. This is only taken into account if the visitor is not already authenticated.
A promise that resolves to the conversation object giving API access to the joined conversation.
Logs the current visitor in using the authenticator/loginWithSecureToken
web API endpoint.
Depending on the configuration, existing conversation may will be transferred to the authenticated user.
The access token (JWT) to authenticate the visitor with
A promise that resolves empty if the login succeeds or is rejected if it fails
Registers an event listener for the given event.
The activeConversationChange event.
The listener to be called.
Registers an event listener for the given event.
The conversationsChanged event.
The listener to be called.
Registers an event listener for the given event.
The notificationCountChanged event.
The listener to be called.
Registers an event listener for the given event.
The personChange event.
The listener to be called.
Registers an event listener for the given event.
The personActivity event.
The listener to be called.
Registers an event listener for the given event.
The agentAvailableChange event.
The listener to be called.
Registers an event listener for the given event.
The agentAvailabilityChange event.
The listener to be called.
Registers an event listener for the given event.
The deinitializing event.
The listener to be called.
Registers an event listener for the given event.
The deinitialized event.
The listener to be called.
Opens the existing conversation with the given conversation ID.
NOTE: calling this method will NOT automatically open the Unblu UI if it is collapsed. Use [ui.openIndividualUi()]UnbluUiApi.openIndividualUi if this is needed.
The id of the conversation to be opened.
A promise that resolves to the conversation object giving API access to the opened conversation.
Removes the label with the given labelName from the current visitor. This only removes the label as long as the visitor has the label applied to themselves and the visitor is allowed to remove the label.
A promise that resolves empty when the operation is done or is rejected if it failed.
Set a custom interceptor which will be triggered when a new conversation is started (initiated from UI or JavaScript).
The interceptor which is called before a new conversation is started. The Callback is of type [NewConversationCallback]NewConversationInterceptor
A promise that resolves when the interceptor is successfully applied and active.
Starts a new Conversation and places it into the inbound conversation queue.
Starting a new conversation involves an agent availability check. For ConversationType.OFFLINE_CHAT_REQUEST conversations, the check proceeds as follows:
For all online
conversation types, the check works as follows:
You should therefore always check agent availability before starting a new conversation. If no agents are available, only start conversations of the type ConversationType.OFFLINE_CHAT_REQUEST.
NOTE: calling this method will NOT automatically open the Unblu UI if it is collapsed. Use [ui.openIndividualUi()]UnbluUiApi.openIndividualUi if this is needed.
The conversation type that shall be started.
Optional
visitorName: stringThe name the local visitor should have. This is only taken into account if the visitor is not already authenticated.
Optional
visitorData: stringCustom data for the visitor in any format. NOTE: The data which is passed here could be used in [NewConversationCallback]NewConversationInterceptor
Optional
recipient: NewConversationRecipientThe team or agent recipient of the conversation. This will overwrite any named area that might be set for this web page. NOTE: The data which is passed here could be used in [NewConversationCallback]NewConversationInterceptor
A promise that resolves to the conversation object giving API access to the started conversation.
Static
Readonly
ACTIVE_Event emitted every time the active conversation changes.
This may happen due to a UI-navigation or an API-call.
activeConversationChange
Static
Readonly
AGENT_Event emitted every time the agent availability state changes for the current named area and locale.
availabilityChange
Static
Readonly
AGENT_Event emitted every time the agent availability changes for the current named area and locale.
availableChange
Static
Readonly
CONVERSATIONS_Event emitted every time one of the conversations accessible to the current user changes or one is added or removed.
conversationsChanged
Static
Readonly
DEINITIALIZEDEvent emitted when this instance got de-initialized and has to be initialized again.
deinitialized
Static
Readonly
DEINITIALIZINGEvent emitted when this instance gets de-initialized and is not usable at the time until it fully got de-initialized.
deinitializing
Static
Readonly
NOTIFICATION_Event emitted every time the notification count (unread messages) changes.
notificationCountChange
Static
Readonly
PERSON_Event emitted every time the local person has some activity inside Unblu. This may be i.e. an interaction with the chat, a call, opening a conversation or interacting with a co-browsing layer.
The event can be used to reset the logout timer inside an authenticated area, for example.
The configuration property com.unblu.conversation.activity.activityCategoriesToTrack specifies which categories of activity trigger the event.
personActivity
Static
Readonly
PERSON_Event emitted every time the local person changes. This may be i.e. due to the person setting its name.
personChange
This class represents the initialized Unblu Floating JS API.
There is only ever one instance of this api which can be retrieved via
unblu.floating.api.initialize()
. See UnbluStaticApi for more details on configuring and initializing the UnbluApi.The API connects to the integrated version of Unblu. All actions performed via the UnbluApi are executed in the name of and with the rights of current visitor and may have direct effect on the displayed Unblu UI.
For example if a conversation is started from the UnbluApi, the Unblu UI will navigate to it. If a conversation is closed via the API, it will also be closed on the Unblu UI of the visitor. For more information on UI side effects please check the documentation for each method call.
For programmatic administrator access and configuration of Unblu please use the Unblu WebAPI.