CRM роботы 2.0 + AI (300+ роботов)

Вебхук на внешний URL

Отправляет запрос на любой внешний URL с параметрами в JSON, форме или строках ключ=значение и возвращает ответ с возможностью разбора результата.

Для кого и какую проблему решает

Робот полезен для интегратора, которому нужен внешний запрос с разбором JSON-ответа. Внешний сервис возвращает большой ответ, а процессу нужен один номер созданного объекта. Робот отправляет параметры в согласованном формате и может извлечь значение по указанному пути.

Что делает и когда применять

Робот полезен, когда из бизнес-процесса нужно вызвать внешний сервис: отправить данные в стороннюю систему, дернуть webhook, проверить статус во внешнем API или запустить действие в другом приложении.

Что делает робот: выполняет HTTP-запрос на указанный URL с выбранным методом. Параметры можно задать тремя способами: JSON-объектом, строками вида «ключ=значение» или сырым телом запроса. Для GET-запроса параметры уходят в query string, для остальных: в тело как JSON или form-urlencoded.

Что подготовить

Нужен установленный робот из приложения «CRM роботы 2.0 + AI», право настроить нужный процесс и доступный внешний сервис с известным вам контрактом. Передавайте только те данные, которые разрешено отправлять выбранному получателю.

Сверьте контракт вашего сервиса. Выберите один способ передачи параметров: JSON, строки ключ=значение или сырое тело. Проверьте ожидаемую структуру ответа и путь к нужному значению на учебном ответе.

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

  1. Откройте автоматизацию нужной сущности и выберите стадию, на которой нужен робот «Вебхук на внешний URL». В шаблоне бизнес-процесса добавьте одноимённое действие.
  2. Сверьте контракт вашего сервиса. Выберите один способ передачи параметров: JSON, строки ключ=значение или сырое тело. Проверьте ожидаемую структуру ответа и путь к нужному значению на учебном ответе.
  3. Заполните URL, Метод (GET, POST, PUT, PATCH, DELETE), Формат параметров запроса, Заголовки (JSON или ключ=значение с новой строки), Параметры (JSON), Формат ответа, Путь к значению в ответе (например result.items.0.id), Таймаут (сек). Для рабочего сценария подставьте значения полей документа или результаты предыдущих действий вместо учебных данных ниже.
  4. Проверьте обязательные поля и варианты выбора в таблице настроек. Сохраните действие и свяжите его результаты с дальнейшими условиями процесса.
  5. Выполните пробный запрос к собственному учебному сервису. Сначала проверьте HTTP-код, затем тело ответа и нужное вам бизнес-условие. Для запросов с побочным действием заранее предусмотрите защиту от повторов со стороны сервиса.

Параметры робота

Имена полей ниже совпадают с настройками действия. Значения из таблицы относятся к самому роботу; результаты предыдущих шагов выбирайте через подстановку значения в редакторе.

Поле в настройках Что передать Обязательность и исходное значение
URL (url) Формат: строка. Обязательно. Значение по умолчанию в настройках не задано
Метод (GET, POST, PUT, PATCH, DELETE) (method) Формат: выбор из списка. Варианты: GET: GET; POST: POST; PUT: PUT; PATCH: PATCH; DELETE: DELETE. Необязательно. По умолчанию: POST
Формат параметров запроса (request_format) Формат: выбор из списка. Варианты: auto: Определить автоматически; form: Форма (ключ и значение); json: JSON; raw: Сырое тело. Необязательно. По умолчанию: auto
Заголовки (JSON или ключ=значение с новой строки) (headers) Формат: текст. Необязательно. Значение по умолчанию в настройках не задано
Параметры (ключ=значение с новой строки) (params) Формат: текст. Необязательно. Значение по умолчанию в настройках не задано
Параметры (JSON) (params_json) Формат: текст. Необязательно. Значение по умолчанию в настройках не задано
Сырое тело запроса (если параметры не заданы) (body) Формат: текст. Необязательно. Значение по умолчанию в настройках не задано
Формат ответа (response_format) Формат: выбор из списка. Варианты: auto: Определить автоматически; json: JSON; text: Текст. Необязательно. По умолчанию: auto
Путь к значению в ответе (например result.items.0.id) (result_path) Формат: строка. Необязательно. Значение по умолчанию в настройках не задано
Таймаут (сек) (timeout) Формат: строка. Необязательно. Значение по умолчанию в настройках не задано

Учебный пример

Пример показывает способ настройки на вымышленных данных и ожидаемый смысл результата; это не отчёт о запуске на вашем портале.

  • URL (url): https://example.com/integration/orders.
  • Метод (GET, POST, PUT, PATCH, DELETE) (method): POST.
  • Формат параметров запроса (request_format): json.
  • Заголовки (JSON или ключ=значение с новой строки) (headers): {"Content-Type":"application/json"}.
  • Параметры (JSON) (params_json): {"order":"demo-501"}.
  • Формат ответа (response_format): json.
  • Путь к значению в ответе (например result.items.0.id) (result_path): result.id.
  • Таймаут (сек) (timeout): 15.

Заголовки (JSON или ключ=значение с новой строки) (headers)

Копируйте в это поле только содержимое блока, без названия поля и внешней обёртки со всеми настройками. Здесь нужен JSON-объект в фигурных скобках. Пустой объект {} и массив [] имеют разный тип. Ключ объекта является названием HTTP-заголовка, значение строкой. Content-Type в примере объявляет JSON-тело; требуемые вашим сервисом заголовки добавляйте по его документации. Реальные ключи доступа подставляйте из защищённых настроек и не публикуйте в примерах.

{
  "Content-Type": "application/json"
}

Параметры (JSON) (params_json)

Копируйте в это поле только содержимое блока, без названия поля и внешней обёртки со всеми настройками. Здесь нужен JSON-объект в фигурных скобках. Пустой объект {} и массив [] имеют разный тип. Это объект параметров именно вашего внешнего сервиса. Ключ order приведён для учебного получателя; робот не создаёт такой контракт у произвольного API. Замените названия и типы значений по контракту своего сервиса. Не заполняйте одновременно другой формат параметров без проверки правил выбранного режима.

{
  "order": "demo-501"
}

Если учебный сервис вернёт {"result":{"id":"ext-17"}}, путь result.id извлечёт ext-17. Домен example.com обозначает пример адреса. Реальное наличие такого ответа и допустимость запроса определяются вашим внешним сервисом.

Какие данные возвращает и что делать дальше

Результат Какое значение получает следующий шаг
Код ответа (status_code) строка
Успешный HTTP-ответ (is_http_success) да/нет
Тело ответа (response_body) строка
Ответ как JSON (response_json) строка
Заголовки ответа (JSON) (response_headers) строка
Результат в выбранном формате (formatted_result) строка
Извлеченное значение (extracted_value) строка
Ошибка выполнения (error) строка

Передайте «Извлеченное значение» в поле внешнего ID только после проверки «Успешный HTTP-ответ» и ошибки. При изменении структуры ответа исправьте путь, сохраняя полный ответ для разрешённой вам диагностики.

Ошибки и ограничения

Код HTTP отражает ответ внешнего сервиса, а не автоматически результат вашей бизнес-операции. Проверяйте тело ответа по правилам этого сервиса. При ошибке авторизации уточните доступ; при превышении ожидания сначала сверьте, не выполнилась ли операция на стороне получателя. Заголовки и тело могут содержать закрытые данные, поэтому не переносите их без проверки в публичные комментарии.