AmoCRM долгое время использовала простую систему API-ключей для подключения внешних интеграций. Сегодня она считается устаревшей и заменена на oAuth 2.0, однако старые ключи по-прежнему нужны для поддержки legacy-интеграций и понимания истории развития платформы. В этой статье разберём, что такое API-ключи старого образца, где их найти и как перейти на современный стандарт.
Что такое API-ключи старого образца в AmoCRM
API-ключи старого образца — это статичные токены аутентификации, которые AmoCRM генерировала для каждого пользователя. Ключ представлял собой длинную строку символов и вместе с логином пользователя использовался для авторизации API-запросов. Такая схема называется API Key Authentication.
Механизм был прост: при каждом запросе к API передавались логин и ключ, система их проверяла и возвращала данные. Никаких токенов с ограниченным сроком действия, никакого процесса авторизации — всё статично и предсказуемо.
Зачем нужны старые ключи
Несмотря на то что AmoCRM официально перешла на oAuth 2.0, старые ключи всё ещё могут понадобиться в следующих ситуациях:
- Поддержка существующих интеграций, написанных под старое API
- Работа с вебхуками, настроенными до перехода на новый стандарт
- Использование сторонних сервисов, ещё не обновивших свои коннекторы
- Отладка и изучение старых интеграций при миграции
Где найти ключ через интерфейс AmoCRM
В некоторых версиях AmoCRM ключ доступен прямо через настройки пользователя. Для этого:
- Войдите в свой аккаунт AmoCRM
- Нажмите на аватар или имя пользователя в правом верхнем углу
- Перейдите в раздел Профиль
- В профиле найдите вкладку или раздел Настройки
- Ищите поле Ключ API или API Hash
Если раздел с ключом недоступен — аккаунт уже полностью переведён на oAuth 2.0 и старые ключи в нём не используются.
Метод через консоль браузера
Если ключ не отображается в настройках напрямую, его можно получить через консоль разработчика браузера, находясь на странице AmoCRM. Откройте DevTools (F12 → вкладка Console) и выполните:
|
1 |
AMOCRM.widgets.system.amohash |
Консоль вернёт строку — это и есть API-ключ (hash) текущего авторизованного пользователя. Метод работает, потому что AmoCRM хранит ключ в глобальном JavaScript-объекте на странице для нужд встроенных виджетов.
Также можно попробовать:
|
1 2 |
AMOCRM.widgets.system.amouser_id AMOCRM.widgets.system.domain |
Эти значения вместе с hash формируют полный набор параметров для аутентификации через старое API.
Переход на oAuth 2.0 — новый стандарт
AmoCRM настоятельно рекомендует использовать oAuth 2.0 для всех новых интеграций. Этот стандарт значительно безопаснее: токены имеют ограниченный срок действия, автоматически обновляются через refresh-токены и не требуют передачи пароля пользователя.
Как создать интеграцию для oAuth 2.0
Для создания oAuth-интеграции выполните следующие шаги:
- Откройте Настройки → Интеграции в вашем аккаунте AmoCRM
- Нажмите кнопку Создать интеграцию
- Укажите название, описание и Redirect URI — адрес, на который будет перенаправлен пользователь после авторизации
- Сохраните интеграцию и получите Client ID и Client Secret
- Реализуйте oAuth 2.0 Authorization Code Flow на стороне вашего приложения
AmoCRM предоставляет официальный PHP SDK, который значительно упрощает работу с oAuth: amocrm/amocrm-api-library.
Разница между старыми ключами и oAuth токенами
Принципиальные отличия двух подходов:
- Срок действия: старые ключи бессрочны, oAuth access-токен живёт 24 часа и обновляется через refresh-токен
- Область доступа (scope): oAuth позволяет ограничить права конкретной интеграции, старые ключи дают полный доступ
- Отзыв доступа: oAuth-интеграцию можно отключить в настройках без смены пароля, старый ключ завязан на аккаунт пользователя
- Аудит: действия через oAuth логируются с привязкой к конкретной интеграции
Безопасность: почему ключи нельзя передавать открыто
API-ключи старого образца — это фактически постоянный пароль к вашему аккаунту AmoCRM. Никогда не передавайте их:
- В открытом виде в коде, который хранится в публичном репозитории
- Через незащищённые каналы связи (email, мессенджеры без шифрования)
- Третьим лицам без крайней необходимости
Если ключ скомпрометирован — немедленно смените пароль аккаунта (это сбросит ключ) и переведите интеграции на oAuth 2.0, где управление доступом значительно удобнее и безопаснее.
