Как узнать апи ключи старого образца в AMO CRM

AmoCRM долгое время использовала простую систему API-ключей для подключения внешних интеграций. Сегодня она считается устаревшей и заменена на oAuth 2.0, однако старые ключи по-прежнему нужны для поддержки legacy-интеграций и понимания истории развития платформы. В этой статье разберём, что такое API-ключи старого образца, где их найти и как перейти на современный стандарт.

Что такое API-ключи старого образца в AmoCRM

API-ключи старого образца — это статичные токены аутентификации, которые AmoCRM генерировала для каждого пользователя. Ключ представлял собой длинную строку символов и вместе с логином пользователя использовался для авторизации API-запросов. Такая схема называется API Key Authentication.

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

Зачем нужны старые ключи

Несмотря на то что AmoCRM официально перешла на oAuth 2.0, старые ключи всё ещё могут понадобиться в следующих ситуациях:

  • Поддержка существующих интеграций, написанных под старое API
  • Работа с вебхуками, настроенными до перехода на новый стандарт
  • Использование сторонних сервисов, ещё не обновивших свои коннекторы
  • Отладка и изучение старых интеграций при миграции

Где найти ключ через интерфейс AmoCRM

В некоторых версиях AmoCRM ключ доступен прямо через настройки пользователя. Для этого:

  1. Войдите в свой аккаунт AmoCRM
  2. Нажмите на аватар или имя пользователя в правом верхнем углу
  3. Перейдите в раздел Профиль
  4. В профиле найдите вкладку или раздел Настройки
  5. Ищите поле Ключ API или API Hash

Если раздел с ключом недоступен — аккаунт уже полностью переведён на oAuth 2.0 и старые ключи в нём не используются.

Метод через консоль браузера

Если ключ не отображается в настройках напрямую, его можно получить через консоль разработчика браузера, находясь на странице AmoCRM. Откройте DevTools (F12 → вкладка Console) и выполните:

Консоль вернёт строку — это и есть API-ключ (hash) текущего авторизованного пользователя. Метод работает, потому что AmoCRM хранит ключ в глобальном JavaScript-объекте на странице для нужд встроенных виджетов.

Также можно попробовать:

Эти значения вместе с hash формируют полный набор параметров для аутентификации через старое API.

Переход на oAuth 2.0 — новый стандарт

AmoCRM настоятельно рекомендует использовать oAuth 2.0 для всех новых интеграций. Этот стандарт значительно безопаснее: токены имеют ограниченный срок действия, автоматически обновляются через refresh-токены и не требуют передачи пароля пользователя.

Как создать интеграцию для oAuth 2.0

Для создания oAuth-интеграции выполните следующие шаги:

  1. Откройте Настройки → Интеграции в вашем аккаунте AmoCRM
  2. Нажмите кнопку Создать интеграцию
  3. Укажите название, описание и Redirect URI — адрес, на который будет перенаправлен пользователь после авторизации
  4. Сохраните интеграцию и получите Client ID и Client Secret
  5. Реализуйте 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, где управление доступом значительно удобнее и безопаснее.