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