Формула ИИ для разработчиков Справочник API Каталог ошибок OpenAPI
Разделы

Каналы

Методов в разделе: 2. Все методы

МетодПутьОписаниеОбластиСтатус
GET/channels/{id}/widgetНастройки чат-виджетаchannels:readДоступно
PATCH/channels/{id}/widgetИзменить настройки чат-виджетаchannels:writeДоступно
GET /channels/{id}/widget Доступно

#Настройки чат-виджета

Оформление чат-виджета канала web_chat вашего аккаунта: ассистент, ожидание оператора, подпись, файлы посетителя, цвет и прочее. Канал другого типа или чужой — not_found.

Области
channels:read
Предел частоты
чтение
Идемпотентность
не требуется
Успешный ответ
200 Настройки виджета.

Параметры

ПолеТипОписание
idstring
обязательное
Где: path. Идентификатор канала web_chat.

Тело ответа

ПолеТипОписание
channel_idstring
обязательное
Идентификатор канала web_chat.
namestring
обязательное
Имя канала.
is_activeboolean
обязательное
Канал включён.
assistant_namestring
обязательное, может быть null
Имя ассистента в шапке; по умолчанию — имя канала. До 60 знаков.
assistant_subtitlestring
обязательное, может быть null
Подзаголовок ассистента. До 80 знаков.
assistant_avatar_urlstring
обязательное, может быть null
Иконка ассистента (шапка и лента). Только https:// или путь вашего сайта на этой ячейке, начинающийся с «/». До 500 знаков.
queue_titlestring
обязательное, может быть null
Заголовок шапки, пока диалог ждёт оператора. До 60 знаков.
queue_subtitlestring
обязательное, может быть null
Подзаголовок ожидания оператора. До 80 знаков.
queue_icon_urlstring
обязательное, может быть null
Иконка ожидания оператора. Только https:// или путь вашего сайта на этой ячейке, начинающийся с «/». До 500 знаков.
powered_byChannelWidgetPoweredBy
обязательное
filesChannelWidgetFiles
обязательное
colorstring
обязательное, может быть null
Цвет виджета: #rrggbb.
greetingstring
обязательное, может быть null
Приветствие. До 500 знаков.
positionstring
обязательное, может быть null
Угол кнопки.
Значения: bottom-right bottom-left
themestring
обязательное, может быть null
Тема.
Значения: light dark
bubble_textstring
обязательное, может быть null
Подсказка у кнопки. До 60 знаков.
delayinteger
обязательное, может быть null
Задержка показа, секунды.
consent_textstring
обязательное, может быть null
Текст согласия перед первым сообщением. До 600 знаков.
consent_urlstring
обязательное, может быть null
Ссылка на документ согласия: только https://.

Примеры

Запрос
curl -X GET 'https://formula-cream.pro/api/public/v1/channels/EXAMPLE_ID/widget' \
  -H 'Authorization: Bearer '"$API_KEY"
Ответ 200
{
  "channel_id": "EXAMPLE_ID",
  "name": "string",
  "is_active": false,
  "assistant_name": "string",
  "assistant_subtitle": "string",
  "assistant_avatar_url": "https://example.com/hooks/sapport",
  "queue_title": "string",
  "queue_subtitle": "string",
  "queue_icon_url": "https://example.com/hooks/sapport",
  "powered_by": {
    "mode": "default",
    "text": "string",
    "url": "https://example.com/hooks/sapport"
  },
  "files": {
    "visitor_upload": false,
    "max_mb": 1
  },
  "color": "string",
  "greeting": "string",
  "position": "bottom-right",
  "theme": "light",
  "bubble_text": "string",
  "delay": 0,
  "consent_text": "string",
  "consent_url": "https://example.com/hooks/sapport"
}
Пример ошибки
{
  "type": "https://formula-cream.pro/developers/errors#scope_missing",
  "title": "Scope is missing",
  "status": 403,
  "code": "scope_missing",
  "detail": "EXAMPLE",
  "request_id": "req_EXAMPLE"
}

Примеры иллюстративны: ключ в них условный (EXAMPLE), значения полей выдуманы.

Возможные ошибки

invalid_api_key wrong_cell integration_inactive tenant_inactive ip_not_allowed feature_not_in_plan rate_limited wallet_suspended service_unavailable internal_error scope_missing not_found

PATCH /channels/{id}/widget Доступно

#Изменить настройки чат-виджета

Та же проверка, что в кабинете: цвет #rrggbb, адреса картинок только https:// или путь вашего сайта, длины полей; ошибка — validation_failed с полями. Правка записывается в журнал аудита.

Области
channels:write
Предел частоты
запись
Идемпотентность
не требуется
Успешный ответ
200 Настройки после правки.

Параметры

ПолеТипОписание
idstring
обязательное
Где: path. Идентификатор канала web_chat.

Тело запроса Изменяемые поля.

ПолеТипОписание
assistant_namestring
необязательное, может быть null
Имя ассистента в шапке; по умолчанию — имя канала. До 60 знаков.
assistant_subtitlestring
необязательное, может быть null
Подзаголовок ассистента. До 80 знаков.
assistant_avatar_urlstring
необязательное, может быть null
Иконка ассистента (шапка и лента). Только https:// или путь вашего сайта на этой ячейке, начинающийся с «/». До 500 знаков.
queue_titlestring
необязательное, может быть null
Заголовок шапки, пока диалог ждёт оператора. До 60 знаков.
queue_subtitlestring
необязательное, может быть null
Подзаголовок ожидания оператора. До 80 знаков.
queue_icon_urlstring
необязательное, может быть null
Иконка ожидания оператора. Только https:// или путь вашего сайта на этой ячейке, начинающийся с «/». До 500 знаков.
powered_byChannelWidgetPoweredBy
необязательное, может быть null
filesobject
необязательное, может быть null
files.visitor_uploadboolean
необязательное
Посетитель может присылать файлы. По умолчанию true.
files.max_mbinteger
необязательное
Предел одного файла, МБ (1–10).
colorstring
необязательное, может быть null
Цвет виджета: #rrggbb.
greetingstring
необязательное, может быть null
Приветствие. До 500 знаков.
positionstring
необязательное, может быть null
Угол кнопки.
Значения: bottom-right bottom-left
themestring
необязательное, может быть null
Тема.
Значения: light dark
bubble_textstring
необязательное, может быть null
Подсказка у кнопки. До 60 знаков.
delayinteger
необязательное, может быть null
Задержка показа, секунды.
consent_textstring
необязательное, может быть null
Текст согласия перед первым сообщением. До 600 знаков.
consent_urlstring
необязательное, может быть null
Ссылка на документ согласия: только https://.

Тело ответа

ПолеТипОписание
channel_idstring
обязательное
Идентификатор канала web_chat.
namestring
обязательное
Имя канала.
is_activeboolean
обязательное
Канал включён.
assistant_namestring
обязательное, может быть null
Имя ассистента в шапке; по умолчанию — имя канала. До 60 знаков.
assistant_subtitlestring
обязательное, может быть null
Подзаголовок ассистента. До 80 знаков.
assistant_avatar_urlstring
обязательное, может быть null
Иконка ассистента (шапка и лента). Только https:// или путь вашего сайта на этой ячейке, начинающийся с «/». До 500 знаков.
queue_titlestring
обязательное, может быть null
Заголовок шапки, пока диалог ждёт оператора. До 60 знаков.
queue_subtitlestring
обязательное, может быть null
Подзаголовок ожидания оператора. До 80 знаков.
queue_icon_urlstring
обязательное, может быть null
Иконка ожидания оператора. Только https:// или путь вашего сайта на этой ячейке, начинающийся с «/». До 500 знаков.
powered_byChannelWidgetPoweredBy
обязательное
filesChannelWidgetFiles
обязательное
colorstring
обязательное, может быть null
Цвет виджета: #rrggbb.
greetingstring
обязательное, может быть null
Приветствие. До 500 знаков.
positionstring
обязательное, может быть null
Угол кнопки.
Значения: bottom-right bottom-left
themestring
обязательное, может быть null
Тема.
Значения: light dark
bubble_textstring
обязательное, может быть null
Подсказка у кнопки. До 60 знаков.
delayinteger
обязательное, может быть null
Задержка показа, секунды.
consent_textstring
обязательное, может быть null
Текст согласия перед первым сообщением. До 600 знаков.
consent_urlstring
обязательное, может быть null
Ссылка на документ согласия: только https://.

Примеры

Запрос
curl -X PATCH 'https://formula-cream.pro/api/public/v1/channels/EXAMPLE_ID/widget' \
  -H 'Authorization: Bearer '"$API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "assistant_name": "string",
  "assistant_subtitle": "string",
  "assistant_avatar_url": "https://example.com/hooks/sapport",
  "queue_title": "string",
  "queue_subtitle": "string",
  "queue_icon_url": "https://example.com/hooks/sapport",
  "powered_by": {
    "mode": "default",
    "text": null,
    "url": null
  },
  "files": {
    "visitor_upload": false,
    "max_mb": 1
  },
  "color": "string",
  "greeting": "string",
  "position": "bottom-right",
  "theme": "light",
  "bubble_text": "string",
  "delay": 0,
  "consent_text": "string",
  "consent_url": "https://example.com/hooks/sapport"
}'
Ответ 200
{
  "channel_id": "EXAMPLE_ID",
  "name": "string",
  "is_active": false,
  "assistant_name": "string",
  "assistant_subtitle": "string",
  "assistant_avatar_url": "https://example.com/hooks/sapport",
  "queue_title": "string",
  "queue_subtitle": "string",
  "queue_icon_url": "https://example.com/hooks/sapport",
  "powered_by": {
    "mode": "default",
    "text": "string",
    "url": "https://example.com/hooks/sapport"
  },
  "files": {
    "visitor_upload": false,
    "max_mb": 1
  },
  "color": "string",
  "greeting": "string",
  "position": "bottom-right",
  "theme": "light",
  "bubble_text": "string",
  "delay": 0,
  "consent_text": "string",
  "consent_url": "https://example.com/hooks/sapport"
}
Пример ошибки
{
  "type": "https://formula-cream.pro/developers/errors#scope_missing",
  "title": "Scope is missing",
  "status": 403,
  "code": "scope_missing",
  "detail": "EXAMPLE",
  "request_id": "req_EXAMPLE"
}

Примеры иллюстративны: ключ в них условный (EXAMPLE), значения полей выдуманы.

Возможные ошибки

invalid_api_key wrong_cell integration_inactive tenant_inactive ip_not_allowed feature_not_in_plan rate_limited wallet_suspended service_unavailable internal_error scope_missing not_found bad_request validation_failed payload_too_large