From d2bae4542910b29fe4f0baf78c2cee8ceeae0428 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, 19 Jul 2026 11:45:26 +0300 Subject: [PATCH] =?UTF-8?q?feat(finder):=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA?= =?UTF-8?q?=D0=B0=20=C2=AB=D0=9E=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B2=20=D0=BF=D1=80=D0=BE=D0=B3=D1=80=D0=B5=D0=B2?= =?UTF-8?q?=C2=BB=20=D1=80=D1=8F=D0=B4=D0=BE=D0=BC=20=D1=81=20=C2=AB=D0=9E?= =?UTF-8?q?=D1=82=D0=B4=D0=B0=D1=82=D1=8C=20=D0=BC=D0=B5=D0=BD=D0=B5=D0=B4?= =?UTF-8?q?=D0=B6=D0=B5=D1=80=D1=83=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task 9 плана 2026-07-19-reklamnaya-auditoriya-v2: начальник в «Поиске клиентов» отмечает фирмы галочками и отправляет их в прогрев рекламой Яндекса. Старая кнопка «Отдать менеджеру» остаётся рядом — решение владельца: быстрая дорожка в обход прогрева для горячих фирм. - salesfinder/adaudience.py — pick_ad_phones: из размеченных номеров (ДаДата+HLR) отбирает живой/молчащий мобильный, отбрасывает городской, мусор и «не существует». - salesfinder/portal.py — send_ad_audience: тот же транспорт и заголовок X-Sales-Token, что у send_prospects, POST на /api/sales/integration/ad-audience. - web/app.py — POST /view/{rid}/warmup: отмеченные фирмы без единого годного мобильного пропускаются с честным сообщением, остальные летят в портал полным снимком (payload=asdict(f)) вместе с отобранными номерами. - web/ui.py — кнопка рядом с «Отдать менеджеру», деактивируется вместе с ней, когда портал недоступен. - web/static/app.js — подтверждение перед отправкой ВО ВНЕШНЕМ файле (не onclick/inline-' + return page("Список на прозвон — Лидерра", head + collect + note + script)