API amoCRM: возможности и ограничения
API amoCRM — способ, которым другие системы читают и меняют данные в вашем аккаунте: сайт создаёт сделки, учётная система получает оплаченные заказы, отчёт собирает данные по менеджерам. Разбираем, что доступно через API, как устроена авторизация, какие ограничения важно учесть заранее и когда интеграцию проще заказать, чем писать самим.
Что доступно через API
В документации amoCRM есть разделы API по сделкам, неразобранному, воронкам и этапам, контактам, компаниям, задачам, покупателям, товарам, тегам, вебхукам, виджетам, звонкам, беседам и источникам. Для сделок, например, — получение, создание и редактирование. То есть почти всё, что сотрудник делает руками, интеграция может делать сама.
Авторизация: OAuth 2.0
Интеграция получает доступ к аккаунту по протоколу OAuth 2.0. Access token живёт сутки, refresh token — 3 месяца; при каждом обновлении выдаётся новый refresh token. Если интеграцией не пользовались 3 месяца, refresh token отзывается, и доступ придётся выдать заново. Поэтому рабочая интеграция обновляет токены сама и хранит их надёжно.
Ограничения, которые важно учесть
Частота запросов. Не более 7 запросов в секунду на одну интеграцию и до 50 — на весь аккаунт. При превышении API отвечает кодом 429, а при многократных нарушениях аккаунт блокируется, и на любой запрос возвращается 403.
Размер пакета. Создавать или изменять можно не больше 250 сущностей за запрос, а для стабильной работы документация советует не больше 50. При ошибке 504 нужно уменьшить пакет и повторить.
Получение данных. Максимум — 500 сущностей за запрос, но большинство методов возвращает не больше 250 — большие выборки забирают постранично.
Эти ограничения определяют архитектуру: очередь запросов, паузы, повтор при 429 и 504. Интеграция, написанная «в лоб», работает на тестовом аккаунте и падает на живой базе.
Вебхуки — вторая половина интеграции
Чтобы не опрашивать API каждые несколько минут, amoCRM сама отправляет уведомления о событиях — создании и изменении сделок, контактов, задач, сообщениях в чатах. Как они устроены — в статье «Вебхук: что это».
Что обычно делают через API
• Связь с сайтом, формами и калькуляторами — заявки сразу сделками.
• Обмен с учётной системой, складом, сервисом доставки или оплаты.
• Свои отчёты и выгрузки, которых нет в стандартных.
• Автоматизация нестандартного процесса, под который нет готового решения.
Сначала проверьте готовые решения
Часть задач закрывается готовым виджетом из каталога — так быстрее и дешевле, чем разработка с нуля: выгрузка в Google Таблицы, загрузка строк таблицы в сделки, распределение заявок, поиск дублей. Когда готового мало — в статье «Разработка по API: когда готового виджета мало».
Разработка по API под ключ
Делаем интеграции и доработки amoCRM и Kommo по API — 4 000 ₽ в час, в вашем аккаунте, а не на отдельном стенде: короткое ТЗ, оценка вилкой по часам до начала, тест на реальных данных и документ о сделанном, чтобы следующая доработка не начиналась с расследования. Ориентир: точечная доработка — 8–16 часов, новый сценарий — 16–40, комплексное решение — от 40. Подробнее — в статье «Интеграция amoCRM: цена».
Через API amoCRM доступны сделки, контакты, компании, задачи, воронки, товары, звонки, беседы и другое. Доступ — по OAuth 2.0 (access token на сутки, refresh token на 3 месяца), лимиты — 7 запросов в секунду на интеграцию и 50 на аккаунт, до 250 сущностей за запрос. События удобнее получать вебхуками, а часть задач закрывают готовые виджеты.