Все ноды/Integrations/amoCRM

amoCRM REST-вызов

Выполняет произвольный REST-запрос к amoCRM API v4 (лиды/контакты/сделки/задачи — любой метод). Требует amoCRM Config через порт 'amocrm_config'. method/path/body задаются в конфиге (поддерживаются шаблоны).

amoCRM REST-вызов
amoCRM ConfigSuccess
Error

Тип в графе: amocrm_rest_call

Exec

Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.

Как попробовать

Минимальный рабочий воркфлоу

Вход
amoCRM REST-вызов
Конфигурация amoCRM
Выход
  • Исполнение
  • Данные
  • Исполнение + данные
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

Перед запуском выберите своё подключение или базу знаний — в графе стоит REPLACE_ME.

Как применять

Одна нода на весь amoCRM: отдельных нод для сделок, контактов и задач нет — вы называете метод, путь и тело, а нода берёт на себя адрес аккаунта, заголовок авторизации и разбор ответа. Через HTTP-запрос то же самое делать не нужно: там пришлось бы вручную собирать хост и подставлять токен, который после этого окажется в журнале запуска.

Это шаг графа, а не инструмент агента: порта tool_out у ноды нет, модель вызвать её не может. Чтобы дать вызов агенту, оберните его в WF-инструмент.

Как это работает

«HTTP-метод» — фиксированный список глаголов. «Путь» и «Тело (JSON)» — шаблоны: путь пишется от слэша (/api/v4/leads, /api/v4/contacts/{{ nodes.pick.output.id }}), домен подставляется из подключения. Пустое тело означает запрос без тела.

Успешный ответ разбирается из JSON и уходит в выход как result — в шаблонах это {{ nodes.<id>.output.result }}. Ответ без тела даёт пустой объект.

Любой ответ вне диапазона 2xx останавливает ноду, и вместе с сообщением уезжает машинный код: ACCESS_DENIED для 401 и 403, NOT_FOUND для 404, RATE_LIMIT для 429, VALIDATION для остальных 4xx. Включите «Выход ошибки», и по нему придёт объект с полями error_code, message и failed_node_id — по коду удобно ветвиться в Условии.

Частые ошибки

  • Тело-массив. Поле принимает только JSON-объект; список (форма, которую amoCRM ждёт для пакетного создания) отклоняется с ошибкой «body must be a JSON object».
  • Сломанный JSON после подстановки. Значение из шаблона попадает в тело как есть, поэтому строку нужно заключать в кавычки самому, а объект целиком удобнее собирать Шаблоном и подставлять одним выражением.
  • Путь без ведущего слэша или с доменом. Хост приходит из подключения; в поле остаётся только путь, начинающийся со слэша.
  • Тело у GET. Оставляйте поле пустым для чтения: непустое тело будет отправлено и с GET.
  • Постраничность. amoCRM отдаёт данные страницами; параметры страницы дописываются в путь как обычная строка запроса, сама нода следующие страницы не подгружает.

Входы

ПортПроводДанныеПримечания
amoCRM Configamocrm_configДанныеdata

обязателен

Выходы

ПортПроводДанныеПримечания
SuccessoutputИсполнение + данныеexecute_dataobject
Erroron_errorИсполнение + данныеexecute_data

показывается, когда expose_error_output = true

Настройки

ПолеТипПо умолчаниюОписание
Подключение amoCRMconnection_idstring""

Сохранённое подключение amoCRM из workspace: графу с одним вызовом не нужна отдельная нода amoCRM Config. Нода, подключённая к порту 'amocrm_config', имеет приоритет над этим полем.

подключение: amocrmперекрывается портом: amocrm_config

HTTP-методmethodstringGET

HTTP-метод amoCRM REST API v4 (напр. GET, POST, PATCH)

Варианты: GET — GET — получить, POST — POST — создать, PATCH — PATCH — изменить, PUT — PUT — заменить, DELETE — DELETE — удалить

Путьpathstring""

Путь amoCRM REST API v4, напр. /api/v4/leads (поддерживаются шаблоны)

поддерживает шаблоны

Тело (JSON)bodystring{}

Тело запроса как JSON (поддерживаются шаблоны)

поддерживает шаблоны

Общие поля

Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.