Авторизация в публичных интеграциях

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

В данный момент интеграции без виджетов не могут быть отображены в общем списке интеграций, но получаю больше возможностей по сравнению с приватными (подробней о статусах).

Доступ к API аккаунта можно получить несколькими способами:

  1. Через установку кнопки на сайт на ваших страницах
  2. Через получении кода из интерфейса
  3. Посредством Webhook, который будет отправлен на Redirect URI после установки виджета

Рассмотрим способы подробней

  1. Если ваша интеграция работает с amoCRM только через API и не несет в себе виджета, то самым лучшим надежным вариантом получения доступа к API является установки кнопки на сайт. При нажатии кнопки пользователю будет предоставлен выбор аккаунтов, в которых он состоит, а в случае предоставления доступа он будет перенаправлен на страницу Redirect URI с GET-параметрами code, referer, state. Затем полученный код вы сможете обменять на Access токен, а пользователь увидит интеграцию в списке установленных. Важно отметить, что для прохождения модерации подобным интеграциям необходимо в описании указывать четкое описание функционала, куда нужно перейти, чтобы установить интеграцию, где можно подробнее ознакомится с ценами (если таковые имеются) и возможностями. В будущем подобные интеграции станут частью маркетплейса и будут отображаться в списках, на равне с интеграциями, в которых есть виджет.
  2. Если ваша интеграция является приватной, то самым простым способом получения кода авторизации является его копирование из окна интеграции. Дальше вам необходимо будет лишь обменять его на Access токен и использовать API.
  3. Если ваша интеграция содержит в себе виджет, то независимо от её статуса, при включении виджета из интерфейса amoCRM вы получите Webhook на указанный в настройках интеграции Redirect URI с GET-параметрами code, referer, from_widget. Параметр code содержит Authorization code, параметр referer – адрес аккаунта пользователя, параметр from_widget – говорит о том, что запрос был вызван установкой виджета. Ограничение на отправку хука с нашей стороны – 3 секунды. Код ответа не проверяется, а повторная отправка невозможна. Важно отметить, что в виджетах запрещены виртуальные клики на кнопку установить.

Как проверить механизм авторизации до прохождения модерации?

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

В случае, если вы разрабатываете интеграцию, в которой есть и виджет и backend часть, работающая с нашим API, вы всегда, независимо от статуса интеграции, сможете получить Webhook при установке/включении виджета.

Технический аккаунт

Мы считаем аккаунт техническим для интеграции, если она была в нём создана. Т.е. данному аккаунту принадлежит интеграция. Управлять ее названием, описанием, активностью, обновлением сможет любой администратор, но только из этого единственного аккаунта. Все вопросы связанные с разработкой и модерацией интеграции должны быть направлены в поддержку из технического аккаунта.


Смотрите также

Пример по шагам
Кнопка на сайт
Запросы к API c Access токеном
Передача виджета на модерацию