Отклонить запрос

Конечный узел, который завершает выполнение статусом rejected с кодом ошибки и сообщением, выбранными его автором.

2 мин чтения

Отклонить запрос завершает путь отказом, который задумал автор флоу. Выполнение, которое до него дошло, получает статус rejected, а вызывающий получает код и сообщение, на которые настроен узел.

Узел
Отклонить запрос
Тип
reject
Категория
Выход
Порты
Нет
Завершает путь
Да

Что делает узел

Узел завершает выполнение статусом rejected. Выполнение несёт код узла как error_code и его сообщение как error_message; его output — null. После него ничего не выполняется.

JSON
{
  "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».

JSON
{ "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