Ir al contenido principal
DocumentaciónWidget web
Versión 0.3.1Navegador moderno con JavaScript activado

Widget web SDK: Referencia de la API

Widget web: APIs tipadas del navegador para el loader de DobroDesk, el ciclo de vida del widget, la apariencia, los eventos y las acciones del host.

En esta página

Configuración

integrationId

Obligatorio

Identificador público de integración copiado del canal de widget de DobroDesk.

integrationId
string

launcher

Valor predeterminado: default

Opciones de navegación nativa y de presentación del launcher o panel web.

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

locale

Valor predeterminado: auto

Locale del widget para el contenido. La web usa auto de forma predeterminada; los bundles nativos admiten actualmente en, uk, de y es.

locale
string? = "auto"

loaderUrl

Valor predeterminado: https://widget.dobrodesk.com/widget/loader/v1.min.js

URL del script loader versionado del navegador. Si se omite, se usa el loader alojado por DobroDesk.

loaderUrl
string?

appearance

Objeto compartido appearance-v2: colores, tipografía, diseño y sombra dentro de los límites documentados.

appearance
DobroDeskWidgetAppearance?

appearanceElement

Objeto compartido appearance-v2: colores, tipografía, diseño y sombra dentro de los límites documentados.

appearanceElement
HTMLElement?

container

Opciones de navegación nativa y de presentación del launcher o panel web.

container
HTMLElement?

identityToken

Una función del backend que devuelve un JWT de cliente firmado y de corta duración. El secreto nunca va en la aplicación.

identityToken
string?

helpCenterHandoffToken

Actualiza una identidad firmada de corta duración o un token de transferencia al Help Center.

helpCenterHandoffToken
string?

openOnReady

Valor predeterminado: false

Opciones de navegación nativa y de presentación del launcher o panel web.

openOnReady
boolean?

previewContext

Contexto JSON limitado proporcionado a acciones del host registradas explícitamente.

previewContext
DobroDeskWidgetPreviewContext?

prefill

Contexto JSON limitado proporcionado a acciones del host registradas explícitamente.

prefill
DobroDeskWidgetPrefill?

context

Contexto JSON limitado proporcionado a acciones del host registradas explícitamente.

context
DobroDeskWidgetContext?

hostActions

Callbacks permitidos de la aplicación para acciones guiadas del widget. No autentican solicitudes de red.

hostActions
Record<string, DobroDeskWidgetHostActionHandler>?

Ciclo de vida y conversación

createDobroDeskWidget

Crea el cliente y valida la configuración.

createDobroDeskWidget
createDobroDeskWidget(options: DobroDeskWidgetOptions) -> DobroDeskWidgetClient

Parámetros

options.integrationIdstringObligatorio
Identificador público de integración copiado del canal de widget de DobroDesk.
options.loaderUrlstring?
El origen de API usa HTTPS en producción. Los clientes nativos permiten HTTP en localhost para desarrollo.
options.openOnReadyboolean?
Opciones de navegación nativa y de presentación del launcher o panel web.
Errores
  • widget_context_invalid
  • widget_mount_container_invalid
  • widget_appearance_invalid

ready

Se resuelve cuando terminan la carga del loader web y el handshake con el frame.

ready
ready: Promise<void>

open / close / toggle

Abre el panel del widget.

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

hide / show

Oculta la presentación del widget.

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

logout

Finaliza la sesión y libera capacidades opcionales.

logout
logout(): void

destroy

Destruye el page widget y libera la instancia activa.

destroy
destroy(): void

Presentación del widget

setLauncherVisibility

Muestra u oculta el launcher integrado sin cerrar el widget.

setLauncherVisibility
setLauncherVisibility(visible: boolean): void

setLocale

Cambia el locale del widget.

setLocale
setLocale(locale: string): void

prefill

Establece los datos del cliente antes de iniciar la conversación.

prefill
prefill(value: DobroDeskWidgetPrefill): void

setIdentityToken

Actualiza una identidad firmada de corta duración o un token de transferencia al Help Center.

setIdentityToken
setIdentityToken(token: string): void

setHelpCenterHandoffToken

Actualiza una identidad firmada de corta duración o un token de transferencia al Help Center.

setHelpCenterHandoffToken
setHelpCenterHandoffToken(token: string): void

setPreviewContext

Establece el contexto de vista previa del operador en memoria para el loader web.

setPreviewContext
setPreviewContext(context: DobroDeskWidgetPreviewContext): void

openHelp / openArticle

Abre la vista de Help del widget.

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

requestHuman

Solicita la transferencia configurada a una persona.

requestHuman
requestHuman(): void

setContext / getContext

Reemplaza el contexto limitado de las acciones del host.

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

Apariencia y accesibilidad

updateAppearance

Aplica un override de apariencia validado en tiempo de ejecución.

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

resetAppearance

Restablece la apariencia de ejecución a los valores del administrador o proporcionados.

resetAppearance
resetAppearance(appearance?: DobroDeskWidgetAppearance): void

refreshAppearance

Vuelve a leer las variables CSS del host y aplica valores dentro de los límites.

refreshAppearance
refreshAppearance(hostElement?: HTMLElement): void

getAppearance

Devuelve la apariencia efectiva y el origen de sus campos.

getAppearance
getAppearance(): DobroDeskWidgetAppearanceSnapshot | null

Estado, carga y eventos

getState

Devuelve el estado actual del widget sin suscribirse.

getState
getState(): DobroDeskWidgetState

DobroDeskWidgetLoadingState

El estado de carga compartido es idle, starting-session, loading-messages, sending-message, waiting-for-assistant, executing-action, reconnecting o 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

Los eventos nativos y de wrappers usan el envelope compartido de carga, sesión, snapshot, mensaje aceptado, error y sesión eliminada.

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

onStateChange

Notifica al host cuando cambia el estado del widget.

onStateChange
onStateChange(listener): () => void

onLoadingChange

Notifica al host las fases de carga y reconexión.

onLoadingChange
onLoadingChange(listener): () => void

on / off

Se suscribe a un evento del widget por nombre.

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

Errores

DobroDeskWidgetErrorCode

Gestiona códigos estables legibles por máquinas y mantén los diagnósticos del servidor fuera de la interfaz del 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