Схема подключения
Система Модуль
------------------------------------------------------------------------------
| |
| |
Запрос конфигурации подключения ----------------------> |
(необходимые права, адрес для <---------------------- |
подключения и т.д.) |
| |
| |
Запрос на регистрацию ----------------------> Запрос на создание
модуля <---------------------- конфигурации модуля
| |
| |
Переход пользователя ----------------------> |
в личный кабинет модуля |
------------------------------------------------------------------------------
Запрос данных подключения
Для получения данных, необходимых для подключения модуля, система инициирует запрос {configUrl} по адресу, указанному в личном кабинете. Данные запрашиваются в тот момент, когда пользователь открывает PopUp с информацией о модуле на странице маркетплейса в системе.
Запрос на подключение модуля
Для подключения интеграционного модуля система инициирует запрос {registerUrl} по адресу, указанному в ответе на запрос {configUrl}.
Подключение модуля происходит в тот момент, когда пользователь нажимает на кнопку «Подключить» в PopUp. По запросу системы модуль должен верифицировать запрос с помощью параметра register[token]
. Данный токен - это хэш-код, сгенерированный на основе переданного API-ключа методом hmac
с помощью алгоритма sha256
, где в качестве секрета используется секретная строка из личного кабинета в партнерском кабинете.
Например, в php токен можно вычислить так: hash_hmac(‘sha256’, ‘<api-key>’, ‘<secret>’)
, где <api-key>
- переданный ключ, <secret>
- секретная строка из партнерского кабинета. Если результат выполнения функции не равен переданному токену - значит запрос не валидный и пришел, вероятнее всего, не из системы.
Затем, с помощью метода POST /api/v5/integration-modules/{code}/edit сделать запрос в систему с полученными данными для регистрации модуля и, в случае успеха, вернуть в ответе ссылку на созданный личный кабинет пользователя в поле accountUrl
. После чего, пользователь будет перенаправлен в личный кабинет по указанной ссылке так, как будто он перешёл в личный кабинет по ссылке на странице редактирования модуля в системе (будет сделан POST запрос с параметром clientId
).
Обработка ошибок
При возникновении ошибки, необходимо вернуть ответ (HTTP статус 200
) в формате:
{
"success": false,
"errorMsg": "Текст ошибки" // Сообщение об ошибке. Будет отображаться пользователю в карточке модуля
}
Партнерский кабинет
Чтобы включить поддержку простого подключения, в партнерском кабинете, в карточке редактирования модуля, необходимо активировать чекбокс «Поддерживается простое подключение» и в поле «URL для запроса конфигурации простого подключения» указать адрес для получения конфигурации. После сохранения карточки модуля в поле «Секрет» будет сгенерирована секретная строка для верификации запроса подключения со стороны системы.
Также, для тестирования простого подключения, неопубликованный модуль будет отображаться в партнерском CRM-аккаунте, связанной с учетной записью в партнерском кабинете.