supersam/supabase
Hermes 188db318e3 feat(analytics): воронка коммуникаций на странице «Аналитика»
Владелец: «нужно видеть, как всё происходит: push отправили — реакции не было, потом SMS,
потом звонок; с какого раза человек ответил на звонок, кто вообще не поднимает трубку».

Один RPC admin_comms_funnel(p_days, p_date_from, p_date_to) — период считается как у
admin_automation_economics (30 = группы, созданные за 30 дней; 0 = всё время) — отдаёт:
этапы цепочки по когорте (группы → push → первое SMS → открыли ссылку → позвонили →
взяли трубку → согласовано → в ручную → выдано), разбивку звонков по попыткам
(всего/взяли/согласовали/не взяли + % ответов), каналы подтверждения (робот / менеджер /
ссылка), список «не поднимают трубку» и «открыли ссылку, но не подтвердили», и «silent» —
кого не достали ни ссылкой, ни звонком.

Блок CommsFunnelBlock на «Аналитике» под KPI-карточками, те же табы периода, mobile-first,
время в МСК. За 30 дней: 396 групп, первое SMS 340, открыли ссылку 1, звонили 26,
взяли трубку 14, согласовано 128, в ручную 22, выдано 357; 265 (66.9%) не достали никак.
С попыток: 1-я — 42 ответа из 64, 2-я — 2 из 6, 3-я — 4 из 4.

Тест: src/components/admin/analytics/CommsFunnelBlock.test.jsx (7 проверок, фикстура по
реальному ответу RPC). SW: v123 -> v124.
2026-09-29 10:23:01 +02:00
..
.temp fix: RLS recursion, driver UI, auth errors, status counts 2026-05-20 16:25:05 +03:00
functions fix(autocall): результат тестового звонка больше не пишется в боевой заказ 2026-09-28 13:11:56 +02:00
migrations feat(autocall): исключения автодозвона — таблица, UI в настройках, проверка в планировщике, бейдж в реестре/карточке 2026-09-08 11:16:16 +02:00
seed feat: simplify delivery roles and docs 2026-04-16 13:31:17 +03:00
admin_comms_funnel.sql feat(analytics): воронка коммуникаций на странице «Аналитика» 2026-09-29 10:23:01 +02:00
log_order_group_change.sql chore: сохранить SQL аудита истории в репозитории + убрать мусор из индекса 2026-09-28 11:34:45 +02:00
order_history_rls.sql chore: сохранить SQL аудита истории в репозитории + убрать мусор из индекса 2026-09-28 11:34:45 +02:00
paid-storage-status.sql feat(paid-storage): bypass stale RPC for paid_storage transitions 2026-05-20 16:25:06 +03:00
schema.sql fix: skip Sunday in delivery date selection (client flow + backend validation) 2026-06-23 04:56:49 +00:00
security-hardening.sql Add security hardening SQL patch 2026-05-13 18:59:30 +03:00
sms_pickup_code_placeholders.sql feat(client): номер доставки и код выдачи + «Доставка» вместо «Счета»; в SMS — {order} и {code} 2026-09-28 12:21:51 +02:00
sms_text_templates_pickup.sql feat(sms): текст SMS по типу отгрузки — свои шаблоны для доставки и самовывоза 2026-09-28 10:50:32 +02:00
sync-manual-status.sql feat: unify manual_required status and driver label 2026-05-20 16:25:06 +03:00