Obtenir les abonnements d’un utilisateur

Utilisez cette méthode dans l’API d’achat du Microsoft Store pour obtenir les modules complémentaires d’abonnement qu’un utilisateur donné a les droits d’utilisation.

Notes

Cette méthode ne peut être utilisée que par les comptes de développeur qui ont été provisionnés par Microsoft pour pouvoir créer des modules complémentaires d’abonnement pour les applications plateforme Windows universelle (UWP). Les modules complémentaires d’abonnement ne sont actuellement pas disponibles pour la plupart des comptes de développeur.

La bibliothèque Microsoft.StoreServices fournit les fonctionnalités de cette méthode via l’API StoreServicesClient.RecurrenceQueryAsync.

Prérequis

Pour utiliser cette méthode, vous devez disposer des éléments suivants :

  • Jeton d’accès Azure AD qui a la valeur https://onestore.microsoft.comURI d’audience .
  • Clé d’ID du Microsoft Store qui représente l’identité de l’utilisateur dont vous souhaitez obtenir les abonnements.

Pour plus d’informations, consultez Gérer les droits de produit à partir d’un service.

Requête

Syntaxe de la requête

Méthode URI de demande
POST https://purchase.mp.microsoft.com/v8.0/b2b/recurrences/query

En-tête de requête

En-tête Type Description
Autorisation string Obligatoire. Jeton d’accès Azure AD sous la formeJeton> du porteur<.
Host string Doit être défini sur la valeur purchase.mp.microsoft.com.
Content-Length nombre Longueur du corps de la demande.
Content-Type string Spécifie le type de requête et de réponse. Actuellement, la seule valeur prise en charge est application/json.

Corps de la demande

Paramètre Type Description Obligatoire
b2bKey string Clé d’ID du Microsoft Store qui représente l’identité de l’utilisateur dont vous souhaitez obtenir les abonnements. Oui
continuationToken string Si l’utilisateur a des droits pour plusieurs abonnements, le corps de la réponse retourne un jeton de continuation lorsque la limite de page est atteinte. Indiquez ce jeton de continuation ici dans les appels ultérieurs pour récupérer les produits restants. Non
pageSize string Nombre maximal d’abonnements à retourner dans une seule réponse. La valeur par défaut est 25. Non

Exemple de requête

L’exemple suivant montre comment utiliser cette méthode pour obtenir les modules complémentaires d’abonnement qu’un utilisateur donné a les droits d’utilisation. Remplacez la valeur b2bKey par la clé d’ID du Microsoft Store qui représente l’identité de l’utilisateur dont vous souhaitez obtenir les abonnements.

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

Cette méthode retourne un corps de réponse JSON qui contient une collection d’objets de données qui décrivent les modules complémentaires d’abonnement que l’utilisateur a les droits d’utiliser. L’exemple suivant illustre le corps de la réponse d’un utilisateur disposant d’un droit pour un abonnement.

{
  "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"
    }
  ]
}

Response body

Le corps de la réponse contient les données suivantes.

Valeur Type Description
items tableau Tableau d’objets qui contiennent des données sur chaque module complémentaire d’abonnement que l’utilisateur spécifié a le droit d’utiliser. Pour plus d’informations sur les données de chaque objet, consultez le tableau suivant.

Chaque objet du tableau d’éléments contient les valeurs suivantes.

Valeur Type Description
autoRenew Boolean Indique si l’abonnement est configuré pour se renouveler automatiquement à la fin de la période d’abonnement actuelle.
beneficiary string ID du bénéficiaire du droit associé à cet abonnement.
expirationTime string Date et heure d’expiration de l’abonnement, au format ISO 8601. Ce champ n’est disponible que lorsque l’abonnement est dans certains états. L’heure d’expiration indique généralement à quel moment l’état actuel expire. Par exemple, pour un abonnement actif, la date d’expiration indique quand le prochain renouvellement automatique aura lieu.
expirationTimeWithGrace string Date et heure d’expiration de l’abonnement, y compris la période de grâce, au format ISO 8601. Cette valeur indique quand l’utilisateur perd l’accès à l’abonnement une fois que l’abonnement n’a pas pu être renouvelé automatiquement.
id string ID de l'abonnement. Utilisez cette valeur pour indiquer l’abonnement que vous souhaitez modifier lorsque vous appelez le modifier l’état de facturation d’un abonnement pour une méthode utilisateur .
isTrial Boolean Indique si l’abonnement est une version d’évaluation.
lastModified string Date et heure de la dernière modification de l’abonnement, au format ISO 8601.
market string Code de pays (au format iso 3166-1 alpha-2 à deux lettres) dans lequel l’utilisateur a acquis l’abonnement.
productId string ID store du produit qui représente le module complémentaire d’abonnement dans le catalogue du Microsoft Store. Un exemple d’ID de magasin pour un produit est 9NBLGGH42CFD.
skuId string ID du Store pour la référence SKU qui représente le complément d’abonnement du catalogue microsoft Store. Un exemple d’ID de magasin pour une référence SKU est 0010.
startTime string Date et heure de début de l’abonnement, au format ISO 8601.
recurrenceState string Une des valeurs suivantes :
  • Aucun : cela indique un abonnement perpétuel.
  • Actif : l’abonnement est actif et l’utilisateur est autorisé à utiliser les services.
  • Inactif : l’abonnement est passé la date d’expiration et l’utilisateur a désactivé l’option de renouvellement automatique de l’abonnement.
  • Annulé : l’abonnement a été délibérément terminé avant la date d’expiration, avec ou sans remboursement.
  • InDunning : l’abonnement est en cours de mise en service (autrement dit, l’abonnement arrive à expiration et Microsoft tente d’acquérir des fonds pour renouveler automatiquement l’abonnement).
  • Échec : la période de relance est terminée et l’abonnement n’a pas pu être renouvelé après plusieurs tentatives.

Remarque :

  • Inactif/Annulé/Les états terminal ayant échoué . Lorsqu’un abonnement entre dans l’un de ces états, l’utilisateur doit racheter l’abonnement pour l’activer à nouveau. L’utilisateur n’est pas autorisé à utiliser les services dans ces états.
  • Lorsqu’un abonnement est annulé, expirationTime est mis à jour avec la date et l’heure de l’annulation.
  • L’ID de l’abonnement restera le même pendant toute sa durée de vie. Elle ne changera pas si l’option de renouvellement automatique est activée ou désactivée. Si un utilisateur rachète un abonnement après avoir atteint un état terminal, un nouvel ID d’abonnement est créé.
  • L’ID d’un abonnement doit être utilisé pour exécuter toute opération sur un abonnement individuel.
  • Lorsqu’un utilisateur rachète un abonnement après l’avoir annulé ou supprimé, si vous interrogez les résultats pour l’utilisateur, vous obtiendrez deux entrées : l’une avec l’ancien ID d’abonnement dans un état terminal et l’autre avec le nouvel ID d’abonnement dans un état actif.
  • Il est toujours recommandé de case activée à la fois recurrenceState et expirationTime, car les mises à jour de recurrenceState peuvent potentiellement être retardées de quelques minutes (ou parfois de quelques heures).
cancellationDate string Date et heure d’annulation de l’abonnement de l’utilisateur, au format ISO 8601.