local — все настройки вшиты в скрипт (theme, features, allowed_domains)remote — минимальный скрипт, настройки загружаются с сервера через /inittheme — визуальные настройки (позиция, размеры, приветствие, цвета кнопки)features — функциональные настройки (загрузка файлов, голосовые, эмодзи)allowed_domains — разрешённые домены для CORSidentity_verification — HMAC-верификация в сгенерированном кодеlanguage — язык виджета (ru | en | auto)curl --location --request POST '/api/channels//widget-code/preview' \
--header 'Accept-Language;' \
--header 'Content-Type: application/json' \
--data-raw '{
"theme": {
"position": "bottom-right",
"theme_mode": "light",
"width": 400,
"height": 600,
"border_radius": 12,
"welcome_message": {
"ru": "Здравствуйте! Чем могу помочь?",
"en": "Hello! How can I help you?"
},
"button": {
"position": "bottom-right",
"light": {
"background": "#3B82F6",
"icon": "#ffffff"
},
"dark": {
"background": "#3B82F6",
"icon": "#ffffff"
}
}
},
"allowed_domains": [
"example.com",
"*.example.com",
"www.example.com"
],
"features": {
"file_upload": true,
"voice_messages": false,
"emoji": true
},
"identity_verification": false,
"language": "auto",
"config_source": "local"
}'{
"success": true,
"data": {
"widget_code": "<script src=\"...\"></script>"
}
}