Перейти к основному содержимому

Проверить сценарий

POST /api/v1/bots/{uniqueId}/scenarios/{scenarioUniqueId}/test​

URL​

https://app.helpfy.ai/api/v1/bots/{uniqueId}/scenarios/{scenarioUniqueId}/test

Адрес своей установки подставьте вместо https://app.helpfy.ai. Идентификаторы в фигурных скобках замените значениями из ответов API.

Заголовки​

ЗаголовокЗначение
AuthorizationBasic <base64(email:api_key)>
Acceptapplication/json

Для JSON-тела передайте Content-Type: application/json.

Подробнее — авторизация API.

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

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

ПараметрТипОбязательныйОписание
uniqueIdстрокаДаИдентификатор бота.
scenarioUniqueIdстрокаДаИдентификатор сценария.

Тело запроса (application/json)​

ПолеТипОбязательноОписание
definitionобъектДаСхема блоков сценария и переходов между ними.
messageстрокаНетТекст сообщения. (максимум символов: 12000)
stateобъектНетСохранённое состояние.
api_modeMOCK_SUCCESS, MOCK_ERROR, LIVEНетРежим выполнения API-блока сценария. (по умолчанию: "MOCK_SUCCESS")

Пример запроса​

curl --request POST 'https://app.helpfy.ai/api/v1/bots/11111111-1111-4111-8111-111111111111/scenarios/11111111-1111-4111-8111-111111111111/test' \
--user 'user@example.com:api_key' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"definition": {
"start_node_id": "answer",
"nodes": [
{
"id": "answer",
"type": "FIXED_REPLY",
"title": "Ответить клиенту",
"text": "Адрес доставки можно изменить до передачи заказа в доставку."
},
{
"id": "end",
"type": "END",
"title": "Завершить сценарий"
}
],
"edges": [
{
"id": "answer-end",
"source": "answer",
"target": "end",
"priority": 100,
"condition": {
"type": "ALWAYS"
}
}
]
}
}
JSON

Ответы​

HTTPОписание
201Успешный ответ
400Неверные настройки сценария.
401Требуется авторизация.
403Нет доступа к боту.
404Бот или сценарий не найден.
Пример ответа — HTTP 201

Сокращённый пример; показаны клиентские поля. Значения условные.

{
"message": "Уточните, пожалуйста, номер заказа",
"quick_replies": [
{
"id": "question-confirm",
"label": "Подтвердить заказ",
"value": "confirm"
}
],
"status": "SUCCESS",
"completed": false,
"handoff": false,
"state": {
"context": {}
},
"visited_node_ids": [
"example"
],
"selected_edge_ids": [
"example"
],
"api_mode": "MOCK_SUCCESS"
}
Пример ошибки — HTTP 400

Пример структуры ошибки. Код и сообщение зависят от причины ошибки.

{
"statusCode": 400,
"error": "Bad Request",
"code": "BAD_REQUEST",
"message": "Bad Request"
}