Получение сведений о приобретениях надстройки с подпиской
Используйте этот метод в API аналитики Microsoft Store, чтобы получить статистические данные о приобретении для подписок надстроек для приложения в течение заданного диапазона дат и других необязательных фильтров.
Необходимые компоненты
Чтобы использовать этот метод, сначала необходимо выполнить следующие действия:
- Если это еще не сделано, выполните все предварительные требования для API аналитики Microsoft Store.
- Получите маркер доступа Azure AD для использования в заголовке запроса для этого метода. После получения маркера доступа у вас будет 60 минут, чтобы использовать его до истечения срока действия. После истечения срока действия маркера можно получить новый.
Запросить
Синтаксис запроса
Способ | URI запроса |
---|---|
GET | https://manage.devcenter.microsoft.com/v1.0/my/analytics/subscriptions |
Заголовок запроса
Верхний колонтитул | Тип | Описание |
---|---|---|
Авторизация | строка | Обязательный. Маркер доступа Azure AD в маркере> носителя<формы. |
Параметры запроса
Параметр | Тип | Описание | Обязательное поле |
---|---|---|---|
applicationId | строка | Идентификатор приложения, для которого требуется получить данные о приобретении надстроек подписки. | Да |
subscriptionProductId | строка | Идентификатор хранилища надстройки подписки, для которой требуется получить данные о приобретении. Если это значение не указано, этот метод возвращает данные о приобретении для всех надстроек подписки для указанного приложения. | No |
startDate | Дата | Дата начала в диапазоне дат получения данных о получении надстроек подписки. Значение по умолчанию — текущая дата. | No |
endDate | Дата | Дата окончания в диапазоне дат получения данных о приобретении надстроек подписки. Значение по умолчанию — текущая дата. | No |
популярное | INT | Количество строк данных, возвращаемых в запросе. Максимальное значение и значение по умолчанию, если не указано значение 100. Если в запросе есть больше строк, текст ответа содержит следующую ссылку, которую можно использовать для запроса следующей страницы данных. | No |
skip | INT | Количество строк, пропускаемых в запросе. Используйте этот параметр для страницы с помощью больших наборов данных. Например, top=100 и skip=0 извлекает первые 100 строк данных, top=100 и skip=100 извлекает следующие 100 строк данных и т. д. | No |
Фильтр | строка | Один или несколько операторов, которые фильтруют текст отклика. Каждая инструкция может использовать операторы eq или ne, а операторы можно объединить с помощью и или. В инструкциях фильтра можно указать следующие строки (они соответствуют значениям в тексте ответа):
Ниже приведен пример параметра фильтра : filter=date eq '2017-07-08'. |
No |
aggregationLevel | строка | Указывает диапазон времени, для которого требуется получить статистические данные. Может быть одной из следующих строк: день, неделя или месяц. Если не указано, значение по умолчанию равно дню. | No |
orderby | строка | Инструкция, которая упорядочивает значения результирующих данных для каждой надстройки подписки. Синтаксис — orderby=field [order], field [order],.... Параметр поля может быть одной из следующих строк:
Параметр order является необязательным и может быть asc или desc , чтобы указать возрастание или убывание для каждого поля. Значение по умолчанию — asc. Ниже приведен пример строки заказа : orderby=date,market |
No |
groupby | строка | Инструкция, которая применяет агрегирование данных только к указанным полям. Можно указать следующие поля:
Параметр groupby можно использовать с параметром aggregationLevel . Например: groupby=market&aggregationLevel=week |
No |
Пример запроса
В следующих примерах показано, как получить данные о приобретении надстроек подписки. Замените значение applicationId соответствующим идентификатором Магазина для приложения.
GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/subscriptions?applicationId=9NBLGGGZ5QDR&startDate=2017-07-07&endDate=2017-07-08 HTTP/1.1
Authorization: Bearer <your access token>
Response
Текст ответа
Значение | Тип | Описание |
---|---|---|
Значение | array | Массив объектов, содержащих статистические данные о приобретении надстроек подписки. Дополнительные сведения о данных в каждом объекте см . в разделе "Значения приобретения подписки" ниже. |
@nextLink | строка | Если есть дополнительные страницы данных, эта строка содержит универсальный код ресурса (URI), который можно использовать для запроса следующей страницы данных. Например, это значение возвращается, если верхний параметр запроса имеет значение 100, но для запроса требуется более 100 строк для получения надстроек подписки. |
TotalCount | INT | Общее количество строк в результатах данных для запроса. |
Значения приобретения подписки
Элементы в массиве значений содержат следующие значения.
Значение | Тип | Описание |
---|---|---|
Дата | строка | Первая дата в диапазоне дат для данных приобретения. Если запрос указал один день, это значение равно дате. Если запрос указал неделю, месяц или другой диапазон дат, это значение является первой датой в этом диапазоне дат. |
subscriptionProductId | строка | Идентификатор хранилища надстройки подписки, для которой извлекаются данные о приобретении. |
subscriptionProductName | строка | Отображаемое имя надстройки подписки. |
applicationId | строка | Идентификатор магазина приложения, для которого извлекаются данные о приобретении надстроек подписки. |
applicationName | строка | Отображаемое имя приложения. |
skuId | строка | Идентификатор SKU надстройки подписки, для которой извлекаются данные о приобретении. |
deviceType | строка | Одна из следующих строк, указывающая тип устройства, завершив приобретение:
|
на рынок | строка | Код страны ISO 3166 рынка, на котором произошло приобретение. |
currencyCode | строка | Код валюты в формате ISO 4217 для валовой продажи до налогов. |
grossSalesBeforeTax | integer | Валовые продажи в локальной валюте, указанной значением currencyCode . |
totalActiveCount | integer | Количество общих активных подписок за указанный период времени. Это эквивалентно сумме значений goodStandingActiveCount, pendingGraceActiveCount, graceActiveCount и lockedActiveCount. |
totalChurnCount | integer | Общее количество подписок, деактивированных в течение указанного периода времени. Это эквивалентно сумме выставления счетовChurnCount, nonRenewalChurnCount, возмещаемого счета, chargebackChurnCount, earlyChurnCount и других значенийChurnCount. |
newCount | integer | Количество новых приобретений подписки за указанный период времени, включая пробные версии. |
продлениеcount | integer | Количество продлений подписки в течение указанного периода времени, включая продление, инициированное пользователем, и автоматическое продление. |
goodStandingActiveCount | integer | Количество подписок, которые были активны в течение указанного периода времени и где дата >окончания срока действия = значение endDate для запроса. |
pendingGraceActiveCount | integer | Количество подписок, которые были активными в течение указанного периода времени, но имели сбой выставления счетов и где дата >окончания срока действия подписки = значение endDate для запроса. |
graceActiveCount | integer | Количество подписок, которые были активны в течение указанного периода времени, но имели сбой выставления счетов и где:
|
LockedActiveCount | integer | Количество подписок, которые находились в дюне (т. е. подписка приближается к истечению срока действия, и корпорация Майкрософт пытается получить средства для автоматического продления подписки) в течение указанного периода времени и где:
|
billingChurnCount | integer | Количество подписок, которые были деактивированы в течение указанного периода времени из-за сбоя обработки платы за выставление счетов и где подписки ранее находились в подземлениях. |
nonRenewalChurnCount | integer | Количество подписок, которые были деактивированы в течение указанного периода времени, поскольку они не были продлены. |
возмещатьChurnCount | integer | Количество подписок, которые были деактивированы в течение указанного периода времени, поскольку они были возвращены. |
chargebackChurnCount | integer | Количество подписок, которые были деактивированы в течение указанного периода времени из-за обратной оплаты. |
earlyChurnCount | integer | Количество подписок, которые были деактивированы в течение указанного периода времени в то время как они были в хорошем положении. |
otherChurnCount | integer | Количество подписок, деактивированных в течение указанного периода времени по другим причинам. |
Пример запроса и ответа
В следующих фрагментах кода показан пример текста запроса и текста ответа JSON для этого запроса.
Пример запроса
GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/subscriptions?applicationId=9NBLGGGZ5QDR
HTTP/1.1
Authorization: Bearer <your access token>
Пример ответа
{
"Value": [
{
"date": "2022-04-18",
"applicationId": "9NBLGGGZ5QDR",
"applicationName": "Windows and Doors",
"grossSalesBeforeTax": 3460656.260391250,
"totalActiveCount": 20211321,
"totalChurnCount": 5605,
"newCount": 3810366,
"renewCount": 12102044,
"goodStandingActiveCount": 17893664,
"pendingGraceActiveCount": 2255792,
"graceActiveCount": 61833,
"lockedActiveCount": 32,
"billingChurnCount": 4,
"nonRenewalChurnCount": 0,
"refundChurnCount": 0,
"chargebackChurnCount": 0,
"earlyChurnCount": 2717,
"otherChurnCount": 2884
},
{
"date": "2022-04-18",
"applicationId": "9NBLGGGZ5QDR",
"applicationName": "Unknown",
"grossSalesBeforeTax": 2342.580615228,
"totalActiveCount": 50550,
"totalChurnCount": 7,
"newCount": 8312,
"renewCount": 31446,
"goodStandingActiveCount": 44047,
"pendingGraceActiveCount": 6503,
"graceActiveCount": 0,
"lockedActiveCount": 0,
"billingChurnCount": 0,
"nonRenewalChurnCount": 0,
"refundChurnCount": 0,
"chargebackChurnCount": 0,
"earlyChurnCount": 5,
"otherChurnCount": 2
}
],
"TotalCount": 2
}
Пример запроса
GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/subscriptions?applicationId=9NBLGGGZ5QDR&startDate=12/19/2021&endDate=04/20/2022&top=10&skip=0&orderby=date&groupby=date,subscriptionProductName,applicationName,skuId,market,deviceType&aggregationLevel=week
HTTP/1.1
Authorization: Bearer <your access token>
Пример ответа
{
"Value": [
{
"date": "2022-04-18",
"subscriptionProductName": "realms.subscription.monthly.10player.01",
"applicationId": "9NBLGGGZ5QDR",
"applicationName": "Windows and Doors",
"skuId": "0100",
"market": "IT",
"deviceType": "Console-Xbox One",
"grossSalesBeforeTax": 0.0,
"totalActiveCount": 0,
"totalChurnCount": 0,
"newCount": 2,
"renewCount": 0,
"goodStandingActiveCount": 0,
"pendingGraceActiveCount": 0,
"graceActiveCount": 0,
"lockedActiveCount": 0,
"billingChurnCount": 0,
"nonRenewalChurnCount": 0,
"refundChurnCount": 0,
"chargebackChurnCount": 0,
"earlyChurnCount": 0,
"otherChurnCount": 0
},
{
"date": "2022-04-18",
"subscriptionProductName": "realms.subscription.monthly.10player.01",
"applicationId": "9NBLGGGZ5QDR",
"applicationName": "Windows and Doors",
"skuId": "0100",
"market": "NO",
"deviceType": "Unknown",
"grossSalesBeforeTax": 0.0,
"totalActiveCount": 0,
"totalChurnCount": 0,
"newCount": 0,
"renewCount": 13,
"goodStandingActiveCount": 0,
"pendingGraceActiveCount": 0,
"graceActiveCount": 0,
"lockedActiveCount": 0,
"billingChurnCount": 0,
"nonRenewalChurnCount": 0,
"refundChurnCount": 0,
"chargebackChurnCount": 0,
"earlyChurnCount": 0,
"otherChurnCount": 0
},
{
"date": "2022-04-18",
"subscriptionProductName": "realms.subscription.monthly.10player.02",
"applicationId": "9NBLGGGZ5QDR",
"applicationName": "Windows and Doors",
"skuId": "0100",
"market": "CA",
"deviceType": "Unknown",
"grossSalesBeforeTax": 0.0,
"totalActiveCount": 152,
"totalChurnCount": 0,
"newCount": 0,
"renewCount": 270,
"goodStandingActiveCount": 133,
"pendingGraceActiveCount": 19,
"graceActiveCount": 0,
"lockedActiveCount": 0,
"billingChurnCount": 0,
"nonRenewalChurnCount": 0,
"refundChurnCount": 0,
"chargebackChurnCount": 0,
"earlyChurnCount": 0,
"otherChurnCount": 0
}
],
"TotalCount": 3
}
См. также