Hermes
3a4cceb9a4
feat(autocall-log): пишем дату согласованного слота (chosen_date) в журнал звонков
...
AGI уже передаёт дату (chosen_date) — теперь она сохраняется в autocall_log,
поэтому карточка и журнал показывают конкретный день, а не «день 1/2».
2026-09-25 16:16:43 +02:00
Hermes
462c2b4892
feat(autocall): основной транк обзвона — GSM-модуль клиента (goip5), Miranda запасной
...
Канал call-файла строится из настройки autocall_trunk (sms_campaign_settings):
'gsm' — PJSIP/1<номер с 8>@goip5 (линия 1 модуля), 'mmedia' — прежний SIP-транк.
По умолчанию gsm.
У модуля одна SIM → один одновременный звонок: перед постановкой в спул сверяем
занятость каналов транка на АТС и ставим не больше, чем есть свободных линий.
Не успевшие звонки просто ждут следующего тика таймера — иначе они падали бы
«занято» и уезжали в «не ответил». То же для ручных звонков из очереди.
2026-09-25 16:16:43 +02:00
Hermes
004050c0ff
fix(autocall): карточка показывает реальный день слота, а не «завтра»
...
Цифра дня у робота (dtmf_day) — это не «завтра», а первый рабочий день окна:
звонок в пятницу предлагает понедельник, а суббота выходная. Карточка писала
«завтра, вторая половина дня» при согласованном 28.09 — менеджер видел день,
которого в окне нет.
Слот собирает общая функция components/orders/autocallSlot.js: дата из строки
лога (chosen_date), для старых строк — дата заказа, если слот согласовал этот
звонок. Если даты нет — показываем только половину дня, ничего не выдумывая.
Подключено в карточке заказа, вкладке «Автодозвон» и панели тест-звонка.
Есть юнит-тесты (5 кейсов).
2026-09-25 16:16:43 +02:00
hermes
2067ff7d89
fix(sms): кампании больше не долбят один номер бесконечно (код 107 у сотен SMS)
...
Причина «кучи ошибок 107»: номер попытки читался из строки лога
(attempts = item.get("attempts", 1)), а каждая повторная отправка вставляла
НОВУЮ строку с attempts=1. Условие attempts < max_attempts выполнялось всегда,
поэтому группа уходила в повтор каждые 5 минут бесконечно: заказ ТП-010543
(9780187307) — 461 отправка за 3,5 суток, ни одна не доставлена, в ручную
работу заказ не ушёл.
- номер попытки считается по группе (count строк кампании) и пишется в строку
и в order_groups.sms_attempts;
- в выборке на отправку жёсткий лимит попыток — повтор невозможен даже при
сбое статуса;
- попытки исчерпаны → manual_required («нужен менеджер»), а не send_failed;
- новый шаг 4: группа с исчерпанными попытками, застрявшая в link_ready,
сама уходит в manual_required (самолечение);
- то же исправление во второй кампании (second_sms) — там тот же баг.
2026-09-21 17:28:46 +02:00
Hermes
c58f2b0629
fix(ui): закрытый баннер SMS больше не возвращается (отпечаток без суммы), баланс один на всех страницах; feat(autocall): статусы «не выбрал день» / «не выбрал время» / «и то и другое» (БД + бейдж + фильтр)
2026-09-17 12:32:53 +02:00
Hermes
775a72ea29
fix(autocall): «ручное управление» — это НЕ согласованный заказ; кнопку автодозвона по нему больше не блокирует (ошибка из прошлой правки)
2026-09-17 12:04:00 +02:00
Hermes
512aab9ff2
fix(sms): заказы больше не висят в «1-е приглашение отправлено» — в ручную работу переводим от последнего контакта и только по включённым каналам (SMS/автодозвон); заказ, где дата уже выбрана, роботу не звоним
2026-09-16 17:15:43 +02:00
Hermes
e35b3d885f
fix(autocall): заявку «позвонить сейчас» не закрываем — при закрытом окне звонка блокируем кнопку автодозвона с объяснением (по правилу владельца)
2026-09-16 16:47:49 +02:00
Hermes
dacd43165c
fix(autocall): заявка «позвонить сейчас» с закрытым окном звонка больше не висит вечно в очереди — планировщик закрывает её, карточка честно говорит «звонить больше не о чем» + кнопка «всё равно позвонить»
2026-09-16 16:39:28 +02:00
Hermes
b965216181
feat(sms): в карточке объяснён статус «ручное управление» без ошибок отправки — SMS не отправлялись, согласование шло без SMS
2026-09-16 16:30:02 +02:00
Hermes
4192e44998
feat(sms): понятные причины ошибок в карточке доставки — техстроки планировщика (code=106, not delivered, limit exceeded) переводятся в человеческие
2026-09-16 16:19:17 +02:00
Hermes
5c98a54895
feat(autocall): звонок клиенту, если SMS не ушло (отсчёт от последней попытки) + статусы «не выбрал день/время» вместо «не нажал цифру»
2026-09-16 16:14:34 +02:00
Hermes
7ab3debbb3
fix(logistics): понятные статусы автодозвона в реестре доставок — своя подпись у каждого исхода, «не звонили» только по ожидающим заказам, убраны формулировки удалённых сценариев; единый список подписей для фильтра и бейджа
2026-09-16 11:03:28 +02:00
Hermes
aeb4bbf63f
fix(autocall): убраны сценарии «0» и «9» из диалога и из презентации; пауза между звонками 1 час; граница половины дня 13:00; в презентации готовность по обмену с 1С, без готовности в субботу
2026-09-16 10:36:01 +02:00
Hermes
833d2dcd44
fix(autocall): в презентации готовность приходит по обмену с 1С, а не отметкой менеджера; PDF и HTML собираются из одного файла содержания
2026-09-15 18:02:22 +02:00
Hermes
d9ded99e81
docs(autocall): HTML-версия презентации из общего файла содержания (deck_content.py), проверка совпадения текста с PDF
2026-09-15 15:50:19 +02:00
Hermes
ed89222834
docs(autocall): презентация «Автодозвон: как это работает» (PDF, 16 слайдов) + скрипт сборки и проверки вёрстки
2026-09-15 15:38:49 +02:00
Hermes
8e9a0f6dab
fix(autocall): ручной звонок из карточки звонит клиенту (тестовый режим только для массового обзвона) + видимый процесс звонка в карточке
2026-09-15 15:26:20 +02:00
Hermes
5a71fbceba
docs(ats): образцы звучания собираются из списка файлов AGI-харнесса + скрипт сборки (в ручном образце «в пятницу» вместо «сегодня»)
2026-09-15 09:56:37 +02:00
Hermes
47b3ccf28f
fix(autocall): убран сценарий «0 — позвать менеджера» — такой цифры в диалоге нет, менеджер подключается только эскалацией
2026-09-15 09:50:26 +02:00
Hermes
44f58ce9e7
fix(autocall): доставка предлагает реальные рабочие дни графика (пт → пн/вт), эскалация по настройкам админки, WAIT FOR DIGIT и «0 — менеджер»
2026-09-15 09:40:43 +02:00
Hermes
3706f64ca7
feat(orders): блок про SMS смотрит на баланс счёта — гасится после пополнения, закрывается крестиком, предупреждает о низком балансе (эдж-функция sms-balance)
2026-09-14 15:58:30 +02:00
Hermes
dc262d2be7
feat(orders): причина неудачной отправки SMS — в карточке заказа и блоком над таблицей наборов (код 201 = кончились средства)
2026-09-14 15:40:15 +02:00
Hermes
6ebdc41667
fix(ats): название компании «Супер Сам» (пробел) — выбор владельца, залито на АТС
2026-09-14 14:51:31 +02:00
Hermes
f9395d7d05
fix(ats): название компании раздельно в озвучках (Супер, Сам) + инструкция по генерации и проверке озвучек
2026-09-14 14:27:26 +02:00
Hermes
1660cced66
feat(schedule): дни SMS в ЛК реально управляют рассылками — скрипты читают sms_days из графика
2026-09-14 14:14:37 +02:00
Hermes
1a310e5f5a
fix(pickup): окно самовывоза в рабочих днях (пятница → пт, пн, вт) у робота и в ссылке; тесты окна
2026-09-14 13:59:13 +02:00
Hermes
11167516a3
feat(schedule): рабочие часы склада и доставки в админке — открытие/закрытие, границы половин, отсечка «сегодня»; робот и ссылка клиента читают часы
2026-09-14 13:15:49 +02:00
Hermes
794c3ce5e3
fix(autocall,client): рабочие дни из графика админки — самовывоз пн-пт у робота и ссылки, доставка в ссылке читает график; тексты панели «Рабочие дни»
2026-09-11 15:53:03 +02:00
Hermes
270ab39abc
fix(autocall): самовывоз только по рабочим дням графика + робот называет реальные дни; страница клиента читает график
2026-09-11 15:40:29 +02:00
Hermes
139c895290
feat(autocall): локации — переключатели звонков по городам в админке (авто-дозвон), гео-правила общие с SMS
2026-09-11 11:59:44 +02:00
Hermes
f62a6b525b
feat(autocall): окно самовывоза 3 дня (сегодня/завтра/послезавтра), даты из диалога, гео-исключения как у SMS
2026-09-11 11:29:49 +02:00
Hermes
feb3fc1b07
fix(agi): обрыв диалога — отдаём результат в БД (иначе звонок задним числом записывался как «не взял трубку»)
2026-09-11 11:05:57 +02:00
Hermes
c4e2c4a181
feat(autocall): самовывоз — тип звонка pkp/dlv из карточки заказа, выключатель самовывоза, тип в логе и очереди
2026-09-11 10:53:53 +02:00
Hermes
46a3609233
fix(autocall): исход «не взял трубку» — добор истёкших заявок + детект объявления оператора в AGI
2026-09-10 15:27:59 +02:00
Hermes
73b9512f15
fix(orders): список не пустеет при возврате — кэш отдаёт обёртку {data,error}, состояние не стирается
2026-09-10 15:04:47 +02:00
Hermes
52dc913fa7
fix(autocall): бейдж в таблице — «Автодозвон ✅ / ❌ » вместо «слот от робота»
2026-09-10 14:53:44 +02:00
Hermes
9d1c74eda0
fix(autocall): сводка показывает последний успешный звонок; текст в сводке переносится вместо обрезки
2026-09-10 13:15:47 +02:00
Hermes
f378fd05ef
fix(autocall): блок «Автодозвон» не появлялся в карточке, если порядок блоков сохранён в localStorage — мердж с дефолтом
2026-09-10 11:32:14 +02:00
Hermes
c7a35cdd29
feat(autocall): история звонков в карточке — как у SMS (попытки, слот, сценарий, длительность)
2026-09-10 11:28:39 +02:00
Hermes
04f78f7367
feat(filters): два отдельных фильтра «Статус SMS» и «Статус автодозвона» вместо «Прозвонить»
2026-09-09 14:49:31 +02:00
Hermes
587e12f562
feat(filters): единое поле «Период» без лейблов + упрощённый фильтр «Прозвонить»
2026-09-09 11:59:32 +02:00
Hermes
64bcda8eed
feat(autocall): статус автодозвона в карточке (как у SMS) + фильтр «Прозвонить» в таблице + выравнивание переключателя
2026-09-08 13:04:01 +02:00
Hermes
1552c21d99
feat(autocall): автодозвон в карточке доставки — история действий, цепочка этапов, сводка статусов
2026-09-08 12:28:38 +02:00
Hermes
5dbeae84f4
feat(autocall): исключения автодозвона — таблица, UI в настройках, проверка в планировщике, бейдж в реестре/карточке
2026-09-08 11:16:16 +02:00
Hermes
95af771596
perf(autocall): таймер 60с + fast-path (молча, если очередь пуста и кампания выключена)
2026-09-02 11:42:58 +02:00
Hermes
5e4bfc1af0
feat(autocall): показ последних тест-звонков + честный статус задержки планировщика
2026-09-02 11:37:16 +02:00
Hermes
0d8e0f9d40
feat(autocall): тестовый звонок из UI для мегаадмина — autocall_queue nullable + is_test_call, TestCallPanel с окном результата
2026-09-02 11:10:06 +02:00
Hermes
4ed7f64a37
feat(autocall): добавить autocall_queue (ручной звонок через планировщик). Миграция 20260902 + чтение очереди в scheduler
2026-09-02 10:56:02 +02:00
Hermes
75476c9d70
fix(auth): добавить dev.mkn8n.ru в ALLOWED_ORIGINS (CORS Origin not allowed)
2026-09-01 22:52:12 +02:00