Skip to main content
publisherQuery permite a sus propios servicios consultar los productos y derechos de un usuario, incluido su estado de suscripción a XBOX Game Pass. Su servicio no debe sondear con regularidad las compras del usuario para evitar los límites de frecuencia de llamadas basados en una ventana de tiempo por usuario. Actualmente, el límite es de 100 solicitudes de consulta dentro de una ventana de cinco minutos para el mismo usuario. Superar un límite de frecuencia genera una respuesta HTTP 429 con información sobre cuándo se puede realizar la siguiente solicitud. Los resultados solo incluyen productos de los que es propietaria directa o a los que tiene derecho la cuenta de usuario en cuyo nombre llama su servicio. No se devuelven los derechos compartidos que pueden aparecer en el cliente. Consulte Modelo de uso compartido de productos para juegos. Para obtener información específica sobre cómo consultar el estado de la suscripción a Game Pass de un usuario, consulte Detección del acceso a la suscripción a XBOX Game Pass desde su servicio.
publisherQuery solo admite llamadas desde servicios de asociados.
Las aplicaciones o juegos cliente no pueden llamar directamente a este servicio.

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
Se ha quitado del cuerpo de la solicitud:
  • 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).
Si migra su servicio desde XBOX Inventory, deberá asignar internamente el StoreId (el valor de ProductId de Collections) al LegacyProductId correspondiente en su propio servicio. De lo contrario, puede considerar b2bLicensePreview de v8, que devuelve tanto StoreId como LegacyProductIds.
Para obtener más información, consulte el artículo correspondiente Selección de la API de Collections Query adecuada para sus necesidades

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.

Consulte también

Administración de productos desde sus servicios Autenticación de su servicio con las API de Microsoft Store Administración de productos consumibles desde su servicio
Última modificación el 28 de agosto de 2026