Центр документации
|
Самоучитель по интеграции дизайна и настройке Amiro.CMS на примере демонстрационной версии пакета Визитка »
Любой устанавливаемый модуль Amiro.CMS может быть интегрирован в REST API и выполнять роль веб-сервиса. Для этого модуль должен содержать код добавления и исполнения действий сервиса, а так же указать системе требуемый режим доступа. Обращение к сервису происходит через единую точку входа /ami_service.php Набор параметров для вызова действия веб-сервиса модуля:
Допускается передача других произвольных параметров, которые возможно получить в обработчике дейстивия через AMI_Request. Для
добавления обработчиков действий веб-сервиса, требуется создать класс
{Hyper}_{Config}_Service, наследник AMI_Module_Service. Добавление обработчиков происходит в методе addWebserviceHandlers.
Веб-сервисы поддерживают следующие режимы доступа: Доступ на уровне приложения. Данный режим доступа предполагает использование веб-сервиса в качестве серверной составляющей клиент-серверного приложения. В этом режиме, для того чтобы получить доступ к веб-сервису, приложение должно быть авторизовано по ключу API Key и иметь доступ к установленному модулю. Из кода режим доступа включается следующим образом:
При этом, будет создан ключ 'MY_API_KEY', а модуль будет добавлен в список модулей, к которым есть доступ по указанному ключу. Данное действие должно выполняться один раз, обычно при установке модуля в файле install_after.php Когда ключ API Key создан, и связь между ключом и модулем установлена, приложение должно авторизоваться с данным ключом на сайте, где установлен модуль, получить токен доступа appToken, и с ним уже сможет обратиться к действию модуля. Например:
Открытый доступ Данный режим доступа предполагает что сервис модуля может быть использован любым внешним приложением. В этом режиме, для получения доступа к модулю необходимо передать только публичный токен app_token_public. Включение данного режима производится при установке модуля в файле install_after.php
По умолчанию, открытый доступ к действиям веб-сервиса модуля запрещен. Для открытия доступа к действиям веб-сервиса, необходимо это явно указать для каждого из действий в методе addWebserviceHandlers класса {Hyper}_{Config}_Service.
Действия веб-сервиса могут требовать авторизацию пользователя. Как и в случае с открытым доступом, это требование необходимо прописывать для каждого из действий отдельно. По умолчанию авторизация не требуется.
Доступ к такому действию возможен только для авторизованного пользователя, либо через передачу параметра userToken.
Окружение Если по каким-то причинам для выполнения действия требуется полное окружение, нужно указать это в обработчике действия.
Пример реализации модуля, использующего собственный веб-сервис для получения и отображения динамических данных на странице: Спецблок "Кто сейчас на сайте". |