Сценарии
Объект сценария
{
"id": "42",
"amocrm_id": 31245678,
"active": true,
"scenario": {
"name": "Оценка менеджера",
"vendor": "openai",
"model": "gpt-6.1-terra",
"prompt": {
"system": "Ты — руководитель отдела продаж. Оцени работу менеджера.",
"user": "Оцени разговор по шкале и объясни оценку одним предложением."
},
"field": { "name": "Оценка звонка", "value": 884411, "isGroup": false, "group": "leads" },
"writeField": true,
"autoBoot": true,
"notifyAfterBoot": false,
"notifyOnFinish": false,
"resultType": "score",
"score": { "min": 1, "max": 10 },
"role": "manager-score"
},
"created_at": "2026-10-01T09:00:00.000Z",
"updated_at": "2026-10-01T09:00:00.000Z"
}
| Поле | Тип | Описание |
|---|---|---|
active | bool | Включён ли сценарий. Новый сценарий создаётся выключенным |
scenario.name | string | Название |
scenario.vendor | string | Поставщик модели: openai или deepseek |
scenario.model | string | Модель. См. модели |
scenario.prompt.system | string | Системная инструкция: роль и правила |
scenario.prompt.user | string | Задание, которое выполняется над расшифровкой |
scenario.field | object | Поле amoCRM для результата: name — название, value — ID поля, group — leads, contacts или companies, isGroup — false для поля |
scenario.writeField | bool | Записывать результат в поле. Запись выполняется, если звонок относится к сущности того же типа, что и поле |
scenario.autoBoot | bool | Выполнять автоматически после автоматической расшифровки. Работает только у включённого сценария |
scenario.notifyAfterBoot | bool | Добавлять результат примечанием к сущности amoCRM |
scenario.notifyOnFinish | bool | Отправлять событие scenario-processed по WebSocket. По умолчанию false |
scenario.resultType | string | text (по умолчанию) — свободный текст; score — число по шкале с комментарием |
scenario.score | object | Шкала сценария score: min и max, целые. По умолчанию от 1 до 10 |
scenario.role | string | null | manager-score — оценка этого сценария используется в аналитике; summary — краткое содержание; null — без роли |
Сценарий с resultType: "score" возвращает оценку и комментарий. В поле amoCRM при этом записывается текст вида 8/10 — комментарий.
Модели
vendor | model |
|---|---|
openai | gpt-6-luna, gpt-5.6-luna, gpt-6.1-terra, gpt-5.6-terra, gpt-6.1-sol, gpt-5.6-sol, gpt-6-astra |
deepseek | deepseek-flash, deepseek-v4-pro |
Сценарии, сохранённые с более старыми моделями, продолжают работать: после отключения модели поставщиком запросы автоматически идут в модель, которую поставщик рекомендует на замену. Менять сценарий для этого не нужно.
Список сценариев
GET /api/v1/settings/scenarios/{amocrmId}
Ответ 200 — массив объектов сценария аккаунта.
Создать сценарий
POST /api/v1/settings/scenarios
Тело запроса
| Поле | Тип | Описание |
|---|---|---|
amocrmId обязательное | int | Аккаунт amoCRM |
scenario обязательное | object | Содержимое сценария — поля scenario.* из таблицы выше |
curl -X POST "{base_url}/api/v1/settings/scenarios" \
-H "Content-Type: application/json" \
-d '{
"amocrmId": 31245678,
"scenario": {
"name": "Краткое содержание",
"vendor": "openai",
"model": "gpt-6-luna",
"prompt": { "system": "Ты — ассистент отдела продаж.", "user": "Перескажи разговор в трёх предложениях." },
"field": { "name": "Итог звонка", "value": 884412, "isGroup": false, "group": "leads" },
"writeField": true,
"autoBoot": true,
"notifyAfterBoot": false,
"notifyOnFinish": true,
"role": "summary"
}
}'
Ответ 201 — созданный объект сценария. Сценарий создаётся выключенным: чтобы он выполнялся автоматически, включите его.
Изменить сценарий
PATCH /api/v1/settings/scenarios/{scenarioId}
Тело запроса
| Поле | Тип | Описание |
|---|---|---|
scenario обязательное | object | Новое содержимое сценария |
Содержимое заменяется целиком: передавайте все поля, а не только изменённые. Ответ 200 — обновлённый объект сценария.
Включить или выключить сценарий
PATCH /api/v1/settings/scenarios/activate/{scenarioId}
Тело запроса
| Поле | Тип | Описание |
|---|---|---|
activated обязательное | bool | true — включить, false — выключить |
Ответ 200
{ "ok": true, "data": true }
data — новое состояние сценария.
Удалить сценарий
DELETE /api/v1/settings/scenarios/{scenarioId}
Ответ 200
{ "ok": true, "data": 1 }
data — число удалённых сценариев: 1, либо 0, если сценария с таким ID нет. Вместе со сценарием удаляются его результаты.