Перейти к основному содержимому

API SDK

Параметры DraftPlugin.create

ПараметрОписаниеОбязателен
tokenКлюч доступа к SDK и HTTP APIДа
pluginIdИдентификатор плагина в формате ORG_ID:PLUGIN_IDДа
authData.projectIdID проекта, созданного на вашем backendДа
localeЯзык интерфейса: ru или enНет
apiUrlБазовый URL API, если требуется отличное от стандартного значениеНет
onОбъект с обработчиками событий редактораНет

События

  • ready - редактор загрузился и готов к работе. Возвращает { json: TemplateJSON; html: string; lastSavedTemplate?: { template: TemplateJSON; date: Date } }.
  • error - произошла ошибка. Возвращает { message: string; code?: string; details?: unknown }.
  • notification - уведомление от редактора. Возвращает { intent: 'error' | 'info' | 'success' | 'warning'; title: string; message?: string; errorDetails?: object }.
  • autosave - произошло автосохранение. Возвращает { json: TemplateJSON }.
  • save - произошло сохранение. Возвращает { json: TemplateJSON; html: string }.
  • exit - пользователь пытается выйти из редактора. Возвращает { json: TemplateJSON; html: string }.
  • toggleGrid - включена или выключена подсветка сетки. Возвращает { state: boolean }.
  • togglePreview - включён или выключен предпросмотр. Возвращает { state: boolean; json: TemplateJSON; html: string; darkHTML: string }.
  • toggleMenu - изменено открытое меню. Возвращает { menu: 'audit' | 'guide' | 'style' | 'blocks' | null }.
  • toggleViewMode - изменён режим просмотра. Возвращает { mode: 'desktop' | 'mobile' }.
  • history - изменилось состояние истории. Возвращает { hasUndos: boolean; hasRedos: boolean; currentStep: number }.
  • uploadImage - редактор передал файл на загрузку. Обработчик получает { file: string; name: string } и должен вернуть Promise<string> с URL загруженного изображения.
  • openGallery - пользователь открыл галерею. Обработчик получает функцию (url?: string) => Promise<void>, которую нужно вызвать после выбора изображения.
  • loadPersonalization - редактор запросил данные персонализации. Обработчик должен вернуть Promise<{ items: Array<{ name: string; value: string } | { groupName: string; items: Array<{ name: string; value: string }> }> }>

Методы

start

draft.start({
template: TemplateJSON,
uid: 'LETTER_ID',
templateName: 'Название письма',
});

changeTemplate

draft.changeTemplate(template, {
templateName: 'Название письма',
uid: 'LETTER_ID',
});

toggleGrid

draft.toggleGrid(state);

togglePreview

draft.togglePreview(state);

toggleMenu

draft.toggleMenu('audit');

toggleViewMode

draft.toggleViewMode('desktop');

undo

draft.undo();

redo

draft.redo();

save

const {json, html} = await draft.save();

exit

const {json, html} = await draft.exit();

exportContent

const {json, html} = await draft.exportContent();