Перейти к основному содержимому

support

Эндпоинтов: 4

GET /api/support/attachments/{id}​

Картинка своего диалога

Авторизация: Cookie (connect.sid) или Bearer PAT

Отдаёт файл только автору диалога. Тип проверен при загрузке: png, jpeg, webp или gif.

curl -s http://localhost:5000/api/support/attachments/1 -b cookies.txt -o screen.png

Operation ID: get_api_support_attachments_id_dcc7afdc3dddb6f3

Параметры​

ИмяInОбязательныйОписаниеПример
idpathдаИдентификатор вложения"1"
connect.sidcookieнетСессия Studio. Не нужна, если задан Bearer PAT. Без обоих — 401."s%3Axxxx.yyyy"

Ответы​

КодОписание
200Картинка. Content-Type — сохранённый MIME, Content-Disposition: inline
401Нет сессии
404Нет файла или он из чужого диалога

POST /api/support/messages​

Написать в поддержку

Авторизация: Cookie (connect.sid) или Bearer PAT

Создаёт диалог при первом сообщении, увеличивает непрочитанное у администратора и переоткрывает закрытый чат. Поля text и files (картинки). Пустая отправка без текста и без файлов — 400. context — JSON-строка.

curl -s -X POST http://localhost:5000/api/support/messages -b cookies.txt -F text='Не сохраняется сценарий' -F files=@screen.png

Operation ID: post_api_support_messages_532e2a19e412cb35

Параметры​

ИмяInОбязательныйОписаниеПример
connect.sidcookieнетСессия Studio. Не нужна, если задан Bearer PAT. Без обоих — 401."s%3Axxxx.yyyy"

Ответы​

КодОписание
201Сообщение сохранено
400Пустое сообщение, файл не картинка, больше 8 МБ или текст длиннее 4000
401Нет session cookie и Bearer PAT
500Ошибка базы

Пример ответа 201​

{
"id": 1,
"sender": "user",
"text": "Не сохраняется сценарий",
"context": {
"projectId": 294,
"path": "/editor/294",
"userAgent": "Mozilla/5.0"
},
"source": "web",
"createdAt": "2026-09-30T11:10:20.787Z",
"attachments": []
}

POST /api/support/read​

Отметить ответы прочитанными

Авторизация: Cookie (connect.sid) или Bearer PAT

Обнуляет unreadByUser своего диалога. Если диалога ещё нет, отвечает { ok: true } без ошибки.

curl -s -X POST http://localhost:5000/api/support/read -b cookies.txt

Operation ID: post_api_support_read_6801be5ee133add1

Параметры​

ИмяInОбязательныйОписаниеПример
connect.sidcookieнетСессия Studio. Не нужна, если задан Bearer PAT. Без обоих — 401."s%3Axxxx.yyyy"

Ответы​

КодОписание
200Счётчик обнулён
401Нет session cookie и Bearer PAT

Пример ответа 200​

{
"ok": true
}

GET /api/support/thread​

Свой диалог поддержки

Авторизация: Cookie (connect.sid) или Bearer PAT

Диалог текущего пользователя и сообщения. thread равен null, пока пользователь ни разу не писал. Auth: cookie connect.sid или Bearer PAT, виден только свой чат. UI: кнопка чата в шапке.

curl -s http://localhost:5000/api/support/thread -b cookies.txt

Operation ID: get_api_support_thread_b57d575ce3b44201

Параметры​

ИмяInОбязательныйОписаниеПример
connect.sidcookieнетСессия Studio. Не нужна, если задан Bearer PAT. Без обоих — 401."s%3Axxxx.yyyy"

Ответы​

КодОписание
200Диалог и сообщения
401Нет session cookie и Bearer PAT
500Ошибка базы

Пример ответа 200​

{
"thread": {
"id": 1,
"status": "open",
"unreadByAdmin": 0,
"unreadByUser": 0,
"lastMessageAt": "2026-09-30T11:11:04.565Z"
},
"messages": [
{
"id": 1,
"sender": "user",
"text": "Не сохраняется сценарий",
"context": {
"projectId": 294,
"path": "/editor/294",
"userAgent": "Mozilla/5.0"
},
"source": "web",
"createdAt": "2026-09-30T11:10:20.787Z",
"attachments": []
},
{
"id": 2,
"sender": "admin",
"text": "Проверьте, что проект открыт, и повторите сохранение.",
"context": null,
"source": "web",
"createdAt": "2026-09-30T11:11:04.565Z",
"attachments": []
}
],
"telegramBot": "support_bot"
}