Чаты с ассистентом
Чаты директора с ИИ-ассистентом, который отвечает на вопросы о бизнесе, обращаясь к данным компании через инструменты MCP. Доступно только директору; каждый видит только свои чаты.
| Метод | Адрес | Назначение |
|---|---|---|
| POST | /company/assistant/chat/message | Задать вопрос ассистенту |
| GET | /company/assistant/chat | Список чатов |
| GET | /company/assistant/chat/{model} | Чат |
| DELETE | /company/assistant/chat/{model} | Удалить чат |
Задать вопрос ассистенту
/company/assistant/chat/messageБез chat_id начинает новый чат (название — начало вопроса), иначе продолжает свой чат; чужой chat_id отклоняется. Вопрос и ответ сохраняются, ассистенту передаются последние 30 сообщений. Ответ — chat и message; если ИИ-провайдер недоступен, сохраняется и возвращается сообщение-заглушка.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
chat_id | integer | Нет | ID существующей записи, доступной пользователю |
content | string | Да | Содержимое. Макс. 4000 символов |
{
"content": "Привет, ассистент!"
}curl -X POST "https://api.wasyt.uz/company/assistant/chat/message" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"content":"Привет, ассистент!"}'Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
chat | object | |
chat.id | integer | ID |
chat.title | string | |
chat.created_at | string | Создано |
chat.updated_at | string | Обновлено |
message | object | Сообщение |
message.id | integer | ID |
message.chat_id | integer | |
message.role | string | |
message.content | string | Содержимое |
message.created_at | string | Создано |
{
"chat": {
"id": 5,
"title": "Привет, ассистент!",
"created_at": "2026-09-30T07:50:58.000000Z",
"updated_at": "2026-09-30T07:50:58.000000Z"
},
"message": {
"id": 10,
"chat_id": 5,
"role": "assistant",
"content": "Здравствуйте! Чем могу помочь?",
"created_at": "2026-09-30T07:50:58.000000Z"
}
}Пример ошибки · 422
{
"message": "Выбранная запись не существует или была удалена",
"errors": {
"chat_id": [
"Выбранная запись не существует или была удалена"
]
}
}Список чатов
/company/assistant/chatПостраничный список собственных чатов текущего директора, по умолчанию от последних обновлённых.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры запроса
| Параметр | Описание |
|---|---|
filter[id] | ID — точное значение |
filter[created_at] | Создано — период: [0] — с, [1] — по (Y-m-d) |
sort[] | Сортировка, - — по убыванию: id, -id, updated_at, -updated_at |
with[] | Подгрузить связи: messages |
page | Номер страницы, с 1 |
page-size | Записей на странице, не больше 20 |
Ответ · 200
Постраничный ответ: записи в data[], пагинация в links и meta.
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
data | object[] | Данные |
data[].id | integer | ID |
data[].title | string | |
data[].created_at | string | Создано |
data[].updated_at | string | Обновлено |
{
"data": [
{
"id": 3,
"title": "Сколько продаж сегодня?",
"created_at": "2026-09-30T07:50:58.000000Z",
"updated_at": "2026-09-30T07:50:58.000000Z"
}
],
"links": {
"first": "https://api.wasyt.uz/company/assistant/chat?page=1",
"last": "https://api.wasyt.uz/company/assistant/chat?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [],
"path": "https://api.wasyt.uz/company/assistant/chat",
"per_page": 20,
"to": 1,
"total": 1
}
}Чат
/company/assistant/chat/{model}Один свой чат по ID; with[]=messages добавляет сообщения. Чужой чат — 404.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры пути
| Параметр | Описание |
|---|---|
model | ID записи |
Параметры запроса
| Параметр | Описание |
|---|---|
with[] | Подгрузить связи |
GET /company/assistant/chat/11?with[0]=messagesОтвет · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id | integer | ID |
title | string | |
created_at | string | Создано |
updated_at | string | Обновлено |
messages | object[] | |
messages[].id | integer | ID |
messages[].chat_id | integer | |
messages[].role | string | |
messages[].content | string | Содержимое |
messages[].created_at | string | Создано |
{
"id": 11,
"title": "Сколько продаж сегодня?",
"created_at": "2026-09-30T07:51:00.000000Z",
"updated_at": "2026-09-30T07:51:00.000000Z",
"messages": [
{
"id": 23,
"chat_id": 11,
"role": "user",
"content": "Сколько продаж сегодня?",
"created_at": "2026-09-30T07:51:00.000000Z"
},
{
"id": 24,
"chat_id": 11,
"role": "assistant",
"content": "Сегодня продаж не было.",
"created_at": "2026-09-30T07:51:00.000000Z"
}
]
}Удалить чат
/company/assistant/chat/{model}Удаляет свой чат вместе с сообщениями. Чужой чат удалить нельзя.
Из формы (
multipart/form-data) методDELETEотправляется какPOSTс параметром?_method=DELETE.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры пути
| Параметр | Описание |
|---|---|
model | ID записи |
Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
message | string | Сообщение |
{
"message": "Success"
}
