SenderInviteService
Майбутній спільний модуль family-application-api для банку chat/mail інвайтів. Контракт ще не спроєктований, бо поточні lifecycle суттєво різні й будуть перероблятися.
Поточна реалізація
| Family | Можливості | Хто керує |
|---|---|---|
| Golden | create, moderation, reject із причиною, повторне редагування, hide/restore, окремий active state | Operator створює; Supervisor і Top Manager модерують |
| Prime | create, hard delete, reorder; chat і mail списки | Supervisor і Top Manager |
| Chathouse | create, hard delete, reorder; additional chat messages; low-credit mail; sender analytics | Supervisor і Top Manager |
| Udate | create, hard delete, reorder; additional chat messages | Supervisor і Top Manager |
Типи й контент
| Family | Chat | |
|---|---|---|
| Golden | contact / agency, text 4–300 | NAF / FANM, text 500–2000, до 2 photo в active state |
| Prime | один ordered list, text 50–300 | один ordered list, text 500–3000, photo/video |
| Chathouse | один ordered list, text 50–300, до 2 additional text/photo/sticker | text 500–3000, photo, окремий low-credit invite |
| Udate | один ordered list, text 30–300, до 2 additional text/photo/sticker | text 500–3000, photo/video |
Delay additional message у Chathouse та Udate — від 15 секунд до 15 хвилин.
Frontend Prime, Chathouse і Udate блокує створення тексту із similarity >= 70%: для цього він завантажує всі наявні тексти й порівнює їх у browser. Backend цю перевірку не повторює.
Поточний flow
- Наш frontend працює напряму з endpoint-ами відповідної Family.
- Інвайти зберігаються у Family collection.
- Family SenderRunner або Electron отримує впорядкований чи active список.
- Відправлення, cooldown, counters і помилки записуються у власні Family-моделі.
Partner API для CRUD інвайтів не потрібен. Partner API використовується лише для медіа TU та фактичної відправки.
TODO: повна переробка
Перед реалізацією спільного сервісу треба заново затвердити:
- Формат FamilySenderInvite.
- Один lifecycle: створення, moderation, edit, hide/delete та restore.
- Права Operator, Supervisor і Top Manager.
- Спільний active list і порядок замість Golden slots та Family-масивів.
- Єдині audience для Golden
contact/agency,NAF/FANMта звичайних списків інших Family. - Main/additional messages, media, delay і low-credit.
- Єдині text limits і серверну similarity-перевірку.
- Одне frontend API та один startup contract для Electron.
- Винесення аналітики відповідей у SenderAnalyticsService. Робота Sender, send history, cooldown і помилки відправлення залишаються в Electron.
До цього рішення endpoint-и нового SenderInviteService не фіксуємо.