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

project-tables

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

GET /api/projects/{id}/tables

Список таблиц контента проекта

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

Пользовательские таблицы bot_tables для панели Database в редакторе.

Auth: requireDbReady + requireProjectAccess (cookie / Bearer PAT).

Клиент: tables-api → TablesPanel.

curl -s http://localhost:5000/api/projects/42/tables -b cookies.txt

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Ответы

КодОписание
200Массив таблиц
400Некорректный ID проекта
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
500Ошибка БД

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

[
{
"id": 1,
"projectId": 42,
"name": "Товары",
"createdAt": "2026-08-01T10:00:00.000Z"
}
]

POST /api/projects/{id}/tables

Создать таблицу контента

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

Создаёт bot_tables с полем name.

Auth: requireDbReady + requireProjectAccess (cookie / Bearer PAT).

Клиент: tables-api → TablesPanel.

curl -s -X POST http://localhost:5000/api/projects/42/tables -b cookies.txt \
-H 'Content-Type: application/json' -d '{"name":"Товары"}'

Тело запроса: CreateBotTableBody

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Пример тела запроса

{
"name": "Товары"
}

Ответы

КодОписание
201Созданная таблица
400Нет name или некорректный ID проекта
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
500Ошибка БД

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

{
"id": 1,
"projectId": 42,
"name": "Товары",
"createdAt": "2026-08-01T10:00:00.000Z"
}

DELETE /api/projects/{id}/tables/{tableId}

Удалить таблицу

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

Удаляет таблицу и связанные колонки/строки (CASCADE).

Auth: requireDbReady + requireProjectAccess (cookie / Bearer PAT).

Клиент: tables-api → TablesPanel.

curl -s -X DELETE http://localhost:5000/api/projects/42/tables/1 -b cookies.txt

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
tableIdpathдаID таблицы bot_tables"1"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Ответы

КодОписание
200Удалено
400Некорректный tableId
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
404Таблица не найдена
500Ошибка БД

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

{
"success": true
}

PUT /api/projects/{id}/tables/{tableId}

Переименовать таблицу

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

Обновляет name. API есть; UI-хук useRenameTable в TablesPanel не подключён.

Auth: requireDbReady + requireProjectAccess (cookie / Bearer PAT).

Клиент: tables-api.renameTable.

curl -s -X PUT http://localhost:5000/api/projects/42/tables/1 -b cookies.txt \
-H 'Content-Type: application/json' -d '{"name":"Услуги"}'

Тело запроса: RenameBotTableBody

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
tableIdpathдаID таблицы bot_tables"1"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Пример тела запроса

{
"name": "Услуги"
}

Ответы

КодОписание
200Обновлённая таблица
400Нет name или некорректный tableId
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
404Таблица не найдена
500Ошибка БД

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

{
"id": 1,
"projectId": 42,
"name": "Услуги",
"createdAt": "2026-08-01T10:00:00.000Z"
}

GET /api/projects/{id}/tables/{tableId}/columns

Список колонок таблицы

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

Колонки bot_table_columns для панели Database.

Auth: requireDbReady + requireProjectAccess (cookie / Bearer PAT).

Клиент: tables-api → TablesPanel.

curl -s http://localhost:5000/api/projects/42/tables/1/columns -b cookies.txt

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
tableIdpathдаID таблицы bot_tables"1"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Ответы

КодОписание
200Массив колонок
400Некорректный tableId
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
500Ошибка БД

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

[
{
"id": 3,
"tableId": 1,
"name": "Цена",
"position": 0
},
{
"id": 4,
"tableId": 1,
"name": "Название",
"position": 1
}
]

POST /api/projects/{id}/tables/{tableId}/columns

Создать колонку

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

Тело: { name, position? }position по умолчанию 0.

Auth: requireDbReady + requireProjectAccess.

Клиент: tables-api → TablesPanel.

curl -s -X POST http://localhost:5000/api/projects/42/tables/1/columns \
-b cookies.txt -H 'Content-Type: application/json' \
-d '{"name":"Цена","position":0}'

Тело запроса: CreateBotTableColumnBody

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
tableIdpathдаID таблицы bot_tables"1"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Пример тела запроса

{
"name": "Цена",
"position": 0
}

Ответы

КодОписание
201Созданная колонка
400Нет name или некорректный tableId
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
500Ошибка БД

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

{
"id": 3,
"tableId": 1,
"name": "Цена",
"position": 0
}

DELETE /api/projects/{id}/tables/{tableId}/columns/{columnId}

Удалить колонку

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

Удаляет колонку таблицы.

Auth: requireDbReady + requireProjectAccess (cookie / Bearer PAT).

Клиент: tables-api → TablesPanel.

curl -s -X DELETE http://localhost:5000/api/projects/42/tables/1/columns/3 \
-b cookies.txt

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
tableIdpathдаID таблицы bot_tables"1"
columnIdpathдаID колонки bot_table_columns"3"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Ответы

КодОписание
200Удалено
400Некорректный columnId
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
404Колонка не найдена
500Ошибка БД

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

{
"success": true
}

PUT /api/projects/{id}/tables/{tableId}/columns/{columnId}

Переименовать колонку

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

Обновляет name колонки bot_table_columns.

Auth: requireDbReady + requireProjectAccess (cookie / Bearer PAT).

Клиент: tables-api → TablesPanel.

curl -s -X PUT http://localhost:5000/api/projects/42/tables/1/columns/3 \
-b cookies.txt -H 'Content-Type: application/json' \
-d '{"name":"Стоимость"}'

Тело запроса: RenameBotTableColumnBody

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
tableIdpathдаID таблицы bot_tables"1"
columnIdpathдаID колонки bot_table_columns"3"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Пример тела запроса

{
"name": "Стоимость"
}

Ответы

КодОписание
200Обновлённая колонка
400Нет name или некорректный columnId
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
404Колонка не найдена
500Ошибка БД

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

{
"id": 3,
"tableId": 1,
"name": "Стоимость",
"position": 0
}

GET /api/projects/{id}/tables/{tableId}/rows

Список строк таблицы

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

Строки bot_table_rows с data: Record<string,string>.

Auth: requireDbReady + requireProjectAccess (cookie / Bearer PAT).

Клиент: tables-api → TablesPanel.

curl -s http://localhost:5000/api/projects/42/tables/1/rows -b cookies.txt

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
tableIdpathдаID таблицы bot_tables"1"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Ответы

КодОписание
200Массив строк
400Некорректный tableId
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
500Ошибка БД

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

[
{
"id": 10,
"tableId": 1,
"rowIndex": 0,
"data": {
"3": "100",
"4": "Товар A"
}
}
]

POST /api/projects/{id}/tables/{tableId}/rows

Создать строки (батч)

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

Тело { rows: [{ rowIndex?, data? }] } — массив непустой. Без rowIndex берётся индекс в массиве; data по умолчанию {}.

Auth: requireDbReady + requireProjectAccess.

Клиент: tables-api → TablesPanel.

curl -s -X POST http://localhost:5000/api/projects/42/tables/1/rows \
-b cookies.txt -H 'Content-Type: application/json' \
-d '{"rows":[{"rowIndex":0,"data":{"3":"100"}}]}'

Тело запроса: CreateBotTableRowsBody

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
tableIdpathдаID таблицы bot_tables"1"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Пример тела запроса

{
"rows": [
{
"rowIndex": 0,
"data": {
"3": "100",
"4": "Товар A"
}
}
]
}

Ответы

КодОписание
201Созданные строки
400Пустой rows или некорректный tableId
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
500Ошибка БД

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

[
{
"id": 10,
"tableId": 1,
"rowIndex": 0,
"data": {
"3": "100",
"4": "Товар A"
}
}
]

DELETE /api/projects/{id}/tables/{tableId}/rows/{rowId}

Удалить строку

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

Удаляет строку bot_table_rows.

Auth: requireDbReady + requireProjectAccess (cookie / Bearer PAT).

Клиент: tables-api → TablesPanel.

curl -s -X DELETE http://localhost:5000/api/projects/42/tables/1/rows/10 \
-b cookies.txt

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
tableIdpathдаID таблицы bot_tables"1"
rowIdpathдаID строки bot_table_rows"10"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Ответы

КодОписание
200Удалено
400Некорректный rowId
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
404Строка не найдена
500Ошибка БД

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

{
"success": true
}

PUT /api/projects/{id}/tables/{tableId}/rows/{rowId}

Обновить строку

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

Тело { data: object }. Side-effects: если таблица _contentsyncTableToScenario; Redis bot:table_updated:{projectId} с JSON {tableId}.

Auth: requireDbReady + requireProjectAccess (cookie / Bearer PAT).

Клиент: tables-api → TablesPanel.

curl -s -X PUT http://localhost:5000/api/projects/42/tables/1/rows/10 \
-b cookies.txt -H 'Content-Type: application/json' \
-d '{"data":{"3":"150","4":"Товар A"}}'

Тело запроса: UpdateBotTableRowBody

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
tableIdpathдаID таблицы bot_tables"1"
rowIdpathдаID строки bot_table_rows"10"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Пример тела запроса

{
"data": {
"3": "150",
"4": "Товар A"
}
}

Ответы

КодОписание
200Обновлённая строка
400Нет data или некорректный rowId
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
404Строка не найдена
500Ошибка БД

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

{
"id": 10,
"tableId": 1,
"rowIndex": 0,
"data": {
"3": "150",
"4": "Товар A"
}
}

POST /api/projects/{id}/tables/{tableId}/rows/reindex

Переиндексировать строки

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

Пересчитывает rowIndex строк таблицы. В Express регистрируется до /rows/:rowId, чтобы reindex не воспринимался как rowId.

Auth: requireDbReady + requireProjectAccess (cookie / Bearer PAT).

Клиент: tables-api → TablesPanel.

curl -s -X POST http://localhost:5000/api/projects/42/tables/1/rows/reindex \
-b cookies.txt

Параметры

ИмяInОбязательныйОписаниеПример
idpathдаID проекта bot_projects"42"
tableIdpathдаID таблицы bot_tables"1"
AuthorizationheaderнетAuthorization: Bearer mcp_… — PAT агента (альтернатива cookie)"Bearer mcp_xxxxxxxx"
connect.sidcookieнетSession cookie после login. Не нужна при Authorization: Bearer mcp_…"s%3Axxxx.yyyy"

Ответы

КодОписание
200Индексы обновлены
400Некорректный tableId
401Нет session cookie и Bearer PAT
403Нет доступа к проекту
500Ошибка БД

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

{
"success": true
}