Запрос продуктов
Используйте этот метод в API коллекции Microsoft Store, чтобы получить все продукты, принадлежащие клиенту для приложений, связанных с идентификатором клиента Azure AD. Вы можете задать область запроса к конкретному продукту или использовать другие фильтры.
Этот метод предназначен для вызова службой в ответ на сообщение из приложения. Служба не должна регулярно проводить опрос для всех пользователей по расписанию.
Библиотека Microsoft.StoreServices предоставляет функциональные возможности этого метода через API StoreServicesClient.CollectionsQueryAsync.
Необходимые компоненты
Чтобы использовать этот метод, вам потребуется:
- Маркер доступа Azure AD, имеющий значение
https://onestore.microsoft.com
URI аудитории. - Ключ идентификатора Microsoft Store, представляющий удостоверение пользователя, продукты которого вы хотите получить.
Дополнительные сведения см. в разделе "Управление правами на продукты из службы".
Запросить
Синтаксис запроса
Способ | URI запроса |
---|---|
POST | https://collections.mp.microsoft.com/v6.0/collections/query |
Заголовок запроса
Верхний колонтитул | Тип | Описание |
---|---|---|
Авторизация | строка | Обязательный. Маркер доступа Azure AD в маркере> носителя<формы. |
Хост | строка | Необходимо задать значение collections.mp.microsoft.com. |
content-length: 0 | number | Длина текста запроса. |
Тип контента | строка | Указывает тип запроса и ответа. В настоящее время единственным поддерживаемым значением является application/json. |
Текст запроса
Параметр | Тип | Описание | Обязательное поле |
---|---|---|---|
Бенефициаров | list<UserIdentity> | Список объектов UserIdentity, представляющих пользователей, запрашиваемых для продуктов. Дополнительные сведения см. в таблице ниже. | Да |
continuationToken | строка | Если существует несколько наборов продуктов, текст ответа возвращает маркер продолжения при достижении ограничения страницы. Укажите этот маркер продолжения здесь в последующих вызовах для получения оставшихся продуктов. | No |
maxPageSize | number | Максимальное количество продуктов, возвращаемых в одном ответе. Значение по умолчанию и максимальное значение — 100. | No |
modifiedAfter | datetime | Если указано, служба возвращает только продукты, которые были изменены после этой даты. | No |
parentProductId | строка | Если указано, служба возвращает только надстройки, соответствующие указанному приложению. | No |
productSkuIds | list<ProductSkuId> | Если задано, служба возвращает только продукты, применимые к предоставленным парам product/SKU. Дополнительные сведения см. в таблице ниже. | No |
productTypes | Строка списка<> | Указывает, какие типы продуктов возвращаются в результатах запроса. Поддерживаемые типы продуктов: Application, Durable, Game и UnmanagedConsumable. | Да |
validityType | строка | Если задано значение All, будут возвращены все продукты для пользователя, включая просроченные элементы. Если задано значение "Допустимый", возвращаются только продукты, допустимые на данный момент времени (то есть они имеют активное состояние, дату < начала и дату окончания).> | No |
Объект UserIdentity содержит следующие параметры.
Параметр | Тип | Описание | Обязательное поле |
---|---|---|---|
identityType | строка | Укажите строковое значение b2b. | Да |
identityValue | строка | Ключ идентификатора Microsoft Store, представляющий удостоверение пользователя, для которого требуется запрашивать продукты. | Да |
localTicketReference | строка | Запрошенный идентификатор возвращаемых продуктов. Возвращенные элементы в тексте ответа будут иметь соответствующий localTicketReference. Рекомендуется использовать то же значение, что и утверждение userId в ключе идентификатора Microsoft Store. | Да |
Объект ProductSkuId содержит следующие параметры.
Параметр | Тип | Описание | Обязательное поле |
---|---|---|---|
productId | строка | Идентификатор Магазина для продукта в каталоге Microsoft Store. Пример идентификатора магазина для продукта — 9NBLGGH42CFD. | Да |
skuId | строка | Идентификатор магазина для номера SKU продукта в каталоге Microsoft Store. Пример идентификатора магазина для номера SKU — 0010. | Да |
Пример запроса
POST https://collections.mp.microsoft.com/v6.0/collections/query HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Q…….
Host: collections.mp.microsoft.com
Content-Length: 2531
Content-Type: application/json
{
"maxPageSize": 100,
"beneficiaries": [
{
"localTicketReference": "1055521810674918",
"identityValue": "eyJ0eXAiOiJ……",
"identityType": "b2b"
}
],
"modifiedAfter": "\/Date(-62135568000000)\/",
"productSkuIds": [
{
"productId": "9NBLGGH5WVP6",
"skuId": "0010"
}
],
"productTypes": [
"UnmanagedConsumable"
],
"validityType": "All"
}
Response
Текст ответа
Параметр | Тип | Описание | Обязательное поле |
---|---|---|---|
continuationToken | строка | Если существует несколько наборов продуктов, этот маркер возвращается при достижении ограничения страницы. Этот маркер продолжения можно указать в последующих вызовах для получения оставшихся продуктов. | No |
items | CollectionItemContractV6 | Массив продуктов для указанного пользователя. Дополнительные сведения см. в таблице ниже. | No |
Объект CollectionItemContractV6 содержит следующие параметры.
Параметр | Тип | Описание | Обязательное поле |
---|---|---|---|
acquiredDate | datetime | Дата, по которой пользователь приобрел элемент. | Да |
campaignId | строка | Идентификатор кампании, предоставленный во время покупки этого элемента. | No |
devOfferId | строка | Идентификатор предложения из покупки в приложении. | No |
endDate | datetime | Дата окончания элемента. | Да |
fulfillmentData | Строка списка<> | Н/П | No |
inAppOfferToken | строка | Строка идентификатора продукта, указанная разработчиком, назначенная элементу в Центре партнеров. Пример идентификатора продукта — product123. | No |
itemId | строка | Идентификатор, определяющий этот элемент коллекции из других элементов, принадлежащих пользователю. Этот идентификатор является уникальным для каждого продукта. | Да |
localTicketReference | строка | Идентификатор ранее предоставленного localTicketReference в тексте запроса. | Да |
modifiedDate | datetime | Дата последнего изменения этого элемента. | Да |
orderId | строка | При наличии идентификатор заказа, в котором получен этот элемент. | No |
orderLineItemId | строка | Если этот элемент присутствует, строка определенного порядка, для которого получен этот элемент. | No |
ownershipType | строка | Строка OwnedByBeneficiary. | Да |
productId | строка | Идентификатор Магазина для продукта в каталоге Microsoft Store. Пример идентификатора магазина для продукта — 9NBLGGH42CFD. | Да |
productType | строка | Один из следующих типов продуктов: Application, Durable и UnmanagedConsumable. | Да |
purchasedCountry | строка | Н/П | No |
покупатель | IdentityContractV6 | Если он присутствует, это представляет удостоверение покупателя элемента. Дополнительные сведения об этом объекте см. ниже. | No |
quantity | number | Количество элемента. В настоящее время это всегда будет 1. | No |
skuId | строка | Идентификатор Магазина для номера SKU продукта в каталоге Microsoft Store. Пример идентификатора магазина для номера SKU — 0010. | Да |
skuType | строка | Тип номера SKU. Возможные значения включают пробную версию, полную версию и аренду. | Да |
startDate | datetime | Дата, когда элемент начинает быть допустимым. | Да |
статус | строка | Состояние элемента. Возможные значения: активные, просроченные, отозванные и запрещенные. | Да |
tags | Строка списка<> | Н/П | Да |
transactionId | guid | Идентификатор транзакции в результате покупки этого элемента. Можно использовать для создания отчетов об элементе в качестве выполненного. | Да |
Объект IdentityContractV6 содержит следующие параметры.
Параметр | Тип | Описание | Обязательное поле |
---|---|---|---|
identityType | строка | Содержит паб значений. | Да |
identityValue | строка | Строковое значение издателяUserId из указанного ключа идентификатора Microsoft Store. | Да |
Пример ответа
HTTP/1.1 200 OK
Content-Length: 7241
Content-Type: application/json
MS-CorrelationId: 699681ce-662c-4841-920a-f2269b2b4e6c
MS-RequestId: a9988cf9-652b-4791-beba-b0e732121a12
MS-CV: xu2HW6SrSkyfHyFh.0.1
MS-ServerId: 020022359
Date: Tue, 22 Sep 2015 20:28:18 GMT
{
"items" : [
{
"acquiredDate" : "2015-09-22T19:22:51.2068724+00:00",
"devOfferId" : "f9587c53-540a-498b-a281-8a349491ed47",
"endDate" : "9999-12-31T23:59:59.9999999+00:00",
"fulfillmentData" : [],
"inAppOfferToken" : "consumable2",
"itemId" : "4b8fbb13127a41f299270ea668681c1d",
"localTicketReference" : "1055521810674918",
"modifiedDate" : "2015-09-22T19:22:51.2513155+00:00",
"orderId" : "4ba5960d-4ec6-4a81-ac20-aafce02ddf31",
"ownershipType" : "OwnedByBeneficiary",
"productId" : "9NBLGGH5WVP6",
"productType" : "UnmanagedConsumable",
"purchaser" : {
"identityType" : "pub",
"identityValue" : "user123"
},
"skuId" : "0010",
"skuType" : "Full",
"startDate" : "2015-09-22T19:22:51.2068724+00:00",
"status" : "Active",
"tags" : [],
"transactionId" : "4ba5960d-4ec6-4a81-ac20-aafce02ddf31"
}
]
}