From d6526bdadf74ee8a25e21ef509eba6827004a3cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Sun, 12 Jul 2026 11:18:11 +0300 Subject: [PATCH] =?UTF-8?q?feat(jivo-bot):=20=D1=81=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=D1=8F=20=C2=AB=D0=9E=D1=82=D0=BA=D1=83=D0=B4=D0=B0=20?= =?UTF-8?q?=D0=B1=D0=B5=D1=80=D1=83=D1=82=D1=81=D1=8F=20=D0=B7=D0=B0=D1=8F?= =?UTF-8?q?=D0=B2=D0=BA=D0=B8=20=D0=B8=20=D0=B7=D0=B0=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BB=D0=B8=20=D1=8D=D1=82=D0=BE=C2=BB=20(?= =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D1=83=D0=BB=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B2=D0=BB=D0=B0=D0=B4=D0=B5=D0=BB=D1=8C=D1=86?= =?UTF-8?q?=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Владелец 12.07.2026 дал суть: номера передают операторы связи, и только по тем абонентам, кто дал согласие на передачу данных третьим лицам и на рекламные предложения. Раньше бот на «а где вы берёте эти номера?» честно эскалировал — теперь отвечает сам, юридически корректно. + otkuda-zayavki.md: источник данных (операторы связи), согласие абонента как основание, 152-ФЗ, никаких «слитых» баз; практика для клиента (звонить можно и нужно быстро, вежливо завершать при отказе); честная оговорка «заявка — интерес, не гарантия продажи»; юрвопросы → живой специалист. Границы держатся (проверено живьём): «какой конкретно оператор — Билайн? МТС?» → эскалация; «эти номера только мне достаются?» → эскалация (эксклюзивность — жёсткая стоп-тема). Поставщик и модель распределения не раскрываются. TDD: тест на РЕАЛЬНОЙ базе знаний (3 формулировки вопроса → статья про операторов). 42/42 зелёные. Co-Authored-By: Claude Fable 5 --- app/resources/help/otkuda-zayavki.md | 35 +++++++++++++++++++ app/tests/Feature/Bot/KnowledgeSearchTest.php | 14 ++++++++ 2 files changed, 49 insertions(+) create mode 100644 app/resources/help/otkuda-zayavki.md diff --git a/app/resources/help/otkuda-zayavki.md b/app/resources/help/otkuda-zayavki.md new file mode 100644 index 00000000..4de98183 --- /dev/null +++ b/app/resources/help/otkuda-zayavki.md @@ -0,0 +1,35 @@ +--- +title: Откуда берутся заявки и законно ли это +topics: откуда заявки, откуда номера, где вы берёте номера, откуда данные, законно ли, 152-фз, персональные данные, согласие абонента, операторы связи, база номеров, спам, легально, откуда телефон клиента, как вы находите клиентов +--- + +Заявки формируются на основе данных, которые нам передают операторы связи. Мы получаем +контакты только тех абонентов, которые дали оператору согласие на передачу своих данных +третьим лицам и на получение рекламных предложений. Абонент без такого согласия +к нам не попадает — никогда. + +Проще говоря: человек сам заранее разрешил, чтобы ему звонили с предложениями по темам, +которые ему интересны. Мы видим, что он интересуется услугой в вашей нише — по тому +источнику, который вы указали в проекте (сайт, телефон или СМС-отправитель), — и передаём +вам его контакт. + +Законность: обработка персональных данных ведётся в соответствии с Федеральным законом +№ 152-ФЗ «О персональных данных». Основание передачи — согласие самого абонента, которое +он дал своему оператору связи. Никаких «слитых» или купленных на стороне баз мы +не используем. + +Что это значит для вас на практике: +- Человеку можно звонить: он согласие давал и рекламные предложения ждёт. +- Звоните быстро — интерес живой, и чем раньше вы наберёте, тем выше шанс на сделку. +- Представляйтесь и говорите по существу предложения. Если человек скажет, что ему + неинтересно или просит больше не звонить — просто вежливо завершите разговор + и отметьте заявку статусом «Не реализовано». +- Свои обязательства перед клиентом (как вы храните его контакт и что предлагаете) + вы выполняете сами — как и при любом другом источнике клиентов. + +Заявка — это интерес человека, а не гарантированная продажа: результат зависит и от +скорости звонка, и от вашего разговора. Отслеживать это помогают воронка и конверсия +в дашборде. + +Если у вас юридические вопросы по обработке данных или нужен договор — напишите +в поддержку, ответит живой специалист. diff --git a/app/tests/Feature/Bot/KnowledgeSearchTest.php b/app/tests/Feature/Bot/KnowledgeSearchTest.php index a4bd3e4f..8af79986 100644 --- a/app/tests/Feature/Bot/KnowledgeSearchTest.php +++ b/app/tests/Feature/Bot/KnowledgeSearchTest.php @@ -60,6 +60,20 @@ it('на РЕАЛЬНОЙ базе знаний «зачем нужна Лиде ->and(mb_strtolower($hits[0]->title))->toContain('сервис'); }); +it('«где вы берёте эти номера» → статья о происхождении данных и согласии абонента', function () { + // Живой урок 12.07.2026 (формулировка владельца): номера передают операторы связи, + // и только по тем абонентам, кто дал согласие на передачу данных третьим лицам + // и на рекламные предложения. Раньше бот эскалировал этот частый вопрос. + KnowledgeChunk::query()->delete(); + $this->artisan('help:rebuild-knowledge')->assertExitCode(0); + + foreach (['а где вы берёте эти номера?', 'откуда у вас данные людей', 'это законно вообще?'] as $q) { + $hits = app(KnowledgeSearch::class)->search($q, 3); + expect($hits)->not->toBeEmpty() + ->and(collect($hits)->pluck('content')->implode(' '))->toContain('оператор'); + } +}); + it('на вопрос не по теме возвращает пусто', function () { expect(app(KnowledgeSearch::class)->search('какая погода в москве', 3))->toBeEmpty(); });