Skip to content

Чаты с ассистентом ​

Чаты директора с ИИ-ассистентом, который отвечает на вопросы о бизнесе, обращаясь к данным компании через инструменты MCP. Доступно только директору; каждый видит только свои чаты.

МетодАдресНазначение
POST/company/assistant/chat/messageЗадать вопрос ассистенту
GET/company/assistant/chatСписок чатов
GET/company/assistant/chat/{model}Чат
DELETE/company/assistant/chat/{model}Удалить чат

Задать вопрос ассистенту ​

POST/company/assistant/chat/message

Без chat_id начинает новый чат (название — начало вопроса), иначе продолжает свой чат; чужой chat_id отклоняется. Вопрос и ответ сохраняются, ассистенту передаются последние 30 сообщений. Ответ — chat и message; если ИИ-провайдер недоступен, сохраняется и возвращается сообщение-заглушка.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Тело запроса ​

ПолеТипОбязательноОписание
chat_idintegerНетID существующей записи, доступной пользователю
contentstringДаСодержимое. Макс. 4000 символов
json
{
    "content": "Привет, ассистент!"
}
bash
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 ​

Поля ответа
ПолеТипОписание
chatobject
chat.idintegerID
chat.titlestring
chat.created_atstringСоздано
chat.updated_atstringОбновлено
messageobjectСообщение
message.idintegerID
message.chat_idinteger
message.rolestring
message.contentstringСодержимое
message.created_atstringСоздано
json
{
    "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 ​

json
{
    "message": "Выбранная запись не существует или была удалена",
    "errors": {
        "chat_id": [
            "Выбранная запись не существует или была удалена"
        ]
    }
}

Список чатов ​

GET/company/assistant/chat

Постраничный список собственных чатов текущего директора, по умолчанию от последних обновлённых.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: 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.

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].idintegerID
data[].titlestring
data[].created_atstringСоздано
data[].updated_atstringОбновлено
json
{
    "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
    }
}

Чат ​

GET/company/assistant/chat/{model}

Один свой чат по ID; with[]=messages добавляет сообщения. Чужой чат — 404.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Параметры пути ​

ПараметрОписание
modelID записи

Параметры запроса ​

ПараметрОписание
with[]Подгрузить связи
http
GET /company/assistant/chat/11?with[0]=messages

Ответ · 200 ​

Поля ответа
ПолеТипОписание
idintegerID
titlestring
created_atstringСоздано
updated_atstringОбновлено
messagesobject[]
messages[].idintegerID
messages[].chat_idinteger
messages[].rolestring
messages[].contentstringСодержимое
messages[].created_atstringСоздано
json
{
    "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"
        }
    ]
}

Удалить чат ​

DELETE/company/assistant/chat/{model}

Удаляет свой чат вместе с сообщениями. Чужой чат удалить нельзя.

Из формы (multipart/form-data) метод DELETE отправляется как POST с параметром ?_method=DELETE.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Параметры пути ​

ПараметрОписание
modelID записи

Ответ · 200 ​

Поля ответа
ПолеТипОписание
messagestringСообщение
json
{
    "message": "Success"
}