Настройки AI оператора канала

Через этот endpoint можно получить и обновить настройки AI оператора у конкретного канала: включить/выключить AI, привязать контекст, набор товаров, базу знаний и API интеграцию.

Токен должен иметь scope channel_ai_operator.

Базовый URL: https://api.apx.chat/api

Структура настроек

JSON
{
  "status": true,
  "contextUuid": "uuid",
  "productUuid": "uuid",
  "knowledgeUuid": "uuid",
  "apiIntegrationUuid": "uuid"
}
  • status — включён ли AI оператор для канала.
  • contextUuid — идентификатор контекста (Контексты).
  • productUuid — идентификатор набора товаров (Наборы товаров).
  • knowledgeUuid — идентификатор базы знаний (Базы знаний).
  • apiIntegrationUuid — идентификатор API интеграции (API интеграции).

Любое поле можно передать как null, чтобы снять привязку.

Получение channelId

const url = "https://api.apx.chat/api/external/channels";

const response = await fetch(url, {
  method: "GET",
  headers: {
    "X-Api-Token": "tok_xxxxx",
  },
});

const data = await response.json();
console.log(data);

Подробно: /docs/channels

Получить настройки

GET /api/external/channels/{channelId}/ai-operator

const url = "https://api.apx.chat/api/external/channels/{channelId}/ai-operator";

const response = await fetch(url, {
  method: "GET",
  headers: {
    "X-Api-Token": "tok_xxxxx",
  },
});

const data = await response.json();
console.log(data);

Обновить настройки (частично)

PATCH /api/external/channels/{channelId}/ai-operator

Передавайте только те поля, которые меняются. Каждый UUID валидируется на существование и принадлежность вашей организации.

const url = "https://api.apx.chat/api/external/channels/{channelId}/ai-operator";

const payload = {
"status": true,
"contextUuid": "b0c6...",
"productUuid": "4a5f...",
"knowledgeUuid": "fd21...",
"apiIntegrationUuid": null
};

const response = await fetch(url, {
  method: "PATCH",
  headers: {
    "X-Api-Token": "tok_xxxxx",
    "Content-Type": "application/json",
  },
  body: JSON.stringify(payload),
});

const data = await response.json();
console.log(data);

Что происходит после смены

  • Смена productUuid или knowledgeUuid перезапускает индексацию связанных загрузок для этого канала.
  • Настройки кешируются: после PATCH кеш канала автоматически сбрасывается.
  • Если status = false, AI оператор не отвечает в виджете.

Коды ответов

  • 200 — успех
  • 400 — невалидный JSON или UUID не принадлежит организации
  • 401 — невалидный токен или недостаточный scope
  • 404 — канал или ресурс не найден