Gérer les soumissions d’applications

L’API de soumission au Microsoft Store fournit des méthodes que vous pouvez utiliser pour gérer les soumissions pour vos applications, y compris le déploiement progressif des packages. Pour une présentation de l’API de soumission au Microsoft Store, y compris les conditions préalables à l’utilisation de l’API, consultez Créer et gérer des soumissions à l’aide des services du Microsoft Store.

Important

Si vous utilisez l’API de soumission du Microsoft Store pour créer une soumission pour une application, veillez à apporter d’autres modifications à la soumission uniquement à l’aide de l’API, plutôt que de l’Espace partenaires. Si vous utilisez l’Espace partenaires pour modifier une soumission que vous avez créée à l’origine à l’aide de l’API, vous ne pourrez plus modifier ou valider cette soumission à l’aide de l’API. Dans certains cas, la soumission peut être laissée dans un état d’erreur où elle ne peut pas se poursuivre dans le processus de soumission. Si cela se produit, vous devez supprimer la soumission et en créer une nouvelle.

Important

Vous ne pouvez pas utiliser cette API pour publier des soumissions pour les achats en volume via le Microsoft Store pour Entreprises et les Microsoft Store pour Éducation ou pour publier des soumissions pour les applications métier directement auprès des entreprises. Pour ces deux scénarios, vous devez utiliser l’Espace partenaires pour publier la soumission.

Méthodes de gestion des soumissions d’applications

Pour obtenir, créer, mettre à jour, valider ou supprimer une soumission d’applications, procédez comme suit. Avant de pouvoir utiliser ces méthodes, l’application doit déjà exister dans votre compte Espace partenaires et vous devez d’abord créer une soumission pour l’application dans l’Espace partenaires. Pour plus d’informations, voir les Conditions préalables.

Méthode URI Description
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} Obtient une soumission d’applications existante
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/status Obtient l’état d’une soumission d’applications existante
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions Crée une soumission d’applications
PUT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} Met à jour une soumission d’applications existante
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit Valide une soumission d’applications nouvelle ou mise à jour
Suppression https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} Supprimer une soumission d’application

Créer une soumission d’applications

Pour créer une soumission pour une application, suivez ce processus.

  1. Si vous ne l’avez pas déjà fait, remplissez tous les prérequis pour l’API de soumission du Microsoft Store.

    Notes

    Vérifiez que l’application a déjà au moins une soumission terminée avec les informations d’évaluation de l’âge terminées .

  2. Obtenez un jeton d’accès Azure AD. Vous devez passer ce jeton d’accès aux méthodes de l’API de soumission du Microsoft Store. Une fois que vous avez récupéré le jeton d’accès, vous avez 60 minutes pour l’utiliser avant qu’il n’expire. Une fois le jeton arrivé à expiration, vous pouvez en obtenir un nouveau.

  3. Créez une soumission d’application en exécutant la méthode suivante dans l’API de soumission du Microsoft Store. Cette méthode crée une soumission en cours, qui est une copie de votre dernière soumission publiée.

    POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions
    

    Le corps de la réponse contient une ressource de soumission d’application qui inclut l’ID de la nouvelle soumission, l’URI de signature d’accès partagé (SAP) permettant de charger tous les fichiers associés pour la soumission à Stockage Blob Azure (tels que les packages d’application, les images de liste et les fichiers de bande-annonce) et toutes les données de la nouvelle soumission (telles que les listes et les informations de tarification).

    Notes

    Un URI SAS permet d’accéder à une ressource sécurisée dans le stockage Azure sans avoir besoin de clés de compte. Pour obtenir des informations d’arrière-plan sur les URI d’accès partagé et leur utilisation avec Stockage Blob Azure, consultez Signatures d’accès partagé, partie 1 : Présentation du modèle SAP et des signatures d’accès partagé, partie 2 : Créer et utiliser une signature d’accès partagé avec stockage Blob.

  4. Si vous ajoutez de nouveaux packages, répertoriez des images ou des fichiers de bande-annonce pour la soumission, préparez les packages d’application et préparez les captures d’écran, les images et les bandes-annonces de l’application. Ajoutez tous ces fichiers à une archive ZIP.

  5. Révisez les données de soumission d’application avec les modifications requises pour la nouvelle soumission et exécutez la méthode suivante pour mettre à jour la soumission de l’application.

    PUT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}
    

    Notes

    Si vous ajoutez de nouveaux fichiers pour la soumission, veillez à mettre à jour les données de soumission pour faire référence au nom et au chemin relatif de ces fichiers dans l’archive ZIP.

  6. Si vous ajoutez de nouveaux packages, répertoriez des images ou des fichiers de bande-annonce pour la soumission, chargez l’archive ZIP sur Stockage Blob Azure à l’aide de l’URI SAS fourni dans le corps de la réponse de la méthode POST que vous avez appelée précédemment. Vous pouvez utiliser différentes bibliothèques Azure pour effectuer cette opération sur de nombreuses plateformes, notamment :

    L’exemple de code C# suivant montre comment charger une archive ZIP sur Stockage Blob Azure à l’aide de la classe CloudBlockBlob dans la bibliothèque cliente stockage Azure pour .NET. Cet exemple repose sur le principe que l’archive ZIP a déjà été écrite dans un objet de flux.

    string sasUrl = "https://productingestionbin1.blob.core.windows.net/ingestion/26920f66-b592-4439-9a9d-fb0f014902ec?sv=2014-02-14&sr=b&sig=usAN0kNFNnYE2tGQBI%2BARQWejX1Guiz7hdFtRhyK%2Bog%3D&se=2016-06-17T20:45:51Z&sp=rwl";
    Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob blockBob =
        new Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob(new System.Uri(sasUrl));
    await blockBob.UploadFromStreamAsync(stream);
    
  7. Validez la soumission d’applications en exécutant la méthode suivante. Cela avertit l’Espace partenaires que vous avez terminé votre soumission et que vos mises à jour doivent maintenant être appliquées à votre compte.

    POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit
    
  8. Vérifiez l’état de validation en exécutant la méthode suivante pour obtenir l’état de la soumission d’application.

    GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/status
    

    Pour vérifier l’état de la soumission, examinez la valeur status dans le corps de la réponse. Cette valeur doit passer de CommitStarted à PreProcessing si la requête aboutit ou à CommitFailed si elle contient des erreurs. S’il existe des erreurs, le champ statusDetails contient d’autres détails s’y rapportant.

  9. Une fois la validation correctement terminée, la soumission est envoyée au Windows Store en vue de son intégration. Vous pouvez continuer à surveiller la progression de la soumission à l’aide de la méthode précédente ou en visitant l’Espace partenaires.

Méthodes de gestion d’un lancement de packages progressif

Vous pouvez déployer progressivement les packages mis à jour dans une soumission d’application à un pourcentage de clients de votre application sur Windows 10 et Windows 11. Cela vous permet de surveiller les commentaires et les données d’analyse des packages spécifiques et de vérifier l’adéquation de votre mise à jour avant de la déployer plus largement. Vous pouvez modifier le pourcentage de lancement (ou arrêter la mise à jour) d’une soumission publiée sans avoir à créer une nouvelle soumission. Pour plus d’informations, notamment des instructions sur l’activation et la gestion d’un déploiement progressif d’un package dans l’Espace partenaires, consultez cet article.

Pour activer par programme le déploiement progressif d’un package pour une soumission d’application, suivez ce processus à l’aide des méthodes de l’API de soumission au Microsoft Store :

  1. Créez une soumission d’applications ou obtenez une soumission d’applications existante.
  2. Dans les données de réponse, recherchez la ressource packageRollout , définissez le champ isPackageRollout sur true et définissez le champ packageRolloutPercentage sur le pourcentage de clients de votre application qui doivent obtenir les packages mis à jour.
  3. Transmettez les données de soumission d’applications mises à jour à la méthode Mettre à jour une soumission d’applications.

Après avoir activé un lancement de packages progressif pour une soumission d’applications, vous pouvez utiliser les méthodes suivantes pour obtenir, mettre à jour, arrêter ou finaliser le lancement progressif par programmation.

Méthode URI Description
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/packagerollout Obtient des informations sur le lancement progressif d’une soumission d’applications
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/updatepackagerolloutpercentage Met à jour le pourcentage de lancement progressif d’une soumission d’applications
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/haltpackagerollout Arrête le lancement progressif d’une soumission d’applications
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/finalizepackagerollout Finalise le lancement progressif d’une soumission d’applications

Exemples de code pour gérer des soumissions d’applications

Les articles suivants fournissent des exemples de code détaillés qui montrent comment créer une soumission d’applications dans différents langages de programmation :

Module StoreBroker PowerShell

En guise d’alternative à l’appel direct de l’API de soumission au Microsoft Store, nous fournissons également un module PowerShell open source qui implémente une interface de ligne de commande sur l’API. Ce module est appelé StoreBroker. Vous pouvez utiliser ce module pour gérer vos soumissions d’application, de version d’évaluation et de module complémentaire à partir de la ligne de commande au lieu d’appeler directement l’API de soumission au Microsoft Store, ou vous pouvez simplement parcourir la source pour voir d’autres exemples d’appel de cette API. Le module StoreBroker est activement utilisé dans Microsoft comme méthode principale d’envoi de nombreuses applications internes au Windows Store.

Pour plus d’informations, consultez notre page StoreBroker sur GitHub.

Ressources de données

Les méthodes d’API de soumission au Microsoft Store pour la gestion des soumissions d’applications utilisent les ressources de données JSON suivantes.

Ressource de soumission d’applications

Cette ressource décrit une soumission d’applications.

{
  "id": "1152921504621243540",
  "applicationCategory": "BooksAndReference_EReader",
  "pricing": {
    "trialPeriod": "FifteenDays",
    "marketSpecificPricings": {},
    "sales": [],
    "priceId": "Tier2",
    "isAdvancedPricingModel": true
  },
  "visibility": "Public",
  "targetPublishMode": "Manual",
  "targetPublishDate": "1601-01-01T00:00:00Z",
  "listings": {
    "en-us": {
      "baseListing": {
        "copyrightAndTrademarkInfo": "",
        "keywords": [
          "epub"
        ],
        "licenseTerms": "",
        "privacyPolicy": "",
        "supportContact": "",
        "websiteUrl": "",
        "description": "Description",
        "features": [
          "Free ebook reader"
        ],
        "releaseNotes": "",
        "images": [
          {
            "fileName": "contoso.png",
            "fileStatus": "Uploaded",
            "id": "1152921504672272757",
            "description": "Main page",
            "imageType": "Screenshot"
          }
        ],
        "recommendedHardware": [],
        "title": "Contoso ebook reader"
      },
      "platformOverrides": {
        "Windows81": {
          "description": "Ebook reader for Windows 8.1"
        }
      }
    }
  },
  "hardwarePreferences": [
    "Touch"
  ],
  "automaticBackupEnabled": false,
  "canInstallOnRemovableMedia": true,
  "isGameDvrEnabled": false,
  "gamingOptions": [],
  "hasExternalInAppProducts": false,
  "meetAccessibilityGuidelines": true,
  "notesForCertification": "",
  "status": "PendingCommit",
  "statusDetails": {
    "errors": [],
    "warnings": [],
    "certificationReports": []
  },
  "fileUploadUrl": "https://productingestionbin1.blob.core.windows.net/ingestion/387a9ea8-a412-43a9-8fb3-a38d03eb483d?sv=2014-02-14&sr=b&sig=sdd12JmoaT6BhvC%2BZUrwRweA%2Fkvj%2BEBCY09C2SZZowg%3D&se=2016-06-17T18:32:26Z&sp=rwl",
  "applicationPackages": [
    {
      "fileName": "contoso_app.appx",
      "fileStatus": "Uploaded",
      "id": "1152921504620138797",
      "version": "1.0.0.0",
      "architecture": "ARM",
      "languages": [
        "en-US"
      ],
      "capabilities": [
        "ID_RESOLUTION_HD720P",
        "ID_RESOLUTION_WVGA",
        "ID_RESOLUTION_WXGA"
      ],
      "minimumDirectXVersion": "None",
      "minimumSystemRam": "None",
      "targetDeviceFamilies": [
        "Windows.Mobile min version 10.0.10240.0"
      ]
    }
  ],
  "packageDeliveryOptions": {
    "packageRollout": {
        "isPackageRollout": false,
        "packageRolloutPercentage": 0.0,
        "packageRolloutStatus": "PackageRolloutNotStarted",
        "fallbackSubmissionId": "0"
    },
    "isMandatoryUpdate": false,
    "mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
  },
  "enterpriseLicensing": "Online",
  "allowMicrosoftDecideAppAvailabilityToFutureDeviceFamilies": true,
  "allowTargetFutureDeviceFamilies": {
    "Desktop": false,
    "Mobile": true,
    "Holographic": true,
    "Xbox": false,
    "Team": true
  },
  "friendlyName": "Submission 2",
  "trailers": []
}

Cette ressource a les valeurs suivantes.

Valeur Type Description
id string ID de la soumission. Cet ID est disponible dans les données de réponse pour les demandes de création d’une soumission d’application, d’obtention de toutes les applications et d’obtention d’une application. Pour une soumission créée dans l’Espace partenaires, cet ID est également disponible dans l’URL de la page de soumission dans l’Espace partenaires.
applicationCategory string Chaîne qui spécifie la catégorie et/ou sous-catégorie pour votre application. Les catégories et sous-catégories sont combinées en une seule chaîne à l’aide du caractère trait de soulignement « _ », par exemple BooksAndReference_EReader.
Prix object Ressource de tarification qui contient les informations de tarification de l’application.
visibility string Visibilité de l’application. Il peut s’agir de l’une des valeurs suivantes :
  • Hidden
  • Public
  • Privé
  • NotSet
targetPublishMode string Mode de publication pour la soumission. Il peut s’agir de l’une des valeurs suivantes :
  • Immédiat
  • Manuel
  • SpecificDate
targetPublishDate string Date de publication de la soumission au format ISO 8601, si le paramètre targetPublishMode a la valeur SpecificDate.
listings object Dictionnaire de paires clé/valeur, où chaque clé est un code de pays et chaque valeur est une ressource de référencement qui contient des informations de référencement de l’application.
hardwarePreferences tableau Tableau de chaînes qui définissent les préférences matérielles pour votre application. Il peut s’agir de l’une des valeurs suivantes :
  • Toucher
  • Clavier
  • Souris
  • Appareil photo
  • NfcHce
  • NFC
  • BluetoothLE
  • Telephony
automaticBackupEnabled boolean Indique si Windows peut inclure les données de votre application dans les sauvegardes automatiques sur OneDrive. Pour plus d’informations, voir Déclarations d’application.
canInstallOnRemovableMedia boolean Indique si les clients peuvent installer votre application sur un stockage amovible. Pour plus d’informations, voir Déclarations d’application.
isGameDvrEnabled boolean Indique si les jeux DVR sont activés pour l’application.
gamingOptions tableau Tableau qui contient une ressource d’options de jeu qui définit les paramètres liés au jeu pour l’application.
hasExternalInAppProducts boolean Indique si votre application permet aux utilisateurs d’effectuer des achats en dehors du système de commerce du Microsoft Store. Pour plus d’informations, voir Déclarations d’application.
meetAccessibilityGuidelines boolean Indique si votre application a fait l’objet de tests pour voir si elle est conforme aux recommandations d’accessibilité. Pour plus d’informations, voir Déclarations d’application.
notesForCertification string Contient des notes de certification pour votre application.
status string État de la soumission. Il peut s’agir de l’une des valeurs suivantes :
  • Aucun
  • Opération annulée
  • PendingCommit
  • CommitStarted
  • CommitFailed
  • PendingPublication
  • Publication
  • Publié
  • PublishFailed
  • PreProcessing
  • PreProcessingFailed
  • Certification
  • CertificationFailed
  • Libérer
  • ReleaseFailed
statusDetails object Ressource des détails d’état qui contient des détails supplémentaires sur l’état de la soumission, notamment des informations sur les éventuelles erreurs.
fileUploadUrl string URI de la signature d’accès partagé (SAS) pour le chargement des packages de la soumission. Si vous ajoutez de nouveaux packages, répertoriez des images ou des fichiers de bande-annonce pour la soumission, chargez l’archive ZIP qui contient les packages et les images dans cet URI. Pour plus d’informations, voir Créer une soumission d’application.
applicationPackages tableau Tableau des ressources de package d’application qui fournissent des détails sur chaque package de la soumission.
packageDeliveryOptions object Ressource des options de remise du package qui contient les paramètres de lancement de packages progressif et de mise à jour obligatoire de la soumission.
enterpriseLicensing string Une des valeur de gestion des licences d’entreprise qui indiquent le comportement de la gestion des licences d’entreprise pour l’application.
allowMicrosoftDecideAppAvailabilityToFutureDeviceFamilies boolean Indique si Microsoft est autorisé à rendre l’application disponible pour les futures familles d’appareils Windows 10 et Windows 11.
allowTargetFutureDeviceFamilies object Dictionnaire de paires clé/valeur, où chaque clé est une Windows 10 et Windows 11 famille d’appareils et chaque valeur est une valeur booléenne qui indique si votre application est autorisée à cibler la famille d’appareils spécifiée.
friendlyName string Nom convivial de la soumission, comme indiqué dans l’Espace partenaires. Cette valeur est générée pour vous lorsque vous créez la soumission.
Remorques tableau Tableau qui contient jusqu’à 15 ressources de bande-annonce qui représentent des bandes-annonces vidéo pour la liste des applications.

Ressource de tarification

Cette ressource contient des informations de tarification pour l’application. Cette ressource a les valeurs suivantes.

Valeur Type Description
trialPeriod string Chaîne qui spécifie la période d’évaluation de l’application. Il peut s’agir de l’une des valeurs suivantes :
  • NoFreeTrial
  • OneDay
  • TrialNeverExpires
  • SevenDays
  • FifteenDays
  • ThirtyDays
marketSpecificPricings object Dictionnaire de paires clé/valeur, où chaque clé est un code de pays à deux lettres ISO 3166-1 alpha-2 et chaque valeur est un niveau de prix. Ces éléments représentent les prix personnalisés de votre application sur des marchés spécifiques. Tous les éléments de ce dictionnaire remplacent le prix de base spécifié par la valeur priceId du marché spécifié.
sales tableau Déconseillé. Tableau des ressources de ventes qui contiennent des informations commerciales pour l’application.
priceId string Niveau de prix qui spécifie le prix de base de l’application.
isAdvancedPricingModel boolean Si la valeur est true, votre compte de développeur a accès à l’ensemble étendu de niveaux de prix allant de .99 USD à 1999,99 USD. Si la valeur est false, votre compte développeur a accès à l’ensemble de niveaux de prix d’origine allant de .99 USD à 999,99 USD. Pour plus d’informations sur les différents niveaux, consultez niveaux de prix.

Note Ce champ est en lecture seule.

Ressource Sale

Cette ressource contient des informations commerciales pour une application.

Important

La ressource Vente n’est plus prise en charge et actuellement, vous ne pouvez pas obtenir ou modifier les données de vente d’une soumission d’application à l’aide de l’API de soumission du Microsoft Store. À l’avenir, nous allons mettre à jour l’API de soumission au Microsoft Store pour introduire une nouvelle façon d’accéder par programmation aux informations de vente pour les soumissions d’applications.

Cette ressource a les valeurs suivantes.

Valeur Type Description
name string Nom de la vente.
basePriceId string Niveau de prix à utiliser pour le prix de base de la vente.
startDate string Date de début de la vente au format ISO 8601.
endDate string Date de fin de la vente au format ISO 8601.
marketSpecificPricings object Dictionnaire de paires clé/valeur, où chaque clé est un code de pays à deux lettres ISO 3166-1 alpha-2 et chaque valeur est un niveau de prix. Ces éléments représentent les prix personnalisés de votre application sur des marchés spécifiques. Tous les éléments de ce dictionnaire remplacent le prix de base spécifié par la valeur basePriceId du marché spécifié.

Ressource de référencement

Cette ressource contient des informations de listing pour une application. Cette ressource a les valeurs suivantes.

Valeur Type Description
baseListing object Informations de listing de base pour l’application, qui définissent les informations de listing par défaut pour toutes les plateformes.
platformOverrides object Dictionnaire de paires clé/valeur, où chaque clé est une chaîne qui identifie une plateforme pour laquelle remplacer les informations de référencement et chaque valeur est une ressource de référencement de base (contenant uniquement les valeurs de la description au titre) qui spécifie les informations de référencement à remplacer pour la plateforme spécifiée. Les clés peuvent avoir les valeurs suivantes :
  • Unknown
  • Windows80
  • Windows81
  • WindowsPhone71
  • WindowsPhone80
  • WindowsPhone81

Ressource de référencement de base

Cette ressource contient des informations de référencement de base pour une application. Cette ressource a les valeurs suivantes.

Valeur Type Description
copyrightAndTrademarkInfo string Informations de copyright et/ou de marque facultatives.
mots clés tableau Tableau de mots clés facilitant l’apparition de l’application dans les résultats de recherche.
licenseTerms string Termes du contrat de licence facultatifs de votre application.
privacyPolicy string Cette valeur est obsolète. Pour définir ou modifier l’URL de la stratégie de confidentialité de votre application, vous devez le faire dans la page Propriétés de l’Espace partenaires. Vous pouvez omettre cette valeur de vos appels à l’API de soumission. Si vous définissez cette valeur, elle sera ignorée.
supportContact string Cette valeur est obsolète. Pour définir ou modifier l’URL ou l’adresse e-mail du contact du support technique pour votre application, vous devez le faire dans la page Propriétés de l’Espace partenaires. Vous pouvez omettre cette valeur de vos appels à l’API de soumission. Si vous définissez cette valeur, elle sera ignorée.
websiteUrl string Cette valeur est obsolète. Pour définir ou modifier l’URL de la page web de votre application, vous devez le faire dans la page Propriétés de l’Espace partenaires. Vous pouvez omettre cette valeur de vos appels à l’API de soumission. Si vous définissez cette valeur, elle sera ignorée.
description string Description du listing de l’application.
features tableau Tableau contenant 20 chaînes au maximum qui répertorient les fonctionnalités de votre application.
releaseNotes string Notes de publication de votre application.
images tableau Tableau des ressources d’image et d’icône de la description de l’application.
recommendedHardware tableau Tableau contenant jusqu’à 11 chaînes qui répertorient les configurations matérielles recommandées pour votre application.
minimumHardware string Tableau de 11 chaînes maximum qui répertorie les configurations matérielles minimales pour votre application.
title string Titre du listing de l’application.
shortDescription string Utilisé uniquement pour les jeux. Cette description apparaît dans la section Informations du Game Hub sur Xbox One et aide les clients à en savoir plus sur votre jeu.
shortTitle string Version plus courte du nom de votre produit. S’il est fourni, ce nom plus court peut apparaître à différents endroits sur Xbox One (pendant l’installation, dans Réalisations, etc.) à la place du titre complet de votre produit.
sortTitle string Si votre produit peut être alphabétique de différentes manières, vous pouvez entrer une autre version ici. Cela peut aider les clients à trouver le produit plus rapidement lors de la recherche.
voiceTitle string Autre nom de votre produit qui, s’il est fourni, peut être utilisé dans l’expérience audio sur Xbox One lors de l’utilisation de Kinect ou d’un casque.
devStudio string Spécifiez cette valeur si vous souhaitez inclure un champ Développé par dans la liste. (Le champ Publié par répertorie le nom d’affichage de l’éditeur associé à votre compte, que vous fournissiez ou non une valeur devStudio .)

Ressource d’image

Cette ressource contient les données d’image et d’icône d’une description d’application. Pour plus d’informations sur les images et les icônes d’une liste d’application, consultez Captures d’écran et images d’application. Cette ressource a les valeurs suivantes.

Valeur Type Description
fileName string Nom du fichier image dans l’archive ZIP que vous avez chargé pour la soumission.
fileStatus string État du fichier image. Il peut s’agir de l’une des valeurs suivantes :
  • Aucun
  • PendingUpload
  • Téléchargé
  • PendingDelete
id string ID de l’image. Cette valeur est fournie par l’Espace partenaires.
description string Description de l’image.
imageType string Indique le type de l’image. Les chaînes suivantes sont actuellement prises en charge.

Images de capture d’écran :

  • Capture d’écran (utilisez cette valeur pour la capture d’écran du bureau)
  • MobileScreenshot
  • XboxScreenshot
  • SurfaceHubScreenshot
  • HoloLensScreenshot

Logos du Store :

  • StoreLogo9x16
  • StoreLogoSquare
  • Icône (utilisez cette valeur pour le logo 1:1 300 x 300 pixels)

Images promotionnelles :

  • PromotionalArt16x9
  • PromotionalArtwork2400X1200

Images Xbox :

  • XboxBrandedKeyArt
  • XboxTitledHeroArt
  • XboxFeaturedPromotionalArt

Images promotionnelles facultatives :

  • SquareIcon358X358
  • BackgroundImage1000X800
  • PromotionalArtwork414X180

Ressource Options de jeu

Cette ressource contient des paramètres liés au jeu pour l’application. Les valeurs de cette ressource correspondent aux paramètres de jeu pour les soumissions dans l’Espace partenaires.

{
  "gamingOptions": [
    {
      "genres": [
        "Games_ActionAndAdventure",
        "Games_Casino"
      ],
      "isLocalMultiplayer": true,
      "isLocalCooperative": true,
      "isOnlineMultiplayer": false,
      "isOnlineCooperative": false,
      "localMultiplayerMinPlayers": 2,
      "localMultiplayerMaxPlayers": 12,
      "localCooperativeMinPlayers": 2,
      "localCooperativeMaxPlayers": 12,
      "isBroadcastingPrivilegeGranted": true,
      "isCrossPlayEnabled": false,
      "kinectDataForExternal": "Enabled"
    }
  ],
}

Cette ressource a les valeurs suivantes.

Valeur Type Description
genres tableau Tableau d’une ou plusieurs des chaînes suivantes qui décrivent les genres du jeu :
  • Games_ActionAndAdventure
  • Games_CardAndBoard
  • Games_Casino
  • Games_Educational
  • Games_FamilyAndKids
  • Games_Fighting
  • Games_Music
  • Games_Platformer
  • Games_PuzzleAndTrivia
  • Games_RacingAndFlying
  • Games_RolePlaying
  • Games_Shooter
  • Games_Simulation
  • Games_Sports
  • Games_Strategy
  • Games_Word
isLocalMultiplayer boolean Indique si le jeu prend en charge le mode multijoueur local.
isLocalCooperative boolean Indique si le jeu prend en charge la coopération locale.
isOnlineMultiplayer boolean Indique si le jeu prend en charge le mode multijoueur en ligne.
isOnlineCooperative boolean Indique si le jeu prend en charge la coopération en ligne.
localMultiplayerMinPlayers int Spécifie le nombre minimal de joueurs pris en charge par le jeu pour le multijoueur local.
localMultiplayerMaxPlayers int Spécifie le nombre maximal de joueurs pris en charge par le jeu pour le multijoueur local.
localCooperativeMinPlayers int Spécifie le nombre minimal de joueurs pris en charge par le jeu pour la coopération locale.
localCooperativeMaxPlayers int Spécifie le nombre maximal de joueurs pris en charge par le jeu pour la coopération locale.
isBroadcastingPrivilegeGranted boolean Indique si le jeu prend en charge la diffusion.
isCrossPlayEnabled boolean Indique si le jeu prend en charge les sessions multijoueurs entre les joueurs sur Windows 10 et Windows 11 PC et Xbox.
kinectDataForExternal string Une des valeurs de chaîne suivantes qui indique si le jeu peut collecter des données Kinect et les envoyer à des services externes :
  • NotSet
  • Unknown
  • activé
  • Désactivé

Notes

La ressource gamingOptions a été ajoutée en mai 2017, après la publication de l’API de soumission au Microsoft Store pour les développeurs. Si vous avez créé une soumission pour une application via l’API de soumission avant l’introduction de cette ressource et que cette soumission est toujours en cours, cette ressource sera null pour les soumissions pour l’application jusqu’à ce que vous validiez correctement la soumission ou que vous la supprimiez. Si la ressource gamingOptions n’est pas disponible pour les soumissions pour une application, le champ hasAdvancedListingPermission de la ressource Application retournée par la méthode get an app est false.

Ressource des détails d’état

Cette ressource contient des détails supplémentaires sur l’état d’une soumission. Cette ressource a les valeurs suivantes.

Valeur Type Description
erreurs object Tableau des ressources des détails d’état qui contiennent les détails d’erreur de la soumission.
warnings object Tableau des ressources des détails d’état qui contiennent les détails d’avertissement de la soumission.
certificationReports object Tableau des ressources de rapport de certification qui donnent accès aux données du rapport de certification de la soumission. Vous pouvez examiner ces rapports pour obtenir plus d’informations en cas d’échec de la certification.

Ressource des détails d’état

Cette ressource contient des informations supplémentaires sur les éventuels erreurs ou avertissements pour une soumission. Cette ressource a les valeurs suivantes.

Valeur Type Description
code string Code d’état de soumission qui décrit le type d’erreur ou d’avertissement.
details string Message contenant des détails sur le problème.

Ressource de package d’application

Cette ressource contient des détails sur un package d’application pour la soumission.

{
  "applicationPackages": [
    {
      "fileName": "contoso_app.appx",
      "fileStatus": "Uploaded",
      "id": "1152921504620138797",
      "version": "1.0.0.0",
      "architecture": "ARM",
      "languages": [
        "en-US"
      ],
      "capabilities": [
        "ID_RESOLUTION_HD720P",
        "ID_RESOLUTION_WVGA",
        "ID_RESOLUTION_WXGA"
      ],
      "minimumDirectXVersion": "None",
      "minimumSystemRam": "None",
      "targetDeviceFamilies": [
        "Windows.Mobile min version 10.0.10240.0"
      ]
    }
  ],
}

Cette ressource a les valeurs suivantes.

Notes

Lors de l’appel de la méthode de mise à jour d’une application , seules les valeurs fileName, fileStatus, minimumDirectXVersion et minimumSystemRam de cet objet sont requises dans le corps de la demande. Les autres valeurs sont renseignées par l’Espace partenaires.

Valeur Type Description
fileName string Nom du package.
fileStatus string État du package. Il peut s’agir de l’une des valeurs suivantes :
  • Aucun
  • PendingUpload
  • Téléchargé
  • PendingDelete
id string ID qui identifie de manière unique le package. Cette valeur est fournie par l’Espace partenaires.
version string Version du package d’application. Pour plus d’informations, voir Numérotation des versions de packages.
architecture string Architecture du package (par exemple, ARM).
languages tableau Tableau des codes des langues prises en charge par l’application. Pour en savoir plus, consultez Langages pris en charge.
capabilities tableau Tableau des fonctionnalités exigées par le package. Pour plus d’informations sur les fonctionnalités, voir Déclarations des fonctionnalités d’application.
minimumDirectXVersion string Version DirectX minimale prise en charge par le package d’application. Cela peut être défini uniquement pour les applications qui ciblent Windows 8.x. Pour les applications qui ciblent d’autres versions de système d’exploitation, cette valeur doit être présente lors de l’appel de la méthode de soumission d’une mise à jour d’application , mais la valeur que vous spécifiez est ignorée. Il peut s’agir de l’une des valeurs suivantes :
  • Aucun
  • DirectX93
  • DirectX100
minimumSystemRam string Mémoire RAM minimale exigée par le package d’application. Cela peut être défini uniquement pour les applications qui ciblent Windows 8.x. Pour les applications qui ciblent d’autres versions de système d’exploitation, cette valeur doit être présente lors de l’appel de la méthode de soumission d’une mise à jour d’application , mais la valeur que vous spécifiez est ignorée. Il peut s’agir de l’une des valeurs suivantes :
  • Aucun
  • Memory2GB
targetDeviceFamilies tableau Tableau de chaînes qui représentent les familles d’appareils que le package cible. Cette valeur est utilisée uniquement pour les packages qui ciblent Windows 10. Pour les packages qui ciblent des versions antérieures, cette valeur est None. Les chaînes de famille d’appareils suivantes sont actuellement prises en charge pour les packages Windows 10 et Windows 11, où {0} est une chaîne de version Windows 10 ou Windows 11 telle que 10.0.10240.0, 10.0.10586.0 ou 10.0.14393.0 :
  • Version minimale de Windows.Universal {0}
  • Version minimale de Windows.Desktop {0}
  • Version minimale de Windows.Mobile {0}
  • Version minimale de Windows.Xbox {0}
  • Version minimale de Windows.Holographic {0}

id="certification-report-resource »

Ressource de rapport de certification

Cette ressource donne accès aux données du rapport de certification d’une soumission. Cette ressource a les valeurs suivantes.

Valeur Type Description
Date string Date et heure de génération du rapport, au format ISO 8601.
reportUrl string URL vous permettant d’accéder au rapport.

Ressource des options de remise du package

Cette ressource contient les paramètres de déploiement de package progressif et de mise à jour obligatoire de la soumission.

{
  "packageDeliveryOptions": {
    "packageRollout": {
        "isPackageRollout": false,
        "packageRolloutPercentage": 0,
        "packageRolloutStatus": "PackageRolloutNotStarted",
        "fallbackSubmissionId": "0"
    },
    "isMandatoryUpdate": false,
    "mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
  },
}

Cette ressource a les valeurs suivantes.

Valeur Type Description
packageRollout object Ressource de lancement de packages qui contient les paramètres de lancement de packages progressif de la soumission.
isMandatoryUpdate boolean Indique si vous souhaitez traiter les packages de cette soumission comme obligatoires pour l’installation automatique des mises à jour de l’application. Pour plus d’informations sur les packages obligatoires pour l’installation automatique des mises à jour de l’application, consultez Télécharger et installer les mises à jour de package pour votre application.
mandatoryUpdateEffectiveDate Date Date et heure auxquelles les packages de cette soumission deviennent obligatoires, au format ISO 8601 dans le fuseau horaire UTC.

Ressource de lancement de packages

Contient les paramètres de déploiement de package de la soumission. Cette ressource a les valeurs suivantes.

Valeur Type Description
isPackageRollout boolean Indique si le déploiement de package progressif est activé pour la soumission.
packageRolloutPercentage float Pourcentage d’utilisateurs qui recevront les packages de déploiement progressif.
packageRolloutStatus string Une des chaînes suivantes qui indique l’état de déploiement de package progressif :
  • PackageRolloutNotStarted
  • PackageRolloutInProgress
  • PackageRolloutComplete
  • PackageRolloutStopped
fallbackSubmissionId string ID de la soumission qui sera reçue par les clients n’obtenant pas les packages de déploiement progressif.

Notes

Les valeurs packageRolloutStatus et fallbackSubmissionId sont attribuées par l’Espace partenaires et ne sont pas destinées à être définies par le développeur. Si vous incluez ces valeurs dans un corps de requête, ces valeurs seront ignorées.

Ressource Trailers

Cette ressource représente une bande-annonce vidéo pour la liste des applications. Les valeurs de cette ressource correspondent aux options de bandes-annonces pour les soumissions dans l’Espace partenaires.

Vous pouvez ajouter jusqu’à 15 ressources de bandes-annonces au tableau de bandes-annonces dans une ressource de soumission d’application. Pour charger des fichiers vidéo de bande-annonce et des images miniatures pour une soumission, ajoutez ces fichiers à la même archive ZIP qui contient les packages et les images de liste pour la soumission, puis chargez cette archive ZIP vers l’URI de signature d’accès partagé (SAS) pour la soumission. Pour plus d’informations sur le chargement de l’archive ZIP dans l’URI SAS, consultez Créer une soumission d’application.

{
  "trailers": [
    {
      "id": "1158943556954955699",
      "videoFileName": "Trailers\\ContosoGameTrailer.mp4",
      "videoFileId": "1159761554639123258",
      "trailerAssets": {
        "en-us": {
          "title": "Contoso Game",
          "imageList": [
            {
              "fileName": "Images\\ContosoGame-Thumbnail.png",
              "id": "1155546904097346923",
              "description": "This is a still image from the video."
            }
          ]
        }
      }
    }
  ]
}

Cette ressource a les valeurs suivantes.

Valeur Type Description
id string ID de la bande-annonce. Cette valeur est fournie par l’Espace partenaires.
videoFileName string Nom du fichier vidéo de bande-annonce dans l’archive ZIP qui contient les fichiers pour la soumission.
videoFileId string ID du fichier vidéo de bande-annonce. Cette valeur est fournie par l’Espace partenaires.
trailerAssets object Dictionnaire de paires clé et valeur, où chaque clé est un code de langage et chaque valeur est une ressource de ressources de bande-annonce qui contient des ressources spécifiques aux paramètres régionaux supplémentaires pour la bande-annonce. Pour plus d’informations sur les codes de langue pris en charge, consultez Langues prises en charge.

Notes

La ressource trailers a été ajoutée en mai 2017, après la publication de l’API de soumission au Microsoft Store pour la première fois pour les développeurs. Si vous avez créé une soumission pour une application via l’API de soumission avant l’introduction de cette ressource et que cette soumission est toujours en cours, cette ressource sera null pour les soumissions pour l’application jusqu’à ce que vous validiez correctement la soumission ou que vous la supprimiez. Si la ressource trailers n’est pas disponible pour les soumissions pour une application, le champ hasAdvancedListingPermission de la ressource Application retournée par la méthode get an app est false.

Ressource de ressources de la bande-annonce

Cette ressource contient des ressources supplémentaires spécifiques aux paramètres régionaux pour une bande-annonce définie dans une ressource de bande-annonce. Cette ressource a les valeurs suivantes.

Valeur Type Description
title string Titre localisé de la bande-annonce. Le titre s’affiche lorsque l’utilisateur lit la bande-annonce en mode plein écran.
Imagelist tableau Tableau qui contient une ressource d’image qui fournit l’image miniature de la bande-annonce. Vous ne pouvez inclure qu’une seule ressource d’image dans ce tableau.

Ressource image (pour une bande-annonce)

Cette ressource décrit l’image miniature d’une bande-annonce. Cette ressource a les valeurs suivantes.

Valeur Type Description
fileName string Nom du fichier image miniature dans l’archive ZIP que vous avez chargée pour la soumission.
id string ID de l’image miniature. Cette valeur est fournie par l’Espace partenaires.
description string Description de l’image miniature. Cette valeur est uniquement des métadonnées et n’est pas affichée pour les utilisateurs.

Énumérations

Ces méthodes utilisent les énumérations suivantes.

Niveaux de prix

Les valeurs suivantes représentent les niveaux de prix disponibles dans la ressource de ressource de tarification pour une soumission d’application.

Valeur Description
Base Le niveau de prix n’est pas défini ; utilisez le prix de base de l’application.
NotAvailable L’application n’est pas disponible dans la région spécifiée.
Gratuit Cette application est gratuite.
Niveauxxx Chaîne qui spécifie le niveau tarifaire de l’application, au format Tierxxxx. Actuellement, les plages de niveaux de prix suivantes sont prises en charge :

  • Si la valeur isAdvancedPricingModel de la ressource tarifaire est true, les valeurs de niveau tarifaire disponibles pour votre compte sont Tier1012 - Tier1424.
  • Si la valeur isAdvancedPricingModel de la ressource tarifaire est false, les valeurs de niveau tarifaire disponibles pour votre compte sont Tier2 - Tier96.
Pour voir la table complète des niveaux de prix disponibles pour votre compte de développeur, y compris les prix spécifiques au marché associés à chaque niveau, accédez à la page Tarification et disponibilité de l’une de vos soumissions d’application dans l’Espace partenaires, puis cliquez sur le lien Afficher la table dans la section Marchés et prix personnalisés (pour certains comptes de développeur, ce lien se trouve dans la section Tarification ).

Valeurs de gestion des licences d’entreprise

Les valeurs suivantes représentent le comportement des licences de l’organisation pour l’application. Pour plus d’informations sur ces options, voir Options de gestion des licences organisationnelles.

Notes

Bien que vous puissiez configurer les options de licence organisationnelle pour une soumission d’application via l’API de soumission, vous ne pouvez pas utiliser cette API pour publier des soumissions pour les achats en volume via le Microsoft Store pour Entreprises et Microsoft Store pour Éducation. Pour publier des soumissions dans le Microsoft Store pour Entreprises et le Microsoft Store pour Éducation, vous devez utiliser l’Espace partenaires.

Valeur Description
None Ne mets pas votre application à la disposition des entreprises dont les licences en volume sont gérées par le Windows Store (en ligne).
En ligne Mets votre application à la disposition des entreprises dont les licences en volume sont gérées par le Windows Store (en ligne).
OnlineAndOffline Mets votre application à la disposition des entreprises dont les licences en volume sont gérées par le Windows Store (en ligne) et à la disposition des entreprises par le biais de l’achat de licences en mode hors connexion.

Code d’état de soumission

Les valeurs suivantes représentent le code d’état d’une soumission.

Valeur Description
None Aucun code n’a été spécifié.
InvalidArchive L’archive ZIP contenant le package n’est pas valide ou a un format d’archive non reconnu.
MissingFiles L’archive ZIP ne dispose pas de tous les fichiers qui ont été répertoriés dans les données de votre soumission, ou ils se trouvent dans un emplacement incorrect dans l’archive.
PackageValidationFailed La validation d’un ou de plusieurs packages de votre soumission a échoué.
InvalidParameterValue Un des paramètres dans le corps de la requête n’est pas valide.
InvalidOperation L’opération que vous avez tentée n’est pas valide.
InvalidState L’opération que vous avez tentée n’est pas valide pour l’état actuel de la version d’évaluation du package.
ResourceNotFound La version d’évaluation du package spécifiée est introuvable.
ServiceError Une erreur de service interne a empêché la requête de réussir. Relancez la requête.
ListingOptOutWarning Le développeur supprimé un listing d’une soumission précédente ou il n’a pas inclus d’informations de listing prises en charge par le package.
ListingOptInWarning Le développeur a ajouté un listing.
UpdateOnlyWarning Le développeur essaie d’insérer quelque chose qui prend uniquement en charge la mise à jour.
Autres La soumission est dans un état non reconnu ou non affecté à une catégorie.
PackageValidationWarning Le processus de validation du package a généré un avertissement.