Перейти до основного вмісту
ДокументаціяВебвіджет
Версія 0.3.1Сучасний браузер із увімкненим JavaScript

Вебвіджет SDK: Довідник API

Вебвіджет: Типізований API браузера для loader DobroDesk, життєвого циклу віджета, вигляду, подій і host actions.

На цій сторінці

Конфігурація

integrationId

Обов'язковий

Публічний ідентифікатор інтеграції з каналу віджета DobroDesk.

integrationId
string

launcher

Значення за замовчуванням: default

Налаштування нативної навігації та показу web launcher або панелі.

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

locale

Значення за замовчуванням: auto

Локаль віджета для контенту. Web за замовчуванням використовує auto; нативні bundle зараз підтримують en, uk, de та es.

locale
string? = "auto"

loaderUrl

Значення за замовчуванням: https://widget.dobrodesk.com/widget/loader/v1.min.js

URL версійованого браузерного loader script. Якщо не вказати, використовується loader DobroDesk.

loaderUrl
string?

appearance

Спільний об'єкт appearance-v2: кольори, типографіка, компонування й тіні в задокументованих межах.

appearance
DobroDeskWidgetAppearance?

appearanceElement

Спільний об'єкт appearance-v2: кольори, типографіка, компонування й тіні в задокументованих межах.

appearanceElement
HTMLElement?

container

Налаштування нативної навігації та показу web launcher або панелі.

container
HTMLElement?

identityToken

Функція бекенду, що повертає короткоживучий підписаний JWT клієнта. Секрет підпису не можна зберігати в застосунку.

identityToken
string?

helpCenterHandoffToken

Оновлює короткоживучу підписану особу або токен передачі до Help Center.

helpCenterHandoffToken
string?

openOnReady

Значення за замовчуванням: false

Налаштування нативної навігації та показу web launcher або панелі.

openOnReady
boolean?

previewContext

Обмежений JSON-контекст для явно зареєстрованих дій хоста.

previewContext
DobroDeskWidgetPreviewContext?

prefill

Обмежений JSON-контекст для явно зареєстрованих дій хоста.

prefill
DobroDeskWidgetPrefill?

context

Обмежений JSON-контекст для явно зареєстрованих дій хоста.

context
DobroDeskWidgetContext?

hostActions

Дозволені callback-функції застосунку для керованих дій віджета. Вони не автентифікують мережеві запити.

hostActions
Record<string, DobroDeskWidgetHostActionHandler>?

Життєвий цикл і розмова

createDobroDeskWidget

Створює клієнт і перевіряє конфігурацію інтеграції.

createDobroDeskWidget
createDobroDeskWidget(options: DobroDeskWidgetOptions) -> DobroDeskWidgetClient

Параметри

options.integrationIdstringОбов'язковий
Публічний ідентифікатор інтеграції з каналу віджета DobroDesk.
options.loaderUrlstring?
У продакшені API origin має бути HTTPS. Нативні клієнти дозволяють HTTP localhost для розробки.
options.openOnReadyboolean?
Налаштування нативної навігації та показу web launcher або панелі.
Помилки
  • widget_context_invalid
  • widget_mount_container_invalid
  • widget_appearance_invalid

ready

Виконується після завершення завантаження web loader і handshake з frame.

ready
ready: Promise<void>

open / close / toggle

Відкриває панель віджета.

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

hide / show

Ховає показ віджета.

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

logout

Завершує сесію клієнта й очищає додаткові можливості.

logout
logout(): void

destroy

Знищує page widget і звільняє активний екземпляр.

destroy
destroy(): void

Показ віджета

setLauncherVisibility

Показує або ховає вбудований launcher, не закриваючи віджет.

setLauncherVisibility
setLauncherVisibility(visible: boolean): void

setLocale

Змінює локаль віджета.

setLocale
setLocale(locale: string): void

prefill

Встановлює дані клієнта до початку розмови.

prefill
prefill(value: DobroDeskWidgetPrefill): void

setIdentityToken

Оновлює короткоживучу підписану особу або токен передачі до Help Center.

setIdentityToken
setIdentityToken(token: string): void

setHelpCenterHandoffToken

Оновлює короткоживучу підписану особу або токен передачі до Help Center.

setHelpCenterHandoffToken
setHelpCenterHandoffToken(token: string): void

setPreviewContext

Встановлює контекст попереднього перегляду оператора лише в пам'яті для web loader.

setPreviewContext
setPreviewContext(context: DobroDeskWidgetPreviewContext): void

openHelp / openArticle

Відкриває розділ Help у віджеті.

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

requestHuman

Запитує налаштовану передачу діалогу людині.

requestHuman
requestHuman(): void

setContext / getContext

Замінює обмежений контекст дій хоста.

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

Вигляд і доступність

updateAppearance

Застосовує перевірене runtime-перевизначення вигляду.

updateAppearance
updateAppearance(appearance: DobroDeskWidgetAppearance): void
Помилки
  • widget_appearance_invalid

resetAppearance

Скидає runtime-вигляд до значень адміністратора або переданих значень.

resetAppearance
resetAppearance(appearance?: DobroDeskWidgetAppearance): void

refreshAppearance

Повторно читає CSS-змінні host і застосовує значення в дозволених межах.

refreshAppearance
refreshAppearance(hostElement?: HTMLElement): void

getAppearance

Повертає ефективний вигляд і джерела його полів.

getAppearance
getAppearance(): DobroDeskWidgetAppearanceSnapshot | null

Стани, завантаження та події

getState

Повертає поточний стан віджета без підписки.

getState
getState(): DobroDeskWidgetState

DobroDeskWidgetLoadingState

Спільний стан завантаження має одне зі значень idle, starting-session, loading-messages, sending-message, waiting-for-assistant, executing-action, reconnecting або 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

Події native і wrapper використовують спільний envelope loading, session, snapshot, accepted-message, error і session-cleared.

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

onStateChange

Повідомляє host про зміни стану віджета.

onStateChange
onStateChange(listener): () => void

onLoadingChange

Повідомляє host про фази завантаження та повторного підключення.

onLoadingChange
onLoadingChange(listener): () => void

on / off

Підписує на подію віджета з указаною назвою.

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

Помилки

DobroDeskWidgetErrorCode

Обробляйте стабільні машинні коди та не показуйте діагностику сервера в UI.

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