Поделиться через


Получение подписок для пользователя

Используйте этот метод в API покупок в Microsoft Store, чтобы получить надстройки подписки, которые пользователь имеет права на использование.

Примечание.

Этот метод можно использовать только учетными записями разработчиков, подготовленными корпорацией Майкрософт, чтобы создавать надстройки подписки для приложений универсальная платформа Windows (UWP). Надстройки подписки в настоящее время недоступны для большинства учетных записей разработчиков.

Библиотека Microsoft.StoreServices предоставляет функциональные возможности этого метода через API StoreServicesClient.RecurrenceQueryAsync.

Необходимые компоненты

Чтобы использовать этот метод, вам потребуется:

  • Маркер доступа Azure AD, имеющий значение https://onestore.microsoft.comURI аудитории.
  • Ключ идентификатора Microsoft Store, представляющий удостоверение пользователя, подписки которого требуется получить.

Дополнительные сведения см. в разделе "Управление правами на продукты из службы".

Запросить

Синтаксис запроса

Способ URI запроса
POST https://purchase.mp.microsoft.com/v8.0/b2b/recurrences/query

Заголовок запроса

Верхний колонтитул Тип Описание
Авторизация строка Обязательный. Маркер доступа Azure AD в маркере> носителя<формы.
Хост строка Необходимо задать значение purchase.mp.microsoft.com.
content-length: 0 number Длина текста запроса.
Тип контента строка Указывает тип запроса и ответа. В настоящее время единственным поддерживаемым значением является application/json.

Текст запроса

Параметр Тип Описание Обязательное поле
b2bKey строка Ключ идентификатора Microsoft Store, представляющий удостоверение пользователя, подписки которого требуется получить. Да
continuationToken строка Если у пользователя есть права на несколько подписок, текст ответа возвращает маркер продолжения при достижении ограничения страницы. Укажите этот маркер продолжения здесь в последующих вызовах для получения оставшихся продуктов. No
pageSize строка Максимальное количество подписок, возвращаемых в одном ответе. Значение по умолчанию — 25. No

Пример запроса

В следующем примере показано, как использовать этот метод для получения надстроек подписки, которые пользователь имеет права на использование. Замените значение b2bKey ключом идентификатора Microsoft Store, который представляет удостоверение пользователя, подписки которого требуется получить.

POST https://purchase.mp.microsoft.com/v8.0/b2b/recurrences/query HTTP/1.1
Authorization: Bearer <your access token>
Content-Type: application/json
Host: purchase.mp.microsoft.com

{
  "b2bKey":  "eyJ0eXAiOiJ..."
}

Response

Этот метод возвращает текст ответа JSON, содержащий коллекцию объектов данных, описывающих надстройки подписки, которые пользователь имеет права на использование. В следующем примере показан текст ответа для пользователя, имеющего право на одну подписку.

{
  "items": [
    {
      "autoRenew":true,
      "beneficiary":"pub:gFVuEBiZHPXonkYvtdOi+tLE2h4g2Ss0ZId0RQOwzDg=",
      "expirationTime":"2017-06-11T03:07:49.2552941+00:00",
      "id":"mdr:0:bc0cb6960acd4515a0e1d638192d77b7:77d5ebee-0310-4d23-b204-83e8613baaac",
      "lastModified":"2017-01-08T21:07:51.1459644+00:00",
      "market":"US",
      "productId":"9NBLGGH52Q8X",
      "skuId":"0024",
      "startTime":"2017-01-10T21:07:49.2552941+00:00",
      "recurrenceState":"Active"
    }
  ]
}

Текст ответа

Текст ответа содержит следующие данные.

Значение Тип Описание
items array Массив объектов, содержащих данные о каждой надстройке подписки, которую указанный пользователь имеет право на использование. Дополнительные сведения о данных в каждом объекте см. в следующей таблице.

Каждый объект в массиве элементов содержит следующие значения.

Значение Тип Описание
autoRenew Логический Указывает, настроена ли подписка на автоматическое продление в конце текущего периода подписки.
бенефициар строка Идентификатор бенефициара права, связанного с этой подпиской.
expirationTime; строка Дата и время истечения срока действия подписки в формате ISO 8601. Это поле доступно только в тех случаях, когда подписка находится в определенных состояниях. Срок действия обычно указывает, когда истекает текущее состояние. Например, для активной подписки срок действия указывает, когда будет происходить следующее автоматическое продление.
dateTimeWithGrace строка Дата и время истечения срока действия подписки, включая льготный период, в формате ISO 8601. Это значение указывает, когда пользователь потеряет доступ к подписке после автоматического продления подписки.
id строка Идентификатор подписки. Используйте это значение, чтобы указать, какая подписка требуется изменить при вызове изменения состояния выставления счетов подписки для пользовательского метода.
isTrial Логический Указывает, является ли подписка пробной.
lastModified строка Дата и время последнего изменения подписки в формате ISO 8601.
на рынок строка Код страны (в двухбуквном формате ISO 3166-1 alpha-2), в котором пользователь приобрел подписку.
productId строка Идентификатор Магазина для продукта, представляющего надстройку подписки в каталоге Microsoft Store. Пример идентификатора магазина для продукта — 9NBLGGH42CFD.
skuId строка Идентификатор магазина для SKU, представляющего надстройку подписки в каталоге Microsoft Store. Пример идентификатора магазина для номера SKU — 0010.
startTime строка Дата начала и время подписки в формате ISO 8601.
recurrenceState строка Одно из следующих значений:
  • Нет. Это означает бессрочную подписку.
  • Активный: подписка активна, и пользователь имеет право использовать службы.
  • Неактивно: подписка за истекает срок действия, и пользователь отключил параметр автоматического продления для подписки.
  • Отменено: подписка была намеренно прекращена до окончания срока действия, с возвратом средств или без него.
  • InDunning: подписка находится в подземелье (т. е. подписка приближается к истечению срока действия, и корпорация Майкрософт пытается получить средства для автоматического продления подписки).
  • Сбой: период подземления истек, и подписка не смогла продлиться после нескольких попыток.

Примечание.

  • Неактивные/отмененные/сбои — это состояния терминала. Когда подписка входит в одно из этих состояний, пользователь должен повторно выкупить подписку, чтобы активировать ее снова. Пользователь не имеет права использовать службы в этих штатах.
  • При отмене подписки срок действия будет обновлен с датой и временем отмены.
  • Идентификатор подписки останется неизменным в течение всего времени существования. Он не изменится, если параметр автоматического продления включен или отключен. Если пользователь повторно выкупает подписку после достижения состояния терминала, будет создан новый идентификатор подписки.
  • Идентификатор подписки должен использоваться для выполнения любой операции в отдельной подписке.
  • При повторном выкупе подписки после отмены или отмены подписки при запросе результатов для пользователя вы получите две записи: один со старым идентификатором подписки в состоянии терминала и новым идентификатором подписки в активном состоянии.
  • Всегда рекомендуется проверять повторение и истечение срока действия, так как обновления повторения могут быть отложены на несколько минут (или иногда часы).
отмена строка Дата и время отмены подписки пользователя в формате ISO 8601.