Інвайти
Тримає активні інвайти TU, керує їх створенням і вибирає інвайт для сендера. Партнерські API не використовує.
Дані
Invite {
id
tuId
channel: 'chat' | 'mail'
audience: 'favorite' | 'new'
text
mediaIds
order
status: 'APPROVED' | 'ON_MODERATION' | 'REJECTED' | 'HIDDEN'
rejectReason?
}Активні списки зберігаються окремо для TU + channel + audience. На старті approved-інвайти приходять у стартових даних.
Створення
- Оператор відкриває потрібну
TU + channel + audience; ці поля не вибираються повторно у формі. - Вводить текст і, для mail, за потреби вибирає вкладення через медіа.
- Electron нормалізує текст і перевіряє довжину: chat
4–300, mail500–2000. - Наш API створює інвайт зі статусом
ON_MODERATION. - Після редагування відхиленого інвайта він повторно переходить у
ON_MODERATION.
Тімлід переводить інвайт у APPROVED або REJECTED із причиною. HIDDEN є soft-delete.
Активні інвайти
- активувати можна тільки
APPROVED; - оператор активує, вимикає та змінює порядок інвайтів;
- кожна зміна одразу зберігається через наше API й оновлює відповідний активний список;
- групи Golden потрібні лише UI і не впливають на вибір.
Поточний Golden:
- chat — до
18активних FAV і до6NEW інвайтів; - mail — один активний інвайт для кожного audience;
- до mail-інвайта можна прикріпити до двох фото.
Вибір
Сендер передає channel, audience та історію успішних відправлень RU.
- Взяти активний список потрібного
TU + channel + audience. - За
orderзнайти перший інвайт, який ще не був успішно відправлений цьому RU. - Якщо всі використані, застосувати правило повтору.
- Повернути інвайт сендеру без зміни стану.
Лише підтверджена відправка потрапляє в SenderHistory. Помилка не рухає ланцюжок.
У поточному Golden:
- chat-інвайт можна повторити тому самому RU через
3 год; - активний mail FAV скидається наступного дня після першої відправки;
- активний mail NEW скидається через
7 днів.
Цільові строки повтору та кількість активних mail-інвайтів для спільного сендера — TODO.
Зв’язки
- Отримує активні списки: стартові дані та наше API.
- Використовує: медіа під час створення mail-інвайта.
- Віддає вибраний інвайт: сендеру.