Отклонить запрос
Конечный узел, который завершает выполнение статусом rejected с кодом ошибки и сообщением, выбранными его автором.
2 мин чтения
Отклонить запрос завершает путь отказом, который задумал автор флоу. Выполнение, которое до него дошло, получает статус rejected, а вызывающий получает код и сообщение, на которые настроен узел.
- Узел
- Отклонить запрос
- Тип
reject- Категория
- Выход
- Порты
- Нет
- Завершает путь
- Да
Что делает узел
Узел завершает выполнение статусом rejected. Выполнение несёт код узла как error_code и его сообщение как error_message; его output — null. После него ничего не выполняется.
{
"status": "rejected",
"output": null,
"error_code": "plan_required",
"error_message": "This operation needs the Pro plan"
}Отказ — это ответ, а не ошибка запроса: SDK возвращают выполнение и ничего не выбрасывают, а вызывающий отличает его от завершённого по статусу — Отправить запрос.
Когда использовать
Отклонить запрос, против которого решил Условие: по тарифу, размеру, отсутствующему полю.
Ответить на отказанную трату своими словами: ведите сюда ветку Отказ узла Проверка бюджета или AI-модель.
Узел отвечает за одну причину. Если флоу отказывает по нескольким, дайте каждой свой узел со своим кодом, чтобы вызывающий мог их различить.
Настройки
| Настройка | Для чего она |
|---|---|
error_code | Код, с которым заканчивается выполнение, — от 1 до 64 строчных латинских букв, цифр, точек и подчёркиваний. Обязателен. |
message | Предложение для человека, которое идёт с кодом, не длиннее 500 символов. Если его нет или оно пустое, выполнение несёт фразу The request was rejected by the flow. |
В конструкторе настройки — Код ошибки и Сообщение. Новый узел настроен на код ниже; узел без сообщения отвечает «The request was rejected by the flow».
{ "error_code": "rejected_by_flow" }Порты
У узла нет портов: он завершает путь. Порты и ветвление говорит, почему каждый путь заканчивается в конечном узле.
Выход
Узел не оставляет ответа: output отклонённого выполнения — null. Вызывающий читает код и сообщение, а в трассировке они есть в её событии rejected.
Ошибки
Ошибок узел не выбрасывает. Настройки проверяются при проверке флоу и при его публикации.
В API запись issues называет такую проверку в params.detail; её code — invalid_node_config.
| Проверка | Сообщение в конструкторе |
|---|---|
reject_needs_error_code | Узлу «{node}» нужен код ошибки. |
reject_invalid_error_code | Код ошибки «{node}» должен быть длиной от 1 до {max} символов: строчные латинские буквы, цифры, точки и подчёркивания. |
reject_invalid_message | Сообщение «{node}» должно быть текстом не длиннее {max} символов. |
Пример
- Запрос — По умолчанию → Условие
- Условие — Выполнено → AI-модель
- Условие — Не выполнено → Отклонить запрос
- AI-модель — Успех → Вернуть ответ
Условие проверяет тариф клиента. Запрос без этого тарифа заканчивается в Отклонить запрос с plan_required, и модель ради него не вызывается.
См. также
Отправить запрос — отказ флоу и отказ платформы со стороны приложения.
Вернуть ответ — другой способ завершить путь.
Порты и ветвление — конечные узлы и порты остальных.
Собрано из openapi b070e1f, sdk contract 5cc7055, php ae4a53b, node 84bc62d