Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save vitalibaranov/9d78642bf0b5a3c438cad4e171f0fae3 to your computer and use it in GitHub Desktop.
Save vitalibaranov/9d78642bf0b5a3c438cad4e171f0fae3 to your computer and use it in GitHub Desktop.
vox backend analytics
** Флоу регистрации
*** Основные поля(dt, company_id, manager_id, event_id, session_id и тд)
*** stage - название этапа регистрации
// нет (на беке нет этих названий)
*** stage_number - номер этапа
// нет, на беке хранятся только внутренние статусы - INITIALIZING, PREPARED_FOR_VERIFICATION, VERIFICATION_FORM_UPLOADED, VERIFICATION_DOCS_UPLOADED, VERIFICATION_FAILED, VERIFIED, ACCOUNT_CREDITED, PREPARED_FOR_CALLS
**** Должны быть этапы
// что имеется в виду?
**** Начали создавать аккаунт, нажали на кнопку подключить
// нет
**** Принятие оферты
// нет
**** Подключения почты
// да, по факту это ивент первончального создания аккаунта, который пишется в топик tms_webcall_voximplant_account_create, добавится в хадуп после запуска mvp1
**** Верификация
**** Загрузка документов
**** Подтверждение документов(верификация пройдена). Она пройдена на 30 дней, в теч 30 дней нужно предоставить оригиналы(уточнить у разработки, есть ли данные)
**** Пополнили баланс
// да, 4 пункта выше это апдейты статуса инициализации аккаунта, можно сделать через топик кафки и лить в хадуп, нюансы: ивент с системной сессией без manager_id в основных полях, данные не обновляются онлайн (проверяем при запросе телефонии пользователем). Для реализации онлайн нужно затягивать колбеки (в MVP2 не планировалось) - ориентировочная стоимость 2-3SP
**** Арендовали номер
// да, пишем в топик tms_webcall_voximplant_phone_number_purchase, добавится в хадуп после запуска mvp1
**** Отвязали номер
**** Отвязали все номера
// флоу регистрации вроде не включает отвязку, данные по единичной и множественной отвязках пишем в топик tms_webcall_voximplant_phone_number_deactivate, добавится в хадуп после запуска mvp1
**** Совершили звонок
// флоу регистрации вроде не включает звонок, данные по совершенным звонкам в mpv2 будем писать в таблицу tms_webcall.call_history
**** Вывести этапы с не прошли проверку 
// поясни пож-та, что имеется в виду
**** Подключили/отключили запись звонков
// вроде тоже вне флоу регистрации, текущий статус подключенности добавим в таблицу tms_webcall.voximplant_account, добавим топик переключения с записью в хадуп
**** Если есть возможность - подтверждение оригиналов документов
// нет (пока не обрабатываем этот кейс, для онлайн обработки также понадобятся коллбеки)
**** Если есть возможность - продление номера
// вроде тоже вне флоу регистрации, данные о продлении можно выгружать из апи воксов за период по запросу, либо настроить автоматизированную выгрузку с последующей записью в табли
** Факт подключения/отключения(Если есть возможность - продление номера) номера
// да, нижеперечисленными данными (кроме id телефона) можно доообагитить топик tms_webcall_voximplant_phone_number_purchase (сейчас там только номера) + эти данные также можно получать за выбранный период из апи вокса
*** Основные поля(dt, company_id, manager_id, event_id, session_id и тд) 
*** Номер тлф
*** id тлф
// нет
*** цена за подключение
*** Ежемесячный платеж
*** Страна
*** Категория
*** Регион
*** Если есть еще какая то инфа, лучше добавить
** Совершенный звонок
// указанное ниже (кроме основных полей, id телефона и типа устрайства) будем писать в таблицу постгресс tms_webcall.call_history
*** Основные поля(dt, company_id, manager_id, event_id, session_id и тд) 
*** id звонка
*** id тлф
*** Номер тлф с которого звонили
*** person_id, которому звонили
*** vacancy_id, из какой вакансии звонили(null, если звонили из вкладки кандидаты)
*** Длительность звонка в секндах
*** Был ли премедиа 
*** Дозвон/недозвон
*** Есть ли запись звонка
*** Тип устройства с которого был совершен звонок(по идее уже есть в сессии)
@mikevinograd
Copy link

mikevinograd commented May 7, 2025

https://gist.github.com/vitalibaranov/9d78642bf0b5a3c438cad4e171f0fae3#file-gistfile1-txt-L26

tms_webcall.call_history - В идеале хочется видеть в табличке platform_info. display_type(DESKTOP MOB_ DESKTOP),company_id, manager_id, person_id, vacancy_id, номер телефона, премидеа, дозвон/недозвон и длительность звонка в секундах( выбрать ту длительность за которую вокс берет деньги), в идеале сохранять все длительности(от нас до воксов, оператор, время сессии), есть ли запись звонка

У нас есть вариант брать длительность у воксов по апи(со стоимостью(два плеча), длительностью звонка и тд). Стоит ли самим их перепроверять. Уточнить у Димы стоит ли самому пересчитывать или довериться апи вокса. Но тут проблема - не будет стоимости звонка, поэтому будет затруднительно вычислить стоимость звонка(для этого лучше затягивать джейсонину)

Можно доставать всю инфу о всех событиях из джейсонины. Но нужно настроить крон, который будет забирать данные по всем клиентам
--В джейсонине будет тарификация/цена звонка и прочая инфа. Примерная оценка 1.5-2sp

Тарификация идет по минутам

@mikevinograd
Copy link

tms_webcall.voximplant_account, добавим топик переключения с записью в хадуп
Нужен топик подключения/отключения

@mikevinograd
Copy link

Может быть такое - что компания 1455 купила номер X, потом отключила номер X. И другая компания арендовала номер и ей попался номер X(который раньше был в компнаии 1455)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment