[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-\u002Fru\u002Fdocs\u002Fcanaux\u002Fchat-widget":3,"docs-nav-ru":367},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"body":10,"_type":361,"_id":362,"_source":363,"_file":364,"_stem":365,"_extension":366},"\u002Fru\u002Fdocs\u002Fcanaux\u002Fchat-widget","canaux",false,"","Веб-чат-виджет","Чат-виджет для любого сайта на одном JS-скрипте: Shadow DOM, без cookie, 8 языков, защита от злоупотреблений включена по умолчанию.",{"type":11,"children":12,"toc":353},"root",[13,27,34,113,119,153,165,182,188,193,246,252,300,306],{"type":14,"tag":15,"props":16,"children":17},"element","p",{},[18,25],{"type":14,"tag":19,"props":20,"children":21},"strong",{},[22],{"type":23,"value":24},"text","Чат-виджет",{"type":23,"value":26}," — это JS-скрипт, который вы встраиваете на свой сайт (маркетинговый, поддержки, приложение). Он открывает окно диалога, работающее на базе одного из ваших pipeline betool; ответы агента отображаются по мере генерации (streaming).",{"type":14,"tag":28,"props":29,"children":31},"h2",{"id":30},"возможности",[32],{"type":23,"value":33},"Возможности",{"type":14,"tag":35,"props":36,"children":37},"ul",{},[38,49,59,85,95],{"type":14,"tag":39,"props":40,"children":41},"li",{},[42,47],{"type":14,"tag":19,"props":43,"children":44},{},[45],{"type":23,"value":46},"Один сниппет",{"type":23,"value":48}," для вставки на вашу страницу. Без npm-зависимостей; виджет живёт в Shadow DOM, поэтому CSS вашего сайта его не искажает (и наоборот).",{"type":14,"tag":39,"props":50,"children":51},{},[52,57],{"type":14,"tag":19,"props":53,"children":54},{},[55],{"type":23,"value":56},"Публичный токен",{"type":23,"value":58}," — его можно перевыпустить в любой момент из редактора. Никаких секретов на стороне клиента.",{"type":14,"tag":39,"props":60,"children":61},{},[62,67,69,76,78,83],{"type":14,"tag":19,"props":63,"children":64},{},[65],{"type":23,"value":66},"Непрерывность в рамках вкладки",{"type":23,"value":68}," — идентификатор диалога хранится в ",{"type":14,"tag":70,"props":71,"children":73},"code",{"className":72},[],[74],{"type":23,"value":75},"sessionStorage",{"type":23,"value":77},": перезагрузка страницы продолжает диалог, закрытие вкладки его завершает. Виджет не устанавливает ",{"type":14,"tag":19,"props":79,"children":80},{},[81],{"type":23,"value":82},"никаких cookie",{"type":23,"value":84},".",{"type":14,"tag":39,"props":86,"children":87},{},[88,93],{"type":14,"tag":19,"props":89,"children":90},{},[91],{"type":23,"value":92},"8 языков",{"type":23,"value":94}," — интерфейс виджета следует языку браузера посетителя.",{"type":14,"tag":39,"props":96,"children":97},{},[98,103,105,111],{"type":14,"tag":19,"props":99,"children":100},{},[101],{"type":23,"value":102},"Защита от злоупотреблений включена по умолчанию",{"type":23,"value":104}," — 20 сообщений в минуту с одного IP, 10 новых сессий в минуту с одного IP, максимум 4 000 символов на сообщение (настраивается; ",{"type":14,"tag":70,"props":106,"children":108},{"className":107},[],[109],{"type":23,"value":110},"0",{"type":23,"value":112}," отключает защиту). Глобальный лимит на виджет (20-кратный лимит на IP) также блокирует наплыв запросов, распределённый по нескольким IP.",{"type":14,"tag":28,"props":114,"children":116},{"id":115},"настройка",[117],{"type":23,"value":118},"Настройка",{"type":14,"tag":120,"props":121,"children":122},"ol",{},[123,141],{"type":14,"tag":39,"props":124,"children":125},{},[126,128,133,135,140],{"type":23,"value":127},"В редакторе модели настройте узел ",{"type":14,"tag":19,"props":129,"children":130},{},[131],{"type":23,"value":132},"Start",{"type":23,"value":134}," с приёмником ",{"type":14,"tag":19,"props":136,"children":137},{},[138],{"type":23,"value":139},"Чат (веб-виджет)",{"type":23,"value":84},{"type":14,"tag":39,"props":142,"children":143},{},[144,146,151],{"type":23,"value":145},"При сохранении betool генерирует публичный токен и показывает ",{"type":14,"tag":19,"props":147,"children":148},{},[149],{"type":23,"value":150},"сниппет интеграции",{"type":23,"value":152},", готовый к копированию:",{"type":14,"tag":154,"props":155,"children":160},"pre",{"className":156,"code":158,"language":159,"meta":7},[157],"language-html","\u003Cscript src=\"https:\u002F\u002Fplatform.betool.ai\u002Fwidget\u002Fv1\u002Fwidget.js\">\u003C\u002Fscript>\n\u003Cscript>\n  BetoolChat.init({ token: \"\u003Ctoken-public-du-widget>\" });\n\u003C\u002Fscript>\n","html",[161],{"type":14,"tag":70,"props":162,"children":163},{"__ignoreMap":7},[164],{"type":23,"value":158},{"type":14,"tag":120,"props":166,"children":168},{"start":167},3,[169],{"type":14,"tag":39,"props":170,"children":171},{},[172,174,180],{"type":23,"value":173},"Вставьте этот сниппет в тег ",{"type":14,"tag":70,"props":175,"children":177},{"className":176},[],[178],{"type":23,"value":179},"\u003Cbody>",{"type":23,"value":181}," вашего сайта. Виджет появляется автоматически, по умолчанию в правом нижнем углу.",{"type":14,"tag":28,"props":183,"children":185},{"id":184},"кастомизация",[186],{"type":23,"value":187},"Кастомизация",{"type":14,"tag":15,"props":189,"children":190},{},[191],{"type":23,"value":192},"В конфигурации приёмника:",{"type":14,"tag":35,"props":194,"children":195},{},[196,206,216,226,236],{"type":14,"tag":39,"props":197,"children":198},{},[199,204],{"type":14,"tag":19,"props":200,"children":201},{},[202],{"type":23,"value":203},"Внешний вид",{"type":23,"value":205}," — отображаемый заголовок, основной цвет, положение (четыре угла), форма кнопки запуска (вкладка или пузырь) и её подпись.",{"type":14,"tag":39,"props":207,"children":208},{},[209,214],{"type":14,"tag":19,"props":210,"children":211},{},[212],{"type":23,"value":213},"Тексты",{"type":23,"value":215}," — приветственное сообщение, текст поля ввода, текст статуса (или переведённое отображение «в сети»).",{"type":14,"tag":39,"props":217,"children":218},{},[219,224],{"type":14,"tag":19,"props":220,"children":221},{},[222],{"type":23,"value":223},"Отображение",{"type":23,"value":225}," — рендеринг markdown в ответах (включён по умолчанию).",{"type":14,"tag":39,"props":227,"children":228},{},[229,234],{"type":14,"tag":19,"props":230,"children":231},{},[232],{"type":23,"value":233},"Контекст страницы",{"type":23,"value":235}," — передаёт с каждым сообщением origin и путь текущей страницы (никогда не query string). Включено по умолчанию, можно отключить.",{"type":14,"tag":39,"props":237,"children":238},{},[239,244],{"type":14,"tag":19,"props":240,"children":241},{},[242],{"type":23,"value":243},"Область действия",{"type":23,"value":245}," — ограничение разрешённых origin.",{"type":14,"tag":28,"props":247,"children":249},{"id":248},"безопасность",[250],{"type":23,"value":251},"Безопасность",{"type":14,"tag":15,"props":253,"children":254},{},[255,261,263,268,270,275,277,283,285,291,293,298],{"type":14,"tag":70,"props":256,"children":258},{"className":257},[],[259],{"type":23,"value":260},"token",{"type":23,"value":262}," ",{"type":14,"tag":19,"props":264,"children":265},{},[266],{"type":23,"value":267},"публичен по замыслу",{"type":23,"value":269},": он позволяет только общаться с моделью, у которой есть этот приёмник. Если вы перечислите ",{"type":14,"tag":19,"props":271,"children":272},{},[273],{"type":23,"value":274},"разрешённые origin",{"type":23,"value":276},", запрос с другого origin отклоняется на стороне сервера (",{"type":14,"tag":70,"props":278,"children":280},{"className":279},[],[281],{"type":23,"value":282},"403",{"type":23,"value":284},"); пустой список (или ",{"type":14,"tag":70,"props":286,"children":288},{"className":287},[],[289],{"type":23,"value":290},"*",{"type":23,"value":292},") не накладывает никаких ограничений — оставьте это для разработки. Чтобы отозвать скомпрометированный токен: кнопка ",{"type":14,"tag":19,"props":294,"children":295},{},[296],{"type":23,"value":297},"перевыпустить",{"type":23,"value":299}," рядом с публичным URL в конфигурации приёмника (все сниппеты, уже работающие в продакшене, перестают функционировать).",{"type":14,"tag":28,"props":301,"children":303},{"id":302},"ограничения",[304],{"type":23,"value":305},"Ограничения",{"type":14,"tag":35,"props":307,"children":308},{},[309,321,348],{"type":14,"tag":39,"props":310,"children":311},{},[312,314,319],{"type":23,"value":313},"Нет ",{"type":14,"tag":19,"props":315,"children":316},{},[317],{"type":23,"value":318},"совместного просмотра",{"type":23,"value":320},": агент не видит страницу пользователя, только её origin и путь (если контекст страницы включён).",{"type":14,"tag":39,"props":322,"children":323},{},[324,325,330,332,339,341,347],{"type":23,"value":313},{"type":14,"tag":19,"props":326,"children":327},{},[328],{"type":23,"value":329},"отправки вложений",{"type":23,"value":331}," из виджета. Чтобы получать файлы, используйте pipeline ",{"type":14,"tag":333,"props":334,"children":336},"a",{"href":335},"\u002Fru\u002Fdocs\u002Fcanaux\u002Femail",[337],{"type":23,"value":338},"email",{"type":23,"value":340}," или ",{"type":14,"tag":333,"props":342,"children":344},{"href":343},"\u002Fru\u002Fdocs\u002Fcanaux\u002Fwebhook",[345],{"type":23,"value":346},"webhook",{"type":23,"value":84},{"type":14,"tag":39,"props":349,"children":350},{},[351],{"type":23,"value":352},"Диалог не продолжается от визита к визиту: закрытие вкладки завершает его.",{"title":7,"searchDepth":354,"depth":354,"links":355},2,[356,357,358,359,360],{"id":30,"depth":354,"text":33},{"id":115,"depth":354,"text":118},{"id":184,"depth":354,"text":187},{"id":248,"depth":354,"text":251},{"id":302,"depth":354,"text":305},"markdown","content:ru:docs:2.canaux:4.chat-widget.md","content","ru\u002Fdocs\u002F2.canaux\u002F4.chat-widget.md","ru\u002Fdocs\u002F2.canaux\u002F4.chat-widget","md",[368],{"title":369,"_path":370,"children":371},"Ru","\u002Fru",[372],{"title":373,"_path":374,"children":375},"Docs","\u002Fru\u002Fdocs",[376,389,413,441,454,469,482,543],{"title":377,"_path":378,"children":379},"Начало работы","\u002Fru\u002Fdocs\u002Fdemarrer",[380,383,386],{"title":381,"_path":382},"Добро пожаловать","\u002Fru\u002Fdocs\u002Fdemarrer\u002Fbienvenue",{"title":384,"_path":385},"Создание учётной записи","\u002Fru\u002Fdocs\u002Fdemarrer\u002Fcreer-un-compte",{"title":387,"_path":388},"Подключение ключа LLM","\u002Fru\u002Fdocs\u002Fdemarrer\u002Fbrancher-llm",{"title":390,"_path":391,"children":392},"Каналы","\u002Fru\u002Fdocs\u002Fcanaux",[393,396,399,401,402,404,407,410],{"title":394,"_path":395},"Обзор каналов","\u002Fru\u002Fdocs\u002Fcanaux\u002Fvue-densemble",{"title":397,"_path":398},"Телефония в реальном времени","\u002Fru\u002Fdocs\u002Fcanaux\u002Ftelephone",{"title":400,"_path":335},"Электронная почта",{"title":8,"_path":4},{"title":403,"_path":343},"HTTP Webhook",{"title":405,"_path":406},"Мессенджеры (WhatsApp, Messenger, Telegram, Mattermost)","\u002Fru\u002Fdocs\u002Fcanaux\u002Fmessageries",{"title":408,"_path":409},"Meta Lead Ads","\u002Fru\u002Fdocs\u002Fcanaux\u002Ffacebook-leads",{"title":411,"_path":412},"Расписание (cron)","\u002Fru\u002Fdocs\u002Fcanaux\u002Fschedule",{"title":414,"_path":415,"children":416},"Пайплайны","\u002Fru\u002Fdocs\u002Fpipelines",[417,420,423,426,429,432,435,438],{"title":418,"_path":419},"Визуальный редактор","\u002Fru\u002Fdocs\u002Fpipelines\u002Fediteur-visuel",{"title":421,"_path":422},"AI-агенты","\u002Fru\u002Fdocs\u002Fpipelines\u002Fagents",{"title":424,"_path":425},"Детерминированные операторы","\u002Fru\u002Fdocs\u002Fpipelines\u002Foperateurs",{"title":427,"_path":428},"Управление потоком","\u002Fru\u002Fdocs\u002Fpipelines\u002Fcontrole-flux",{"title":430,"_path":431},"Шаги с кодом","\u002Fru\u002Fdocs\u002Fpipelines\u002Fcode-step",{"title":433,"_path":434},"Суб-пайплайны","\u002Fru\u002Fdocs\u002Fpipelines\u002Fsous-pipelines",{"title":436,"_path":437},"No-code действия","\u002Fru\u002Fdocs\u002Fpipelines\u002Factions-no-code",{"title":439,"_path":440},"База знаний","\u002Fru\u002Fdocs\u002Fpipelines\u002Fbase-de-connaissances",{"title":442,"_path":443,"children":444},"Супервизия","\u002Fru\u002Fdocs\u002Fsupervision",[445,448,451],{"title":446,"_path":447},"История выполнений","\u002Fru\u002Fdocs\u002Fsupervision\u002Fexecutions",{"title":449,"_path":450},"Кредиты и тарификация","\u002Fru\u002Fdocs\u002Fsupervision\u002Fcredits-metering",{"title":452,"_path":453},"Бенчмарки","\u002Fru\u002Fdocs\u002Fsupervision\u002Fbenchmarks",{"title":251,"_path":455,"children":456},"\u002Fru\u002Fdocs\u002Fsecurite",[457,460,463,466],{"title":458,"_path":459},"Принципы безопасности","\u002Fru\u002Fdocs\u002Fsecurite\u002Fprincipes",{"title":461,"_path":462},"Строгая мультитенантность","\u002Fru\u002Fdocs\u002Fsecurite\u002Fmulti-tenant",{"title":464,"_path":465},"Аудит и журнал доступа GDPR","\u002Fru\u002Fdocs\u002Fsecurite\u002Faudit-rgpd",{"title":467,"_path":468},"Суверенное развёртывание","\u002Fru\u002Fdocs\u002Fsecurite\u002Fdeploiement-souverain",{"title":470,"_path":471,"children":472},"Разработчикам","\u002Fru\u002Fdocs\u002Fdeveloppeurs",[473,476,479],{"title":474,"_path":475},"Административный API","\u002Fru\u002Fdocs\u002Fdeveloppeurs\u002Fapi-admin",{"title":477,"_path":478},"Исходящие webhook","\u002Fru\u002Fdocs\u002Fdeveloppeurs\u002Fwebhooks-sortants",{"title":480,"_path":481},"Управление betool из Claude (MCP)","\u002Fru\u002Fdocs\u002Fdeveloppeurs\u002Fmcp",{"title":483,"_path":484,"children":485},"Интеграции","\u002Fru\u002Fdocs\u002Fintegrations",[486,489,492,495,498,501,504,507,510,513,516,519,522,525,528,531,534,537,540],{"title":487,"_path":488},"Обзор интеграций","\u002Fru\u002Fdocs\u002Fintegrations\u002Fvue-densemble",{"title":490,"_path":491},"Stripe","\u002Fru\u002Fdocs\u002Fintegrations\u002Fstripe",{"title":493,"_path":494},"GitHub","\u002Fru\u002Fdocs\u002Fintegrations\u002Fgithub",{"title":496,"_path":497},"Google","\u002Fru\u002Fdocs\u002Fintegrations\u002Fgoogle",{"title":499,"_path":500},"LinkedIn Ads","\u002Fru\u002Fdocs\u002Fintegrations\u002Flinkedin-ads",{"title":502,"_path":503},"Kavkom","\u002Fru\u002Fdocs\u002Fintegrations\u002Fkavkom",{"title":505,"_path":506},"Jira","\u002Fru\u002Fdocs\u002Fintegrations\u002Fjira",{"title":508,"_path":509},"Slack","\u002Fru\u002Fdocs\u002Fintegrations\u002Fslack",{"title":511,"_path":512},"SMS","\u002Fru\u002Fdocs\u002Fintegrations\u002Fsms",{"title":514,"_path":515},"Enable Banking (open banking)","\u002Fru\u002Fdocs\u002Fintegrations\u002Fenable-banking",{"title":517,"_path":518},"CRM, маркетинг и продуктивность","\u002Fru\u002Fdocs\u002Fintegrations\u002Fcrm-marketing",{"title":520,"_path":521},"HeyGen (видео)","\u002Fru\u002Fdocs\u002Fintegrations\u002Fheygen",{"title":523,"_path":524},"La Poste","\u002Fru\u002Fdocs\u002Fintegrations\u002Fla-poste",{"title":526,"_path":527},"Отраслевые CRM (beTool Application, Qhare)","\u002Fru\u002Fdocs\u002Fintegrations\u002Fcrm-metier",{"title":529,"_path":530},"Mitti (полевые инспекции)","\u002Fru\u002Fdocs\u002Fintegrations\u002Fmitti",{"title":532,"_path":533},"Meta (Messenger, Pages, Meta Ads)","\u002Fru\u002Fdocs\u002Fintegrations\u002Fmeta",{"title":535,"_path":536},"Onoff Business (Beta)","\u002Fru\u002Fdocs\u002Fintegrations\u002Fonoff",{"title":538,"_path":539},"Smart Life \u002F Tuya (умные устройства)","\u002Fru\u002Fdocs\u002Fintegrations\u002Fsmart-life",{"title":541,"_path":542},"Продукты beTool (Desktop, Kiosk, Terminal)","\u002Fru\u002Fdocs\u002Fintegrations\u002Fproduits-betool",{"title":544,"_path":545,"children":546},"Сценарии использования","\u002Fru\u002Fdocs\u002Fcas-usage",[547,550,553,556,559,562],{"title":548,"_path":549},"Типовые бизнес-агенты","\u002Fru\u002Fdocs\u002Fcas-usage\u002Fvue-densemble",{"title":551,"_path":552},"CFO ИИ","\u002Fru\u002Fdocs\u002Fcas-usage\u002Fcfo-ia",{"title":554,"_path":555},"COO ИИ","\u002Fru\u002Fdocs\u002Fcas-usage\u002Fcoo-ia",{"title":557,"_path":558},"CTO ИИ","\u002Fru\u002Fdocs\u002Fcas-usage\u002Fcto-ia",{"title":560,"_path":561},"Product Manager ИИ","\u002Fru\u002Fdocs\u002Fcas-usage\u002Fproduct-manager-ia",{"title":563,"_path":564},"Персональный ассистент","\u002Fru\u002Fdocs\u002Fcas-usage\u002Fassistant-personnel"]