publisherQuery solo admite llamadas desde servicios de asociados.
Actualizaciones y mejoras en publisherQuery (Collections Query v9)
publisherQuery es la API de Collections Query más reciente (v9). Si migra desde b2bLicensePreview (v8), revise esta sección para conocer las diferencias de comportamiento. publisherQuery tiene los siguientes cambios y mejoras con respecto a b2bLicensePreview:- Capacidad de consultar el estado de la suscripción a XBOX Game Pass de un usuario
- Requiere una lista predefinida de productos que devolver. Se trataba de una práctica recomendada, aunque no obligatoria con b2bLicensePreview de v8. Los títulos que no seguían esta práctica recomendada a menudo tenían problemas tras el lanzamiento en los que la solicitud agotaba el tiempo de espera debido al gran alcance del contenido según sus parámetros de consulta. Esto impedía que los usuarios recibieran crédito en el juego hasta que el servicio del juego se actualizaba para especificar qué ProductIds querían dentro de la solicitud de consulta.
- Campos de datos de respuesta simplificados para quitar valores no utilizados o innecesarios
- Parámetros de solicitud simplificados en función de los comentarios de los desarrolladores
- Market: todas las solicitudes tienen contexto para todas las regiones en publisherQuery
- ExpandSatisfyingItems: todos los resultados expanden los derechos satisfactorios en publisherQuery
- EntitlementsFilter: no se usa, ya que se requiere una lista predefinida de productIds en la consulta
publisherQuery no admite LegacyProductIds (ProductIds generados desde el ya retirado XBOX Developer Portal y usados como ProductId del servicio XBOX Inventory).
Requisitos previos
Revise Requisitos previos para las API de servicio a servicio. Esta API admite tanto el tipo de autenticación de Microsoft Entra ID como el de X-token de autenticación delegada. Si la configuración del producto no está publicada en Partner Center, las llamadas pueden realizarse correctamente pero no devolver resultados.Solicitud
Sintaxis de la solicitud
Encabezado de solicitud
Cuerpo de la solicitud
El objeto
ProductSkuId contiene los siguientes parámetros.
Ejemplo de solicitud
La API publisherQuery de v9 admite un máximo de 100 productSkuIds por solicitud. Si se proporcionan más de 100 productIds en productSkuIds, la API devuelve un error HTTP 400.
El valor predeterminado de
maxPageSize es 100, pero en el ejemplo es menor para demostrar cómo solicitar los elementos restantes.Respuesta
Cuerpo de la respuesta
El objeto
PublisherQueryItemContractV9 contiene los siguientes parámetros.
El objeto
TrialInformation contiene los parámetros que se muestran en la tabla siguiente.
Valores y significado del tipo de producto
Valores y significado del estado del producto
Valores y significado de acquisitionType del producto
Comprensión de los resultados de los derechos satisfactorios con el campo satisfiedByProductIds
Si la matriz satisfiedByProductIds está vacía, el usuario tiene un derecho directo sobre el elemento por una compra directa.
De lo contrario, si la matriz satisfiedByProductIds tiene uno o más ProductIds, el usuario tiene derecho al elemento a partir de esos productos (paquetes, suscripciones, etc.).
Si el usuario tiene tanto un derecho directo como un derecho satisfactorio sobre un elemento, y excludeDuplicates en la solicitud es True, el derecho directo tendrá prioridad y satisfiedByProductIds estará vacío.
Ejemplo de respuesta
Solicitud de los resultados restantes con el token de continuación
Si su consulta tiene más resultados de los que se pueden devolver en una única respuesta (controlado por maxPageSize), la respuesta de la consulta inicial incluye un continuationToken. Después, puede usar este continuationToken en una solicitud de seguimiento agregando el token de continuación a una copia del cuerpo de la solicitud anterior. Ejemplo de solicitud de continuación:Aunque especifique la marca excludeDuplicates, al usar un token de continuación es posible obtener entradas de derechos que tengan un estado diferente. Por lo tanto, compruebe si en los resultados hay entradas duplicadas y si tienen un estado que no sea Active.
