База знаний › Интеграции с CRM

Интеграция с amoCRM: пошагово для AI-агента

Интеграция с amoCRM через API v4: OAuth, сделки, контакты, вебхуки, лимиты 7 запросов в секунду. С примерами запросов.

Короткий ответИнтеграция с amoCRM состоит из четырёх шагов: OAuth-токен, создание сделок и контактов через API v4, подписка на вебхуки, работа в пределах 7 запросов в секунду.

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

Всё дальше — по официальной документации amoCRM: API v4, OAuth 2.0, вебхуки. Ни одного шага из головы, каждый сверен с разделом для разработчиков.

Шаг 1. Доступ: OAuth 2.0

Просто по ключу amoCRM работать не даст. Нужна интеграция, зарегистрированная в аккаунте, и токен по протоколу OAuth 2.0.

  1. Регистрация интеграцииВ аккаунте создаётся интеграция: получаете client_id и client_secret. Права выдаются под конкретные сущности.
  2. Код авторизацииПользователь подтверждает доступ, amoCRM возвращает code на ваш redirect_uri.
  3. Обмен кода на токеныPOST на https://subdomain.amocrm.ru/oauth2/access_token с grant_type=authorization_code.
  4. Работа по токенуЗапросы идут на адрес аккаунта с заголовком Authorization: Bearer <access_token>.

Про токены коротко:

curl https://subdomain.amocrm.ru/oauth2/access_token -d '{
  "client_id": "xxx-xxx",
  "client_secret": "xxxxxx",
  "grant_type": "authorization_code",
  "code": "код из redirect",
  "redirect_uri": "https://ваш-сервис.ru/callback"
}'

Ответ:

{"token_type": "Bearer", "expires_in": 86400, "server_time": 1751621727,
 "access_token": "xxxxxx", "refresh_token": "xxxxx"}

Шаг 2. Сущности: что агент пишет в CRM

Основные сущности API v4 — сделки, контакты, компании, задачи, примечания. Чтобы обрабатывать заявки, агенту хватает четырёх действий:

Создать сделкуPOST /api/v4/leads. Название, бюджет, ответственный, воронка и этап.
Создать контактТелефон и почта как множественные поля. Без контакта сделка остаётся безличной.
Поставить задачуСрок и ответственный. Так заявка не теряется, даже если менеджер не открыл карточку.
Оставить примечаниеКороткое резюме обращения: что просил клиент и что ответил агент.
Для заявок с сайта и из Telegram удобен метод POST /api/v4/leads/complex.

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

Минимальное создание сделки выглядит так:

curl -X POST "https://company.amocrm.ru/api/v4/leads" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '[{"name": "Заявка с сайта — Иван", "price": 0}]'

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

amoCRM API работает по HTTPS и только через TLS 1.1 и 1.2.

Локальный тест «по http» не подойдёт. Чтение списков — GET /api/v4/leads с параметрами page, limit (максимум 250), filter, order. Ответ приходит в формате application/hal+json. Ошибки — application/problem+json.

Шаг 3. События: вебхуки

Вебхук — уведомление от amoCRM на ваш адрес. Агент не опрашивает CRM каждую минуту. Он получает событие и реагирует.

Событие в CRM→POST на URL агента→Агент читает id→GET карточки→Решение

Факты из документации, от которых зависит архитектура:

Отсюда первое правило: обработчик вебхука ничего не считает. Он проверяет запрос, кладёт событие в очередь и сразу отвечает 200. Вся работа — в фоновом воркере.

Второе правило: вебхук — уведомление, а не полная карточка. Из тела агент берёт id и запрашивает сущность методом GET /api/v4/leads/{id}, чтобы работать с актуальными данными.

Список кодов событий зависит от сущности и действия. В документации приведён пример подписки на add_lead. Полный перечень доступных действий смотрите в настройках вебхука и в разделе «Вебхуки» официальной документации. Не угадывайте коды — выберите их в интерфейсе и сохраните.

Шаг 4. Лимиты и ошибки

7запросов в секунду на одну интеграцию
50запросов в секунду на весь аккаунт
250сущностей максимум за один запрос списка
100вебхуков максимум на аккаунт

Что делать агенту:

Интеграция с amoCRM без учёта лимитов упирается в отказы уже на второй день. Документация отдельно предупреждает: за бесконтрольный перебор данных и подозрительную активность доступ к API аккаунта могут заблокировать. Поэтому агент не «скачивает всё», а запрашивает по фильтру и по времени.

Интеграция с amoCRM: проверка перед запуском

  1. Тест на копииСначала отдельная воронка или тестовый аккаунт. Реальные менеджеры не должны видеть отладку.
  2. Один сценарийТолько входящие заявки: создание сделки, контакт, задача, примечание.
  3. ЛогиКаждый запрос: метод, код ответа, id сущности, время. Без токенов в логах.
  4. НаблюдениеНеделя работы: сколько заявок пришло, сколько дошло до CRM, где расхождения.
  5. РасширениеПосле стабильной недели — смена этапов, ответы клиенту, отчёты.

Что в итоге делает агент

На этом интеграция с amoCRM заканчивается. Агент получает событие о новой заявке, вытаскивает карточку, проверяет дубль контакта, создаёт сделку в нужной воронке, ставит задачу менеджеру с резюме, пишет примечание и отправляет клиенту подтверждение. Менеджер открывает карточку и видит готовую работу, а не пустое поле «Название».

Общая схема и сравнение с Bitrix24 — в статье интеграция AI-агента с CRM. А про то, что агент делает с заявкой до записи в CRM, — в разборе агент для обработки заявок.

Сергей Езепенко
Сергей ЕзепенкоИнтеграция с amoCRM

Настрою интеграцию агента с amoCRM по официальному API. Бесплатная диагностика — 30 минут.