Family TU API
Сервіс, який має бути реалізований у кожному Family-проєкті. Виконує partner API-запити від імені TU, а в Udate — від імені призначеного suboperator.
Задача
Для кожної операції сервіс:
- Формує Family request.
- Передає його у FamilyRequestService.
- Нормалізує partner response.
Одна операція може використовуватися і family-application-api, і Electron. Family-реалізація операції при цьому залишається одна.
✅ — є в поточному коді · 🟡 — є обмеження або треба уточнити контракт · — — окремого API немає
Наш frontend і backend
Frontend звертається до family-application-api. За потреби він запускає відповідну операцію на Family-сервісі.
| № | Операція | Golden | Prime | Chathouse | Udate |
|---|---|---|---|---|---|
| 1 | Профіль TU для workspace тімліда | ✅ | ✅ | ✅ | ✅ |
| 2 | Профіль RU | 🟡 | ✅ | ✅ | ✅ |
| 3 | Переписка / повідомлення | ✅ | 🟡 | ✅ | ✅ |
| 4 | Листування | 🟡 | ✅ | ✅ | ✅ |
| 5 | mail медіа TU | ✅ | ✅ | 🟡 | ✅ |
| 6 | Icebreakers | — | ✅ | ✅ | ✅ |
| 7 | Newsfeed | — | ✅ | — | — |
| 8 | Online RU для backend | ✅ | 🟡 | 🟡 | 🟡 |
Live online RU наш frontend не запитує. Якщо online потрібен сторінці, frontend отримує вже збережені сервером дані.
Electron
| № | Операція | Golden | Prime | Chathouse | Udate |
|---|---|---|---|---|---|
| 1 | Online RU | ✅ | ✅ | ✅ | ✅ |
| 2 | Профіль RU | 🟡 | ✅ | ✅ | ✅ |
| 3 | Переписка / повідомлення | ✅ | 🟡 | ✅ | ✅ |
| 4 | Листування | 🟡 | ✅ | ✅ | ✅ |
| 5 | Непрочитані діалоги | ✅ | ✅ | ✅ | ✅ |
| 6 | Усі діалоги | — | ✅ | ✅ | ✅ |
| 7 | Limits і restrictions | — | ✅ | ✅ | ✅ |
| 8 | Blocks | 🟡 | ✅ | 🟡 | ✅ |
| 9 | mail медіа TU | ✅ | ✅ | ✅ | ✅ |
| 10 | Відправлення повідомлення | ✅ | ✅ | ✅ | ✅ |
| 11 | Відправлення листа | ✅ | ✅ | ✅ | ✅ |
| 12 | Gifts / stickers / reactions | ✅ | ✅ | ✅ | ✅ |
| 13 | Збережені діалоги / bookmarks | — | ✅ | ✅ | ✅ |
| 14 | Icebreakers | — | ✅ | ✅ | ✅ |
| 15 | Тримання online TU | ✅ | — | ✅ | — |
| 16 | Створення діалогу | — | ✅ | — | ✅ |
| 17 | Newsfeed | — | ✅ | — | — |
| 18 | Activity Alerts | — | — | — | ✅ |
| 19 | Stories | — | — | — | ✅ |
| 20 | Exclusive Posts | — | ✅ | — | — |
Likes не об’єднуються з bookmarks. Вхідні likes належать до подій і повідомлень Electron; окрему API-операцію додаємо лише там, де потрібно самостійно поставити або зняти like.
Udate Activity Alerts використовує Activity Alerts Udate, Stories — Stories Udate. Prime Exclusive Posts описані в окремій Electron-фічі.
Профіль TU
Не змішуємо три різні набори даних:
- Partner-профіль TU: TU Sync Worker оновлює
FamilyTU.profile, а frontend читає його черезTUService. - Повний профіль у workspace тімліда: окремий live-запит від імені TU або suboperator через Family TU API.
- TU Card у Stack: наша внутрішня картка людини; до Family TU API не належить.
Поточні запити workspace тімліда: Golden — workspace/getLadyProfile, Prime — chat/getDetailInfo, Chathouse — supervisor/getProfile, Udate — supervisor/ladyProfile.
Медіа TU
Керування медіа описано у TUMediaService, Family-адаптація — у FamilyTUMediaService, конкретні запити — у Family TU Media API.
Online RU
| Family | Поточне отримання online RU |
|---|---|
| Golden | Worker напряму отримує загальні списки online RU і TU через partner API |
| Prime | Список збирається для активної TU через online-діалоги |
| Chathouse | Список збирається для активної TU через пагінацію online-діалогів |
| Udate | Список збирається для активної TU через список діалогів з фільтром ONLINE |
Для Electron це TU-операція. Для серверної статистики Golden має окреме джерело, а для Prime, Chathouse і Udate ще треба визначити, як передавати та зберігати зібраний online після перенесення workspace в Electron.
Family
- Golden використовує простий API, GWT і Official API; transport визначається конкретною операцією.
- Prime частину результатів повертає асинхронно через socket і
messageIdForConfirm. - Chathouse виконує TU-запити з bearer token.
- Udate виконує запити через session призначеного suboperator.