Backend-API

Backend API (stack-golden)

api.besocial.tech/golden/api-docs/ · src/main/api/ · src/shared/utils/urls.ts

REST-частина яку electron реально викликає у бекенді stack-golden. Не плутати з повним API golden — більшість його груп (/admin, /lady, /operator, /agency, /supervisor, /dashboard, /statistics/v2, тощо) — це адмінська/менеджмент-зона і operator-клієнт їх не споживає.

Swagger UI

Ціль: один auto-Swagger /golden/api-docs/v2 — генерується з routing-controllers декораторів, охоплює всі мігровані контролери.

Поки тривalla міграція, паралельно живуть тимчасові ручні YAML (заплановано видалити після того як усі групи перейдуть на routing-controllers):

UIURLТипСтатус
v2 (auto)/golden/api-docs/v2auto з routing-controllersціль — тут має бути все
Main/golden/api-docs/ручний YAML, коріньтимчасово, видаляємо
Operator API/golden/api-docs/operator-apiручний YAMLтимчасово, видаляємо
Old API/golden/api-docs/old-apiручний YAMLтимчасово, видаляємо
New API/golden/api-docs/new-apiручний YAMLтимчасово, видаляємо

Деякі ендпоінти можуть бути одночасно і у v2, і в ручних YAML — нормально, це частина переходу. Дивись на v2 як на джерело правди для мігрованих контролерів.


Що electron викликає

/golden/electron-api/* — основна група

Мігрована на routing-controllers. Корінь: Electron API в v2.

ПідгрупаEndpointsПризначення
init/datagetOperatorLadies, getFavorites, getActualAgencyStore, getMenStoreПочаткове наповнення стору оператора
taskstask/create, task/updateById, task/deleteById, task/deleteMany, getTasks, getStatistics, getStatisticsForTasksCRUD тасків + статистика
chat sendersender-chat/getMessages, sender-chat/getHistory, sender-chat/getAll, sender-chat/updateState, sender-chat/group, sender-chat/reorder, sender-chat/addToWhiteList, sender-chat/deleteFromWhiteListІнвайти/стан чат-сендера
mail sendersender-mail/getMessages, sender-mail/getHistory, sender-mail/getAll, sender-mail/updateState, sender-mail/getBlackLists, sender-mail/getBlockList, sender-mail/setBlockListІнвайти/стан mail-сендера
commonsenders/getState, checkLadiesOnline, saveNewMen, updateSenderErrorСпільні sender-операції
systemping, getTime, syncData, saveLog, sendLogFile, sendErrorAlert, updates/check, updates/downloadHealth, sync, логи, оновлення (бінарний download)

/golden/extension/* — invites + whitelist

Legacy bindRoutes (НЕ в v2). Вірогідно описано у Main Swagger або Old API.

Endpoints що споживає electron: getWhiteList, createChatMessage, editChatMessage, createMailMessage, editMailMessage.

/golden/mailExtension/* — NAF/FANM blacklists

Legacy bindRoutes (НЕ в v2).

Endpoints: getNAFBlacklist, getFANMBlacklist, addToNAFBlacklist, addToFANMBlacklist, deleteFromNAFBlacklist, deleteFromFANMBlacklist.

/golden/favorites/*

Legacy bindRoutes (НЕ в v2). Endpoint: updateFavoritById.

/golden/api/* — Golden Key

Legacy bindRoutes (НЕ в v2). Endpoints: getGoldenKey, refreshGoldenKey — отримання/оновлення ключа для викликів у goldenbride.net.


Swagger UI підтримує URL-hash deeplinks. Загальна форма:

<swagger-root>#/<TagName>/<operationId>

Приклади:

Точну форму operationId найпростіше скопіювати з URL-bar браузера після кліку на endpoint у UI.


Конвенція відповідей

Усі ендпоінти повертають HTTP 200 з тілом одного з форматів:

// success
{ "success": true, "data": <payload> }
 
// error
{ "success": false, "data": null, "message": "...", "statusCode": <code>, "context": "..." }

Виняток: MiddlevareGuard (без потрібної ролі — HTTP 400 з {success:false, data:{message:'Not allow role'}}; без токена — HTTP 401 з порожнім body).

Відмінний від /golden шлях — окремі мікросервіси (не покриваються цим документом):

  • /notes/*, /ai-notes/translate — нотатки
  • /email-messages/*, /lady-emails/*, /email-media/* — email
  • /login — auth у іншому сервісі

Зв’язки

  • Клієнтський шар у electron: src/main/api/ (stack.service, api-task.service, api-chat-sender.service, api-mail-sender.service, api-sender.service, api-email.service, official-api.service)
  • URL-константи: src/shared/utils/urls.ts (об’єкт BeSocialRoutes)
  • Спільні типи відповідей: src/shared/interfaces/*api*.interface.ts