Ограничения и рекомендации

Общие правила работы с API

Все общение с API происходит в зашифрованном виде по протоколу SSL. Это значит что все ссылки к API должны содержать протокол HTTPS. Особенно важно помнить это при обращении через JS, если вы обращаетесь к каким-то сторонним ресурсам, к примеру, обращаетесь к WEB-сокету. Внутри системы пользователь всегда находится в защищенном соединении и попытка обратится к HTTP картинке будет заблокирована или браузер пользователя выдаст ему предупреждение.

Access Token, Refresh Token, client_secret необходимо хранить в безопасном хранилище, так как эти данные являются приватными. В случае утечки этих данных в первую очередь необходимо обновить у интеграции clint_secret, а затем Access и Refresh токены.

Все запросы необходимо производить не на общий домен http://www.amocrm.ru, а на точный адрес вашего аккаунта, например, https://company.amocrm.ru

Поддерживаемые протоколы

Для работы с нашим API необходима поддержка одного из следующих криптографических протоколов: TLS 1.1, TLS 1.2 Рекомендуемой версией является TLS 1.2

Начиная с 16.11.2016 мы полностью отказываемся от поддержки протокола SSLv3, в связи с уязвимостью данного протокола.

Библиотека cURL поддерживает протокол TLS 1.1/1.2, начиная с версии 7.34.0. В параметрах сеанса cURL можно явно указать версию протокола:

$curl = curl_init(); #Сохраняем дескриптор сеанса cURL
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);

Ограничения

Предусмотрены механизмы ограничения активности работы с API – не более 7 запросов в секунду, а также в некоторых методах предусмотрены ограничения на количества возвращаемых за один запрос данных (подробнее в описании конкретных методов).

В случае подозрительной активности через API или сбоя интеграции, доступ к API аккаунта может быть заблокирован. Например при выборке одних и тех же раз за короткий промежуток времени, бесконтрольный перебор всех данных.

В случае превышения количества запросов – будет возвращаться HTTP код 429, при многократном нарушении ограничений, аккаунт блокируется и на любой запрос в API будет возвращаться HTTP код 403.

В случае окончания подписки, доступ к данным через API будет закрыт через 30 дней после окончания подписки. Запросы на добавление/изменение данных блокируются сразу после окончания действия подписки. В ответ на запросы сервер будет возвращать HTTP код 402.

Максимальное кол-во возвращаемых сущностей (сделок/контактов/компаний/покупателей) не более 500, большинство методов возвращает не более 250 сущностей. Точное ограничение каждого отдельного метода описано в документации к методу.

Максимальное кол-во создаваемых/изменяем сущностей не более 250, для более оптимальной работы интеграции и избежания ошибок, рекомендуется не более 50. В случае получения 504 ошибки рекомендуется уменьшить количество передаваемых сущностей в запросе и повторить запрос.

В случае получения 401 ответа от API рекомендуется убедиться в правильности и сроке действия переданного Access Token. Если срок действия закончился, необходимо обновить Access Token с помощью Refresh Token и повторить запрос.