Gérer les soumissions d’applications

L’API de soumission du Microsoft Store fournit des méthodes que vous pouvez utiliser pour gérer les soumissions pour vos applications, y compris les déploiements progressifs de packages. Pour une présentation de l’API de soumission du 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 avec l’API, vous ne pourrez plus la modifier ou la valider à l’aide de l’API. Dans certains cas, la soumission peut être laissée dans l’état d’erreur, ce qui empêche le processus de soumission de se poursuivre. 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 les Microsoft Store pour Entreprises et les Microsoft Store pour Éducation ou pour publier des soumissions pour les applications métier directement aux entreprises. Pour ces deux scénarios, vous devez utiliser l’Espace partenaires pour publier la soumission.

Méthodes de gestion des soumissions d’applications

Utilisez les méthodes suivantes pour obtenir, créer, mettre à jour, valider ou supprimer une soumission d’application. 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.

Method URI Description
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} Obtenir une soumission d’application existante
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/status Obtenir l’état d’une soumission d’application existante
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions Créer une soumission d’application
PUT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} Mettre à jour une soumission d’application existante
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit Valider une soumission d’application nouvelle ou mise à jour
DELETE 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 toutes les conditions préalables pour l’API de soumission au Microsoft Store.

    Remarque

    Assurez-vous que l’application dispose déjà d’au moins une soumission terminée avec les informations d’évaluation de l’âge terminées .

  2. Obtenir un jeton d’accès Azure AD. Vous devez transmettre ce jeton d’accès aux méthodes dans l’API de soumission au 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 expiré, 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 au Microsoft Store. Cette méthode crée une nouvelle 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) pour charger tous les fichiers associés à la soumission vers Stockage Blob Azure (par exemple, les packages d’application, les images de liste et les fichiers de bandes-annonces) et toutes les données de la nouvelle soumission (telles que les listes et les informations de tarification).

    Remarque

    Un URI SAS permet d’accéder à une ressource sécurisée dans le stockage Azure sans clés de compte. Pour plus d’informations générales sur les URI SAS et leur utilisation avec le Stockage Blob Azure, consultez Signatures d’accès partagé, partie 1 : compréhension du modèle SAS et Signatures d’accès partagé, partie 2 : créer et utiliser une SAS avec le 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. Modifiez 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}
    

    Remarque

    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, des images de liste ou des fichiers de bandes-annonces pour la soumission, chargez l’archive ZIP sur Stockage Blob Azure à l’aide de l’URI SAP fourni dans le corps de la réponse de la méthode POST que vous avez appelée précédemment. Il existe différentes bibliothèques Azure que vous pouvez utiliser pour faire cela sur diverses plateformes, notamment :

    L’exemple de code C# suivant montre comment télécharger une archive ZIP vers le Stockage Blob Azure à l’aide de la classe CloudBlockBlob dans la bibliothèque cliente Stockage Azure pour .NET. Cet exemple présuppose 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 de l’application en exécutant la méthode suivante. L’Espace partenaires sera ainsi informé 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 de l’application.

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

    Pour confirmer l’état de la soumission, vérifiez la valeur d’état dans le corps de la réponse. Cette valeur doit passer de CommitStarted à PreProcessing, si la requête réussit, ou CommitFailed en cas d’erreurs dans la requête. En cas d’erreur, le champ statusDetails contient des détails supplémentaires sur cette dernière.

  9. Une fois la validation terminée, la soumission est envoyée au Store pour ingestion. Vous pouvez continuer à suivre le déroulement de la soumission en utilisant la méthode précédente ou en vous rendant dans l’Espace partenaires.

Méthodes de gestion d’un déploiement de package progressif

Vous pouvez déployer progressivement les packages mis à jour dans une soumission d’application à un pourcentage des clients de votre application sur Windows 10 et Windows 11. Cela vous permet de surveiller les commentaires et les données analytiques des packages spécifiques pour vous assurer que vous êtes sûr de la mise à jour avant de la déployer plus largement. Vous pouvez modifier le pourcentage de déploiement (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 de packages dans l’Espace partenaires, consultez cet article.

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

  1. Créez une soumission d’application ou obtenez une soumission d’application 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 des clients de votre application qui doivent obtenir les packages mis à jour.
  3. Transmettez les données de soumission d’application mises à jour à la mise à jour d’une méthode de soumission d’application.

Une fois le déploiement progressif d’un package activé pour une soumission d’application, vous pouvez utiliser les méthodes suivantes pour obtenir, mettre à jour, arrêter ou finaliser le déploiement progressif par programmation.

Method URI Description
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/packagerollout Obtenir les informations de déploiement progressif pour une soumission d’application
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/updatepackagerolloutpercentage Mettre à jour le pourcentage de déploiement progressif pour une soumission d’application
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/haltpackagerollout Arrêter le déploiement progressif d’une soumission d’application
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/finalizepackagerollout Finaliser le déploiement progressif d’une soumission d’application

Exemples de code pour la gestion des soumissions d’applications

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

Module PowerShell StoreBroker

Au lieu d’appeler directement l’API de soumission au Microsoft Store, nous fournissons également un module PowerShell open-source qui implémente une interface de ligne de commande parallèlement à l’API. Ce module s’appelle StoreBroker. Vous pouvez l’utiliser pour gérer votre application, la version d’évaluation et des soumissions de modules complémentaires à partir de la ligne de commande au lieu d’appeler directement l’API de soumission au Microsoft Store. Vous pouvez aussi simplement parcourir la source pour voir d’autres exemples sur la façon d’appeler cette API. Le module StoreBroker est fréquemment utilisé au sein de Microsoft comme principal moyen de soumettre des applications internes au Store.

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

Ressources de données

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

Ressource de soumission d’application

Cette ressource décrit une soumission d’application.

{
  "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 L’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, obtenir toutes les applications et obtenir 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 la sous-catégorie de votre application. Les catégories et les sous-catégories sont combinées en une seule chaîne avec le caractère de soulignement '_', comme BooksAndReference_EReader.
Prix object Ressource de tarification qui contient des informations de tarification pour l’application.
visibility string Visibilité de l’application. Il peut s’agir de l’une des valeurs suivantes :
  • Masqué(e)
  • ///Public
  • Privée
  • NotSet
targetPublishMode string Mode de publication de 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 targetPublishMode est défini sur SpecificDate.
référencements object Dictionnaire de paires clé et 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 pour l’application.
hardwarePreferences tableau Tableau de chaînes qui définissent les préférences matérielles de votre application. Il peut s’agir de l’une des valeurs suivantes :
  • Toucher
  • Clavier
  • Souris
  • Appareil photo
  • NfcHce
  • Nfc
  • BluetoothLE
  • Téléphonie
automaticBackupEnabled booléen Indique si Windows peut inclure les données de votre application dans les sauvegardes automatiques sur OneDrive. Pour plus d’informations, consultez déclarations d’application.
canInstallOnRemovableMedia booléen Indique si les clients peuvent installer votre application dans un stockage amovible. Pour plus d’informations, consultez déclarations d’application.
isGameDvrEnabled booléen Indique si DVR de jeu est activé 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 booléen Indique si votre application permet aux utilisateurs d’effectuer un achat en dehors du système de commerce du Microsoft Store. Pour plus d’informations, consultez déclarations d’application.
meetAccessibilityGuidelines booléen Indique si votre application a été testée pour répondre aux instructions d’accessibilité. Pour plus d’informations, consultez déclarations d’application.
notesForCertification string Contient des notes de certification pour votre application.
statut string État de la soumission. Il peut s’agir de l’une des valeurs suivantes :
  • Aucune
  • Annulée
  • PendingCommit
  • CommitStarted
  • CommitFailed
  • PendingPublication
  • Publication
  • Publiée
  • PublishFailed
  • PreProcessing
  • PreProcessingFailed
  • Certification
  • CertificationFailed
  • Version release
  • ReleaseFailed
statusDetails object Ressource de détails sur l’état qui contient des détails supplémentaires sur l’état de la soumission, y compris des informations sur les erreurs éventuelles.
fileUploadUrl string URI de signature d’accès partagé (SAS) pour le téléchargement de packages pour la soumission. Si vous ajoutez de nouveaux packages, des images de liste ou des fichiers de bandes-annonces pour la soumission, chargez l’archive ZIP qui contient les packages et les images dans cet URI. Pour plus d’informations, consultez Créer une soumission d’application.
applicationPackages tableau Tableau de ressources de package d’application qui fournissent des détails sur chaque package dans la soumission.
packageDeliveryOptions object Ressource d’options de remise de package qui contient le déploiement progressif du package et les paramètres de mise à jour obligatoires de la soumission.
enterpriseLicensing string Une des valeurs de licence d’entreprise qui indiquent le comportement de licence d’entreprise pour l’application.
allowMicrosoftDecideAppAvailabilityToFutureDeviceFamilies booléen 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é et valeur, où chaque clé est une famille d’appareils Windows 10 et Windows 11 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 tel qu’il apparaît 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 sur la 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
  • Quinze Jours
  • Trente Jours
marketSpecificPricings object Dictionnaire de paires clé et valeur, où chaque clé est un code de pays ISO 3166-1 alpha-2 à deux lettres et chaque valeur est un niveau tarifaire. 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 pour le marché spécifié.
sales tableau Déconseillé. Tableau de ressources de vente qui contiennent des informations de vente pour l’application.
priceId string Niveau de prix qui spécifie le prix de base de l’application.
isAdvancedPricingModel booléen Si la valeur est true, votre compte de développeur a accès à l’ensemble étendu des niveaux tarifaires de 0,99 USD à 1 999,99 USD. Si la valeur est false, votre compte de développeur a accès à l’ensemble des niveaux tarifaires d’origine de 0,99 USD à 999,99 USD. Pour plus d’informations sur les différents niveaux, consultez les niveaux tarifaires.

Remarque Ce champ est en lecture seule.

Ressource de vente

Ces ressources contiennent des informations de vente pour une application.

Important

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

  • Après avoir appelé la méthode GET pour obtenir une soumission d’application, la valeur de vente est vide. Vous pouvez continuer à utiliser l’Espace partenaires pour obtenir les données de vente de votre soumission d’application.
  • Lors de l’appel de la méthode PUT pour mettre à jour une soumission d’application, les informations contenues dans la valeur de vente sont ignorées. Vous pouvez continuer à utiliser l’Espace partenaires pour modifier les données de vente de votre soumission d’application.

Cette ressource a les valeurs suivantes.

Valeur Type Description
name chaîne Nom de la vente.
basePriceId string Niveau tarifaire à 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é et valeur, où chaque clé est un code de pays ISO 3166-1 alpha-2 à deux lettres et chaque valeur est un niveau tarifaire. 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 pour le marché spécifié.

Ressource liste

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

Valeur Type Description
baseListing object Informations de référencement de base pour l’application, qui définit les informations de référencement par défaut pour toutes les plateformes.
platformOverrides object Dictionnaire de paires clé et 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 :
  • Inconnu
  • Windows80
  • Windows81
  • WindowsPhone71
  • WindowsPhone80
  • WindowsPhone81

Ressource de référencement de base

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

Valeur Type Description
copyrightAndTrademarkInfo string Droits d’auteur facultatifs et/ou informations sur les marques déposées.
mots clés tableau Tableau de mots clés pour aider votre application à apparaître dans les résultats de recherche.
licenseTerms string Termes de licence facultatifs pour 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 de support 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 de la description de l’application.
features tableau Tableau de jusqu’à 20 chaînes qui répertorient les fonctionnalités de votre application.
releaseNotes string Notes de publication de votre application.
images tableau Tableau de ressources d’image et d’icône pour la liste des applications.
recommendedHardware tableau Tableau de jusqu’à 11 chaînes qui répertorient les configurations matérielles recommandées pour votre application.
minimumHardware string Tableau de jusqu’à 11 chaînes qui répertorient les configurations matérielles minimales pour votre application.
title string Titre de la description de l’application.
shortDescription string Utilisé uniquement pour les jeux. Cette description apparaît dans la section Informations du Hub de jeux sur Xbox One et aide les clients à en savoir plus sur votre jeu.
shortTitle string Une version raccourcie du nom de votre produit. Lorsqu’il est renseigné, ce nom abrégé peut apparaître à différents endroits sur Xbox One (pendant l’installation, dans les Succès, etc.) à la place du titre complet de votre produit.
sortTitle string Si votre produit peut être alphabétique de différentes façons, vous pouvez entrer une autre version ici. Cela peut aider les clients à trouver le produit plus rapidement lors de la recherche.
voiceTitle string Un nom alternatif pour votre produit qui, lorsqu’il est renseigné, 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 champ dans la liste. (Le Publié par champ répertorie le nom complet de l’éditeur associé à votre compte, que vous fournissiez ou non une valeur devStudio .)

Ressource d’image

Cette ressource contient des données d’image et d’icône pour une liste d’applications. Pour plus d’informations sur les images et les icônes d’une liste d’applications, consultez captures d’écran et images de l’application. Cette ressource a les valeurs suivantes.

Valeur Type Description
fileName string Nom du fichier image dans l’archive ZIP que vous avez chargée pour la soumission.
fileStatus string État du fichier image. Il peut s’agir de l’une des valeurs suivantes :
  • Aucune
  • PendingUpload
  • 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.

Capture d’écran des images :

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

Logos du Windows 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 des 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 booléen Indique si le jeu prend en charge le mode multijoueur local.
isLocalCooperative booléen Indique si le jeu prend en charge la coopération locale.
isOnlineMultiplayer booléen Indique si le jeu prend en charge le mode multijoueur en ligne.
isOnlineCooperative booléen 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 mode multijoueur local.
localMultiplayerMaxPlayers int Spécifie le nombre maximal de joueurs pris en charge par le jeu pour le mode 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 booléen Indique si le jeu prend en charge la diffusion.
isCrossPlayEnabled booléen Indique si le jeu prend en charge les sessions multijoueurs entre les joueurs sur Les PC Windows 10 et Windows 11 et Xbox.
kinectDataForExternal string Une des valeurs de chaîne suivantes qui indique si le jeu peut collecter des données Kinect et l’envoyer à des services externes :
  • NotSet
  • Inconnu
  • Activé(e)
  • Disabled

Remarque

La ressource gamingOptions a été ajoutée en mai 2017, après la publication de l’API de soumission du Microsoft Store aux 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 est null pour les soumissions pour l’application jusqu’à ce que vous validiez correctement la soumission ou que vous la supprimez. Si la ressource gamingOptions n’est pas disponible pour les soumissions d’une application, le champ hasAdvancedListingPermission de la ressource Application retournée par la méthode get an app est false.

Ressource de détails de l’é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 de ressources de détails de l’état qui contient des détails d’erreur pour la soumission.
Avertissements object Tableau de ressources de détails de l’état qui contient des détails d’avertissement pour la soumission.
certificationReports object Tableau de ressources du rapport de certification qui donnent accès aux données du rapport de certification pour la soumission. Vous pouvez examiner ces rapports pour plus d’informations si la certification échoue.

Ressource de détails de l’état

Cette ressource contient des informations supplémentaires sur les erreurs ou avertissements associés concernant une soumission. Cette ressource a les valeurs suivantes.

Valeur Type Description
code string Code d’état d’une soumission qui décrit le type d’erreur ou d’avertissement.
details string Message contenant plus de 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.

Remarque

Lors de l’appel de la méthode de soumission d’application de mise à jour, seules les valeurs fileName, fileStatus, minimumDirectXVersion et minimumSystemRam de cet objet sont requises dans le corps de la requête. Les autres valeurs sont remplies 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 :
  • Aucune
  • PendingUpload
  • Chargé
  • PendingDelete
id string ID qui identifie de façon unique le package. Cette valeur est fournie par l’Espace partenaires.
version chaîne Version du package d’application. Pour plus d’informations, consultez Numéro de version du package.
architecture string Architecture du package (par exemple, ARM).
languages tableau Tableau de codes de langue pour les langues prises en charge par l’application. Pour plus d’informations, consultez Langues prises en charge.
capabilities tableau Tableau de fonctionnalités requises par le package. Pour plus d’informations sur les fonctionnalités, consultez les déclarations de fonctionnalités d’application.
minimumDirectXVersion string Version minimale de DirectX prise en charge par le package d’application. Cela ne peut être défini que pour les applications qui ciblent Windows 8.x. Pour les applications qui ciblent d’autres versions du système d’exploitation, cette valeur doit être présente lors de l’appel d’une méthode de soumission d’application, mais la valeur que vous spécifiez est ignorée. Il peut s’agir de l’une des valeurs suivantes :
  • Aucune
  • DirectX93
  • DirectX100
minimumSystemRam string Ram minimale requise par le package d’application. Cela ne peut être défini que pour les applications qui ciblent Windows 8.x. Pour les applications qui ciblent d’autres versions du système d’exploitation, cette valeur doit être présente lors de l’appel d’une méthode de soumission d’application, mais la valeur que vous spécifiez est ignorée. Il peut s’agir de l’une des valeurs suivantes :
  • Aucune
  • Mémoire2 Go
targetDeviceFamilies tableau Tableau de chaînes qui représentent les familles d’appareils cibles par le package. Cette valeur est utilisée uniquement pour les packages qui ciblent Windows 10 ; pour les packages qui ciblent des versions antérieures, cette valeur a la valeur 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 min 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 pour une soumission. Cette ressource a les valeurs suivantes.

Valeur Type Description
date string La date et l’heure du rapport sont générées au format ISO 8601.
reportUrl string URL permettant d’accéder au rapport.

Ressource options de remise de package

Cette ressource contient des paramètres de déploiement de package progressifs et de mise à jour obligatoire pour 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 déploiement de package qui contient des paramètres de déploiement de package progressifs pour la soumission.
isMandatoryUpdate booléen Indique si vous souhaitez traiter les packages de cette soumission comme obligatoires pour l’installation automatique des mises à jour d’application. Pour plus d’informations sur les packages obligatoires pour l’installation automatique des mises à jour d’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 et au fuseau horaire UTC.

Ressource de déploiement de package

Cette ressource contient des paramètres de déploiement de package progressifs pour la soumission. Cette ressource a les valeurs suivantes.

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

Remarque

Les valeurs packageRolloutStatus et fallbackSubmissionId sont affecté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 sont ignorées.

Ressource Bandes-annonces

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 bande-annonce 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 répertorier les images de la soumission, puis chargez cette archive ZIP dans l’URI de signature d’accès partagé (SAP) de la soumission. Pour plus d’informations sur le chargement de l’archive ZIP dans l’URI SAP, 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 des 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.

Remarque

La ressource de bandes-annonces a été ajoutée en mai 2017, après la publication de l’API de soumission du Microsoft Store aux 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 est null pour les soumissions pour l’application jusqu’à ce que vous validiez correctement la soumission ou que vous la supprimez. Si la ressource de bandes-annonces n’est pas disponible pour les soumissions d’une application, le champ hasAdvancedListingPermission de la ressource Application retournée par la méthode get an app est false.

Ressource ressources de bandes-annonces

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

Valeur Type Description
titre 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 aux utilisateurs.

Énumérations

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

Niveaux tarifaires

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

Valeur Description
Base Le niveau tarifaire 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 tarifaires 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 consulter le tableau complet des niveaux tarifaires 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’applications dans l’Espace partenaires, puis cliquez sur le lien afficher le tableau dans la section Marchés et prix personnalisés (pour certains comptes de développeur, ce lien se trouve dans la rubrique Tarification).

Valeurs de licence d’entreprise

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

Remarque

Bien que vous puissiez configurer les options de licence d’organisation 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 les Microsoft Store pour Entreprises et les Microsoft Store pour Éducation. Pour publier des soumissions sur les Microsoft Store pour Entreprises et les Microsoft Store pour Éducation, vous devez utiliser l’Espace partenaires.

Valeur Description
None Ne rendez pas votre application disponible pour les entreprises disposant d’une licence en volume gérée par le Windows Store (en ligne).
En ligne Rendez votre application disponible pour les entreprises disposant d’une licence en volume gérée par le Windows Store (en ligne).
OnlineAndOffline Rendez votre application disponible pour les entreprises disposant d’une licence en volume gérée par le Windows Store (en ligne) et rendez votre application disponible pour les entreprises via des licences déconnectées (hors connexion).

Code d’état de la 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 son format d’archive n’est pas reconnu.
MissingFiles L’archive ZIP ne contient pas tous les fichiers répertoriés dans vos données de soumission, ou alors ils se trouvent à un emplacement erroné dans l’archive.
PackageValidationFailed Un ou plusieurs packages de votre soumission n’ont pas pu être validés.
InvalidParameterValue L’un des paramètres du corps de la requête n’est pas valide.
InvalidOperation L’opération tentée n’est pas valide.
InvalidState L’opération tentée n’est pas valide pour l’état actuel de la version d’évaluation de package.
ResourceNotFound Le fichier de la version d’évaluation de package spécifié est introuvable.
ServiceError Une erreur de service interne a empêché le succès de la requête. Essayez à nouveau.
ListingOptOutWarning Le développeur a supprimé une liste d’une soumission précédente ou n’a pas inclus les informations de référencement prises en charge par le package.
ListingOptInWarning Le développeur a ajouté une liste.
UpdateOnlyWarning Le développeur essaie d’insérer quelque chose qui dispose seulement d’une prise en charge des mises à jour.
Other La soumission est dans un état non reconnu ou non catégorisé.
PackageValidationWarning Le processus de validation du package a donné lieu à un avertissement.