Pular para o conteúdo principal
DocumentaçãoWidget web
Versão 0.3.1Navegador moderno com JavaScript ativado

Widget web SDK: Referência da API

Widget web: APIs tipadas do navegador para o loader DobroDesk, o ciclo de vida do widget, a aparência, os eventos e as ações do host.

Nesta página

Configuração

integrationId

Obrigatório

Identificador público da integração copiado do canal do widget DobroDesk.

integrationId
string

launcher

Valor padrão: default

Opções de navegação nativa e de apresentação do launcher ou painel web.

launcher
"default" | "hidden" = "default"

locale

Valor padrão: auto

Locale do widget para o conteúdo. A web usa auto por padrão; os bundles nativos aceitam atualmente en, uk, de e es.

locale
string? = "auto"

loaderUrl

Valor padrão: https://widget.dobrodesk.com/widget/loader/v1.min.js

URL do script loader versionado do navegador. Se omitida, o loader hospedado pela DobroDesk é usado.

loaderUrl
string?

appearance

Objeto compartilhado appearance-v2: cores, tipografia, layout e sombra dentro dos limites documentados.

appearance
DobroDeskWidgetAppearance?

appearanceElement

Objeto compartilhado appearance-v2: cores, tipografia, layout e sombra dentro dos limites documentados.

appearanceElement
HTMLElement?

container

Opções de navegação nativa e de apresentação do launcher ou painel web.

container
HTMLElement?

identityToken

Uma função do backend que retorna um JWT de cliente assinado e de curta duração. O segredo fica fora do aplicativo.

identityToken
string?

helpCenterHandoffToken

Atualiza uma identidade assinada de curta duração ou um token de transferência para o Help Center.

helpCenterHandoffToken
string?

openOnReady

Valor padrão: false

Opções de navegação nativa e de apresentação do launcher ou painel web.

openOnReady
boolean?

previewContext

Contexto JSON limitado fornecido a ações do host registradas explicitamente.

previewContext
DobroDeskWidgetPreviewContext?

prefill

Contexto JSON limitado fornecido a ações do host registradas explicitamente.

prefill
DobroDeskWidgetPrefill?

context

Contexto JSON limitado fornecido a ações do host registradas explicitamente.

context
DobroDeskWidgetContext?

hostActions

Callbacks permitidos do aplicativo para ações guiadas do widget. Eles não autenticam solicitações de rede.

hostActions
Record<string, DobroDeskWidgetHostActionHandler>?

Ciclo de vida e conversa

createDobroDeskWidget

Cria o cliente e valida a configuração.

createDobroDeskWidget
createDobroDeskWidget(options: DobroDeskWidgetOptions) -> DobroDeskWidgetClient

Parâmetros

options.integrationIdstringObrigatório
Identificador público da integração copiado do canal do widget DobroDesk.
options.loaderUrlstring?
A origem da API usa HTTPS em produção. Os clientes nativos permitem HTTP em localhost para desenvolvimento.
options.openOnReadyboolean?
Opções de navegação nativa e de apresentação do launcher ou painel web.
Erros
  • widget_context_invalid
  • widget_mount_container_invalid
  • widget_appearance_invalid

ready

É resolvido quando o carregamento do loader web e o handshake com o frame terminam.

ready
ready: Promise<void>

open / close / toggle

Abre o painel do widget.

open / close / toggle
open(): void; close(): void; toggle(): void

hide / show

Oculta a apresentação do widget.

hide / show
hide(): void; show(): void

logout

Encerra a sessão e libera recursos opcionais.

logout
logout(): void

destroy

Destrói o page widget e libera a instância ativa.

destroy
destroy(): void

Apresentação do widget

setLauncherVisibility

Mostra ou oculta o launcher integrado sem fechar o widget.

setLauncherVisibility
setLauncherVisibility(visible: boolean): void

setLocale

Altera o locale do widget.

setLocale
setLocale(locale: string): void

prefill

Define os dados do cliente antes do início da conversa.

prefill
prefill(value: DobroDeskWidgetPrefill): void

setIdentityToken

Atualiza uma identidade assinada de curta duração ou um token de transferência para o Help Center.

setIdentityToken
setIdentityToken(token: string): void

setHelpCenterHandoffToken

Atualiza uma identidade assinada de curta duração ou um token de transferência para o Help Center.

setHelpCenterHandoffToken
setHelpCenterHandoffToken(token: string): void

setPreviewContext

Define o contexto de pré-visualização do operador mantido apenas em memória para o loader web.

setPreviewContext
setPreviewContext(context: DobroDeskWidgetPreviewContext): void

openHelp / openArticle

Abre a visualização de Help do widget.

openHelp / openArticle
openHelp(): void; openArticle(articleId: string): void

requestHuman

Solicita a transferência configurada para uma pessoa.

requestHuman
requestHuman(): void

setContext / getContext

Substitui o contexto limitado das ações do host.

setContext / getContext
setContext(value): void; getContext(): DobroDeskWidgetContext

Aparência e acessibilidade

updateAppearance

Aplica um override validado de aparência em tempo de execução.

updateAppearance
updateAppearance(appearance: DobroDeskWidgetAppearance): void
Erros
  • widget_appearance_invalid

resetAppearance

Restaura a aparência de execução para os valores do administrador ou fornecidos.

resetAppearance
resetAppearance(appearance?: DobroDeskWidgetAppearance): void

refreshAppearance

Lê novamente as variáveis CSS do host e aplica valores dentro dos limites.

refreshAppearance
refreshAppearance(hostElement?: HTMLElement): void

getAppearance

Retorna a aparência efetiva e a origem de seus campos.

getAppearance
getAppearance(): DobroDeskWidgetAppearanceSnapshot | null

Estado, carregamento e eventos

getState

Retorna o estado atual do widget sem assinar eventos.

getState
getState(): DobroDeskWidgetState

DobroDeskWidgetLoadingState

O estado de carregamento partilhado é idle, starting-session, loading-messages, sending-message, waiting-for-assistant, executing-action, reconnecting ou flushing-outbox.

DobroDeskWidgetLoadingState
{ active: boolean; phase: idle | initializing | loading-content | loading-session | sending-message | waiting-for-response | executing-action | reconnecting | error; operationId?; kind?; scope?; requestId?; actionId?; startedAt?; errorCode? }

DobroDeskWidgetEventType

Eventos nativos e de wrappers usam o envelope compartilhado de carregamento, sessão, snapshot, mensagem aceita, erro e sessão limpa.

DobroDeskWidgetEventType
opened | closed | conversationStarted | messageSent | messageReceived | formSubmitted | handoffRequested | handoffStateChanged | unreadCountChanged | actionProposed | actionConfirmed | actionCompleted | actionFailed | hostActionRequested | stateChanged | loadingChanged

onStateChange

Notifica o host quando o estado do widget muda.

onStateChange
onStateChange(listener): () => void

onLoadingChange

Notifica o host sobre as fases de carregamento e reconexão.

onLoadingChange
onLoadingChange(listener): () => void

on / off

Assina um evento nomeado do widget.

on / off
on(eventType, listener): () => void; off(eventType, listener): void

Erros

DobroDeskWidgetErrorCode

Trate códigos estáveis legíveis por máquina e mantenha os diagnósticos do servidor fora da interface do cliente.

DobroDeskWidgetErrorCode
widget_ready_timeout | widget_context_invalid | widget_mount_container_invalid | widget_appearance_invalid | host_action_failed | host_action_invalid_result | host_action_timeout | widget_logged_out | widget_identity_changed | widget_destroyed