События приложения содержат информацию о следующих действиях, связанных с приложением:
В этом руководстве вы узнаете, как присвоить ключу доступа издателя необходимый скоуп, настроить версию приложения для получения всех связанных с ним событий, а также найдёте примеры запросов для получения событий.
Чтобы присвоить ключу доступа издателя скоуп для чтения событий приложения:
Получите токен доступа OAuth.
Запрос:
curl -X POST \
https://dev.evotor.ru/oauth/token \
-header 'content-type: application/x-www-form-urlencoded' \
-d 'type=LOGIN' \
-d 'grant_type=password' \
-d 'client_id=Evo-UI' \
-d 'username=<Логин от Личного кабинета на Портале разработчиков>' \
-d 'password=<Пароль от Личного кабинета на Портале разработчиков>'
Ответ:
{
"access_token": "<токен доступа OAuth>",
"token_type": "bearer",
"refresh_token": "string",
"expires_in": "integer",
"scope": "string",
"X-Fingerprint": "string",
"x_user_id": "string",
"iat": "integer",
"x_longlived": "boolean",
"jti": "string"
}
С помощью токена доступа OAuth, убедитесь, что у вас есть ключ доступа издателя.
Запрос:
curl -X GET \
https://dev.evotor.ru/api/v1/publisher/app/oauth/public/personal-tokens \
-H 'accept: application/json, text/plain, */*' \
-H 'content-type: application/json' \
-H 'x-authorization: Bearer <токен доступа OAuth>'
Ответ:
{
"items": [
{
"scope": [
"push-notification:write"
],
"id": "<идентификатор ключа доступа издателя>"
}
],
"paging": {}
}
Ответ содержит идентификатор вашего ключа доступа издателя (поле id
) и список его скоупов (массив scope
).
Присвойте ключу доступа издателя скоуп для чтения событий приложения.
scope
.Запрос:
curl -X PUT \
https://dev.evotor.ru/api/v1/publisher/app/oauth/public/personal-tokens/{TOKEN_ID} \
-H 'accept: application/json, text/plain, */*' \
-H 'content-type: application/json' \
-H 'x-authorization: Bearer <access_token>' \
-d '{
"scope": [
"push-notification:write",
"event:read"
]
}'
Ответ:
{
"scope": [
"push-notification:write",
"event:read"
],
"id": "<идентификатор ключа доступа издателя>",
"access_token": "<Новый ключ доступа издателя>"
}
Сохраните новый ключ доступа издателя. С помощью этого ключа Облако Эвотор авторизует запросы на получение событий приложения.
Типы событий приложения, которые вы сможете получать, необходимо настраивать для каждой версии вашего приложения.
Чтобы задать настройки получения событий приложения всех типов выполните следующий запрос:
curl --request POST \
--url https://dev.evotor.ru/api/v1/publisher/app/hooks/public/api/apps/{APP_ID}/versions/{VERSION_ID}/event-settings \
--header 'accept: application/json, text/plain, */*' \
--header 'content-type: application/json' \
--header 'x-authorization: Bearer <токен доступа OAuth>' \
--d '{
"active": true,
"events": [
"product",
"product-group",
"document",
"marketplace.purchase"
]
}'
Параметры запроса:
APP_ID
— идентификатор приложения, который отображается в адресной строке браузера, на Портале разработчиков: https://dev.evotor.ru/#/store/apps/update_version/{APP_ID}/{VERSION_ID}
.VERSION_ID
— идентификатор версии приложения, который отображается в адресной строке браузера, на Портале разработчиков https://dev.evotor.ru/#/store/apps/update_version/{APP_ID}/{VERSION_ID}
.active
— флаг, который включает возможность получать события приложения.events
— массив, который содержит типы событий, которые вы сможете получать в рамках указанной версии приложения. Возможные значения:
product
— позволяет получать события о создании, изменении или удалении товаров.product-group
— позволяет получать события о создании, изменении или удалении групп товаров.document
— позволяет получать события о создании документов.marketplace.purchase
— позволяет получать события связанные изменением состояния приложения. Например, покупка или изменение условий подписки на приложение, установка приложения на смарт-терминалы.После создания настроек получения событий приложения, переведите соответствующую версию приложения в тестирование и установите его в Личном кабинете пользователя Эвотор.
Перед изменением настройки узнайте её id
. Для этого выполните запрос:
curl --request GET \
--url https://dev.evotor.ru/api/v1/publisher/app/hooks/public/api/apps/{app_id}/versions/{version_id}/event-settings \
--header 'accept: application/json, text/plain, */*' \
--header 'content-type: application/json' \
--header 'x-authorization: Bearer {publisher_token}'
APP_ID
и VERSION_ID
это идентификаторы версии приложения. Они отображены в адресной строке браузера на Портале разработчиков: https://dev.evotor.ru/#/store/apps/update_version/{APP_ID}/{VERSION_ID}
.
В ответ вы получите JSON со списком имеющихся настроек и их id
. Общая схема ответа:
{
"items": [
{
"events": [
"marketplace.purchase",
"product"
],
"active": true,
"id": "string",
"app_id": "string",
"version_id": "string",
"publisher_id": "string",
"updated_at": "datetimeoffset",
"created_at": "datetimeoffset"
}
],
"paging": {}
}
Используйте полученный id
в запросе на обновление настройки. В этом примере вместо events_settings_id
подставьте id нужной настройки событий:
curl -i -X PUT \
--url "https://dev-test.evotor.ru/api/v1/publisher/app/hooks/public/api/apps/{app_id}/versions/{version_id}/event-settings/{events_settings_id}" \
--header "Cache-Control:no-cache" \
--header "X-Authorization:Bearer {publisher_token}" \
--header "Accept:application/vnd.evotor.v2+json" \
--header "Content-Type:application/vnd.evotor.v2+json; charset=UTF-8" \
--data '{
"active": true,
"events": [
"marketplace.purchase",
"product"
]
}' \
После присвоения ключу издателя необходимого скоупа вы можете получить список событий приложения с помощью следующего запроса:
curl
--location
--request
GET 'https://api.evotor.ru/api/apps/{application_id}/events?type=MarketplacePurchase'
type
).Облако авторизует запрос по Bearer схеме с помощью ключа доступа издателя.
Ответ будет содержать массив событий приложения, каждое из которых содержит поля с общим описанием события и объект payload
. Подробное описание ответа вы найдёте в справочнике.
Каждое событие приложения имеет свой уникальный идентификатор.
Используйте этот идентификатор, чтобы получить конкретное с помощью запроса:
curl
--location
--request
GET 'https://api.evotor.ru/api/apps/{application_id}/events/{event_id}'
Облако авторизует запрос по Bearer схеме с помощью ключа доступа издателя.
Ответ будет содержать указанное в запросе событие, которое содержит поля с общим описанием события и объект payload
. Подробное описание ответа вы найдёте в справочнике.