Administración de envíos de aplicaciones

La API de envío de Microsoft Store proporciona métodos que puedes usar para administrar envíos para tus aplicaciones, incluidas las implementaciones graduales de paquetes. Para obtener una introducción a la API de envío de Microsoft Store, incluidos los requisitos previos para usar la API, consulta Crear y administrar envíos mediante los servicios de Microsoft Store.

Importante

Si usas la API de envío de Microsoft Store para crear un envío para una aplicación, asegúrate de realizar más cambios en el envío solo mediante la API, en lugar del Centro de partners. Si usa el Centro de partners para cambiar un envío que creó originalmente mediante la API, ya no podrá cambiar o confirmar ese envío mediante la API. En algunos casos, el envío podría dejarse en un estado de error en el que no puede continuar en el proceso de envío. Si esto ocurre, debe eliminar el envío y crear un nuevo envío.

Importante

No puede usar esta API para publicar envíos de compras por volumen a través de la Microsoft Store para Empresas y Microsoft Store para Educación o publicar envíos para aplicaciones loB directamente en empresas. Para ambos escenarios, debes usar el Centro de partners para publicar el envío.

Métodos para administrar envíos de aplicaciones

Usa los siguientes métodos para obtener, crear, actualizar, confirmar o eliminar un envío de aplicación. Para poder usar estos métodos, la aplicación ya debe existir en la cuenta del Centro de partners y primero debe crear un envío para la aplicación en el Centro de partners. Para más información, consulte la sección los requisitos previos.

Método URI Descripción
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} Obtener un envío de aplicación existente
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/status Obtener el estado de un envío de aplicación existente
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions Crear un nuevo envío de aplicación
PUT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} Actualizar un envío de aplicación existente
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit Confirmar un envío de aplicación nuevo o actualizado
Delete https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} Eliminar un envío de aplicación

Crear un envío de aplicación

Para crear un envío de aplicación, sigue este proceso.

  1. Si aún no lo ha hecho, complete todos los requisitos previos para la API de envío de Microsoft Store.

    Nota

    Asegúrese de que la aplicación ya tiene al menos un envío completado con la información de clasificación por edades completada.

  2. Obtenga un token de acceso de Azure AD. Debes pasar este token de acceso a los métodos de la API de envío de Microsoft Store. Una vez que haya obtenido un token de acceso, tiene 60 minutos para usarlo antes de que expire. Si el token expira, puedes obtener uno nuevo.

  3. Cree un envío de aplicación ejecutando el siguiente método en la API de envío de Microsoft Store. Este método crea un nuevo envío en curso, que es una copia de tu último envío publicado.

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

    El cuerpo de la respuesta contiene un recurso de envío de la aplicación que incluye el identificador del nuevo envío, el URI de firma de acceso compartido (SAS) para cargar los archivos relacionados para el envío a Azure Blob Storage (como paquetes de aplicaciones, imágenes de lista y archivos tráiler) y todos los datos del nuevo envío (como las listas e información de precios).

    Nota

    Un URI de SAS proporciona acceso a un recurso seguro en Azure Storage sin necesidad de claves de cuenta. Para obtener información general sobre los URI de SAS y su uso con Azure Blob Storage, consulte Firmas de acceso compartido, parte 1: Descripción del modelo saS y las firmas de acceso compartido, parte 2: Creación y uso de una SAS con Blob Storage.

  4. Si va a agregar nuevos paquetes, enumerar imágenes o archivos finalizadores para el envío, prepare los paquetes de la aplicación y prepare las capturas de pantalla, las imágenes y los tráileres de la aplicación. Agrega todos estos archivos a un archivo ZIP.

  5. Revise los datos de envío de la aplicación con los cambios necesarios para el nuevo envío y ejecute el siguiente método para actualizar el envío de la aplicación.

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

    Nota

    Si va a agregar nuevos archivos para el envío, asegúrese de actualizar los datos de envío para hacer referencia al nombre y la ruta de acceso relativa de estos archivos en el archivo ZIP.

  6. Si va a agregar nuevos paquetes, enumerar imágenes o archivos tráiler para el envío, cargue el archivo ZIP en Azure Blob Storage mediante el URI de SAS que se proporcionó en el cuerpo de la respuesta del método POST que llamó anteriormente. Hay varias bibliotecas de Azure, que puedes usar para hacer esto en una variedad de plataformas, como:

    En el siguiente ejemplo de código de C# se muestra cómo cargar un archivo ZIP en Azure Blob Storage mediante la clase CloudBlockBlob en la biblioteca cliente de Azure Storage para .NET. En este ejemplo se supone que el archivo ZIP ya se ha escrito en un objeto de secuencia.

    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. Ejecuta el siguiente método para confirmar el envío de aplicación. Esto le avisará al Centro de partners que haya terminado con el envío y que las actualizaciones se aplicarán ahora a su cuenta.

    POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit
    
  8. Comprueba el estado de confirmación ejecutando el siguiente método para obtener el estado del envío de aplicación.

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

    Para confirmar el estado del envío, revisa el valor de status en el cuerpo de la respuesta. Este valor debe cambiar de CommitStarted a PreProcessing si la solicitud se realiza correctamente o a CommitFailed si hay errores en la solicitud. Si hay errores, el campo statusDetails contendrá más detalles sobre el error.

  9. Después de completarse correctamente la confirmación, el envío se remite a la Tienda para su ingesta. Puedes seguir supervisando el progreso del envío mediante el método anterior o visitando el Centro de partners.

Métodos para administrar un lanzamiento de paquete gradual

Puedes implementar gradualmente los paquetes actualizados en un envío de aplicación a un porcentaje de los clientes de la aplicación en Windows 10 y Windows 11. Esto te permite supervisar los comentarios y los datos analíticos de los paquetes específicos para asegurarte de que estás seguro sobre la actualización antes de hacer un lanzamiento más amplio. Puedes cambiar el porcentaje de lanzamiento (o detener la actualización) para un envío publicado sin tener que crear un nuevo envío. Para obtener más información, incluidas las instrucciones para habilitar y administrar un lanzamiento gradual de paquetes en el Centro de partners, consulte este artículo.

Para habilitar mediante programación un lanzamiento gradual de paquetes para un envío de aplicación, siga este proceso mediante métodos en la API de envío de Microsoft Store:

  1. Crear un envío de aplicación u obtener un envío de aplicación existente.
  2. En los datos de respuesta, busca el recurso packageRollout, establece el campo isPackageRollout en true y establece el campo packageRolloutPercentage en el porcentaje de los clientes de tu aplicación que deben obtener los paquetes actualizados.
  3. Pasa los datos de envío de aplicación actualizados al método para actualizar un envío de aplicación.

Después de habilitar un lanzamiento de paquete gradual para un envío de aplicación, puedes usar los siguientes métodos para obtener, actualizar, detener o finalizar mediante programación el lanzamiento gradual.

Método URI Descripción
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/packagerollout Obtener la información de lanzamiento gradual para un envío de aplicación
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/updatepackagerolloutpercentage Actualizar el porcentaje de lanzamiento gradual de un envío de aplicación
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/haltpackagerollout Detener el lanzamiento gradual de un envío de aplicación
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/finalizepackagerollout Finalizar el lanzamiento gradual de un envío de aplicación

Ejemplos de código para administrar envíos de aplicaciones

En los siguientes artículos se proporcionan ejemplos de código detallados que muestran cómo crear un envío de aplicación en varios lenguajes de programación:

Módulo de PowerShell de StoreBroker

Como alternativa a llamar directamente a la API de envío de Microsoft Store, también proporcionamos un módulo de PowerShell de código abierto que implementa una interfaz de línea de comandos sobre la API. Este módulo se denomina StoreBroker. Puedes usar este módulo para administrar los envíos de aplicaciones, vuelos y complementos desde la línea de comandos en lugar de llamar directamente a la API de envío de Microsoft Store, o simplemente puedes examinar el origen para ver más ejemplos de cómo llamar a esta API. El módulo StoreBroker se usa activamente en Microsoft como la principal forma en que muchas aplicaciones propias se envían a la Tienda.

Para obtener más información, consulta nuestra página storeBroker en GitHub.

Recursos de datos

Los métodos de la API de envío de Microsoft Store para administrar envíos de aplicaciones usan los siguientes recursos de datos JSON.

Recurso de envío de aplicación

Este recurso describe un envío de aplicación.

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

Este recurso tiene los siguientes valores.

Value Tipo Descripción
id string Identificador del envío. Este identificador está disponible en los datos de respuesta de las solicitudes para crear un envío de aplicación, obtener todas las aplicaciones y obtener una aplicación. Para un envío creado en el Centro de partners, este identificador también está disponible en la dirección URL de la página de envío en el Centro de partners.
applicationCategory string Cadena que especifica la categoría o subcategoría de la aplicación. Las categorías y subcategorías se combinan en una cadena simple mediante el guion bajo "_" como, por ejemplo, BooksAndReference_EReader.
Precios object Un recurso de precios que contiene información sobre precios para la aplicación.
visibilidad string Visibilidad de la aplicación. Puede ser uno de los siguientes valores:
  • Hidden
  • Público
  • Privada
  • NotSet
targetPublishMode string Modo de publicación del envío. Puede ser uno de los siguientes valores:
  • Inmediata
  • Manual
  • SpecificDate
targetPublishDate string Fecha de publicación del envío en formato ISO 8601, si el valor targetPublishMode se establece en SpecificDate.
listings object Diccionario de pares de clave-valor en el cual cada clave hace referencia al código de un país y cada valor hace referencia a un recurso de lista que contiene la descripción de la aplicación.
hardwarePreferences array Matriz de cadenas que definen las preferencias de hardware de la aplicación. Puede ser uno de los siguientes valores:
  • Tocar
  • Teclado
  • Mouse
  • Cámara
  • NfcHce
  • Nfc
  • BluetoothLE
  • Telefonía
automaticBackupEnabled boolean Indica si Windows puede incluir datos de la aplicación en copias de seguridad automáticas de OneDrive. Para obtener más información, consulta App declarations (Declaraciones de las aplicaciones).
canInstallOnRemovableMedia boolean Indica si los clientes pueden instalar la aplicación en el almacenamiento extraíble. Para obtener más información, consulta App declarations (Declaraciones de las aplicaciones).
isGameDvrEnabled boolean Indica si se habilita game DVR en la aplicación.
gamingOptions array Matriz que contiene un recurso de opciones de juego que define la configuración relacionada con el juego para la aplicación.
hasExternalInAppProducts boolean Indica si la aplicación permite a los usuarios realizar compras fuera del sistema de comercio de Microsoft Store. Para obtener más información, consulta App declarations (Declaraciones de las aplicaciones).
meetAccessibilityGuidelines boolean Indica si la aplicación se ha probado para garantizar que cumple las directrices de accesibilidad. Para obtener más información, consulta App declarations (Declaraciones de las aplicaciones).
notesForCertification string Contiene notas para la certificación de la aplicación.
status string Estado del envío. Puede ser uno de los siguientes valores:
  • Ninguno
  • Canceled
  • PendingCommit
  • CommitStarted
  • CommitFailed
  • PendingPublication
  • Publicación
  • Publicado
  • PublishFailed
  • PreProcessing
  • PreProcessingFailed
  • Certificación
  • CertificationFailed
  • Release
  • ReleaseFailed
statusDetails object Un recurso de detalles de estado que contiene detalles adicionales sobre el estado del envío, incluida la información sobre los errores.
fileUploadUrl string URI de firma de acceso compartido (SAS) para cargar los paquetes para el envío. Si va a agregar nuevos paquetes, enumerar imágenes o archivos finalizadores para el envío, cargue el archivo ZIP que contiene los paquetes e imágenes en este URI. Para obtener más información, consulta Crear un envío de aplicación.
applicationPackages array Una matriz de recursos de paquete de aplicación que proporcionan detalles acerca de cada paquete del envío.
packageDeliveryOptions object Un recurso de opciones de entrega de paquete que contiene el lanzamiento de paquete gradual y la configuración de actualización obligatoria para el envío.
enterpriseLicensing string Uno de los valores de licencia de empresa indica el comportamiento de la licencia de empresa de la aplicación.
allowMicrosoftDecideAppAvailabilityToFutureDeviceFamilies boolean Indica si Microsoft puede hacer que la aplicación esté disponible para futuras familias de dispositivos Windows 10 y Windows 11.
allowTargetFutureDeviceFamilies object Diccionario de pares clave y valor, donde cada clave es una familia de dispositivos Windows 10 y Windows 11 y cada valor es un valor booleano que indica si la aplicación puede tener como destino la familia de dispositivos especificada.
friendlyName string Nombre descriptivo del envío, como se muestra en el Centro de partners. Este valor se genera automáticamente al crear el envío.
Acoplados array Matriz que contiene hasta 15 recursos de finalizador que representan tráileres de vídeo para la lista de aplicaciones.

Recurso de precios

Este recurso contiene información sobre precios de la aplicación. Este recurso tiene los siguientes valores.

Value Tipo Descripción
trialPeriod string Cadena que especifica el período de prueba de la aplicación. Puede ser uno de los siguientes valores:
  • NoFreeTrial
  • OneDay
  • TrialNeverExpires
  • SevenDays
  • FifteenDays
  • ThirtyDays
marketSpecificPricings object Diccionario de pares de clave y valor, donde cada clave es un código de país de dos letras ISO 3166-1 alpha-2 y cada valor es una franja de precios. Estos elementos representan los precios personalizados de la aplicación en mercados específicos. Los elementos de este diccionario reemplazan el precio base especificado por el valor de priceId para el mercado especificado.
sales (ventas) array En desuso. Una matriz de recursos de venta que contienen información de ventas de la aplicación.
priceId string Franja de precios que especifica el precio base de la aplicación.
isAdvancedPricingModel boolean Si es true, la cuenta de desarrollador tiene acceso al conjunto expandido de planes de precio de .99 USD a 1999,99 USD. Si es false, la cuenta de desarrollador tiene acceso al conjunto original de planes de precio de .99 USD a 999,99 USD. Para obtener más información sobre los distintos niveles, consulte planes de tarifa.

Nota Este campo es de solo lectura.

Recurso de venta

Este recurso contiene información de venta de una aplicación.

Importante

El recurso Sale ya no se admite y actualmente no se pueden obtener ni modificar los datos de venta de un envío de aplicación mediante la API de envío de Microsoft Store. En el futuro, actualizaremos la API de envío de Microsoft Store para introducir una nueva manera de acceder mediante programación a la información de ventas para los envíos de aplicaciones.

Este recurso tiene los siguientes valores.

Value Tipo Descripción
name string Nombre de la venta.
basePriceId string Franja de precios que se usará para el precio base de la venta.
startDate string Fecha de inicio de la venta en formato ISO 8601.
endDate string Fecha de finalización de la venta en formato ISO 8601.
marketSpecificPricings object Diccionario de pares de clave y valor, donde cada clave es un código de país de dos letras ISO 3166-1 alpha-2 y cada valor es una franja de precios. Estos elementos representan los precios personalizados de la aplicación en mercados específicos. Los elementos de este diccionario reemplazan el precio base especificado por el valor basePriceId para el mercado especificado.

Recurso de lista

Este recurso contiene la información de descripción de una aplicación. Este recurso tiene los siguientes valores.

Value Tipo Descripción
baseListing object Información de descripción de base de la aplicación, que define la información de descripción predeterminada para todas las plataformas.
platformOverrides object Un diccionario de pares clave-valor, donde cada clave es una cadena que identifica una plataforma para la cual se va a reemplazar la información de descripción y cada valor es un recurso de descripción de base (que contiene solo los valores de la descripción del título) que especifica la información de descripción que se va reemplazar de la plataforma especificada. Las claves pueden tener los siguientes valores:
  • Unknown
  • Windows80
  • Windows81
  • WindowsPhone71
  • WindowsPhone80
  • WindowsPhone81

Recursos de descripción base

Este recurso contiene la información de descripción de base de una aplicación. Este recurso tiene los siguientes valores.

Value Tipo Descripción
copyrightAndTrademarkInfo string Información de copyright o marcas comerciales opcional.
keywords array Matriz de palabras clave para ayudar a tu aplicación a aparecer en los resultados de búsqueda.
licenseTerms string Términos de licencia opcionales para tu aplicación.
privacyPolicy string Este valor está obsoleto. Para establecer o cambiar la dirección URL de la directiva de privacidad de la aplicación, debe hacerlo en la página Propiedades del Centro de partners. Puede omitir este valor de las llamadas a la API de envío. Si establece este valor, se omitirá.
supportContact string Este valor está obsoleto. Para establecer o cambiar la dirección URL de contacto de soporte técnico o la dirección de correo electrónico de la aplicación, debes hacerlo en la página Propiedades del Centro de partners. Puede omitir este valor de las llamadas a la API de envío. Si establece este valor, se omitirá.
websiteUrl string Este valor está obsoleto. Para establecer o cambiar la dirección URL de la página web de la aplicación, debe hacerlo en la página Propiedades del Centro de partners. Puede omitir este valor de las llamadas a la API de envío. Si establece este valor, se omitirá.
description string Descripción de la aplicación.
features array Matriz de hasta 20 cadenas que enumera las características de tu aplicación.
releaseNotes string Notas de la versión de tu aplicación.
images array Matriz de datos de recursos de imagen e icono para la descripción de la aplicación.
recommendedHardware array Matriz de hasta 11 cadenas que enumera las configuraciones de hardware recomendadas para tu aplicación.
minimumHardware string Matriz de hasta 11 cadenas que enumeran las configuraciones de hardware mínimas de la aplicación.
title string Título de la descripción de la aplicación.
shortDescription string Solo se usa para juegos. Esta descripción aparece en la sección Información de Game Hub en Xbox One y ayuda a los clientes a comprender más sobre el juego.
shortTitle string Una versión más corta del nombre del producto. Si se proporciona, este nombre más corto puede aparecer en varios lugares de Xbox One (durante la instalación, en Logros, etc.) en lugar del título completo del producto.
sortTitle string Si el producto podría estar alfabético de diferentes maneras, puede escribir otra versión aquí. Esto puede ayudar a los clientes a encontrar el producto más rápidamente al buscar.
voiceTitle string Un nombre alternativo para el producto que, si se proporciona, se puede usar en la experiencia de audio en Xbox One cuando se usa Kinect o un casco.
devStudio string Especifique este valor si desea incluir un campo Desarrollado por en la lista. (El campo Publicado por mostrará el nombre para mostrar del publicador asociado a su cuenta, independientemente de si proporciona o no un valor de devStudio ).

Recurso de imagen

Este recurso contiene datos de imagen e icono para una descripción de la aplicación. Para obtener más información sobre las imágenes e iconos de una lista de aplicaciones, consulta Capturas de pantalla e imágenes de la aplicación. Este recurso tiene los siguientes valores.

Value Tipo Descripción
fileName string Nombre del archivo de imagen en el archivo ZIP que cargaste para el envío.
fileStatus string Estado del archivo de imagen. Puede ser uno de los siguientes valores:
  • Ninguno
  • PendingUpload
  • Cargado
  • PendingDelete
id string Identificador de la imagen. Este valor lo proporciona el Centro de partners.
description string Descripción de la imagen.
imageType string Indica el tipo de la imagen. Actualmente se admiten las siguientes cadenas.

Imágenes de captura de pantalla:

  • Captura de pantalla (use este valor para la captura de pantalla de escritorio)
  • MobileScreenshot
  • XboxScreenshot
  • SurfaceHubScreenshot
  • HoloLensScreenshot

Logotipos de la tienda:

  • StoreLogo9x16
  • StoreLogoSquare
  • Icono (use este valor para el logotipo de 1:1 300 x 300 píxeles)

Imágenes promocionales:

  • PromotionalArt16x9
  • PromotionalArtwork2400X1200

Imágenes de Xbox:

  • XboxBrandedKeyArt
  • XboxTitledHeroArt
  • XboxFeaturedPromotionalArt

Imágenes promocionales opcionales:

  • SquareIcon358X358
  • BackgroundImage1000X800
  • PromotionalArtwork414X180

Recurso de opciones de juegos

Este recurso contiene la configuración relacionada con el juego para la aplicación. Los valores de este recurso corresponden a la configuración del juego para envíos en el Centro de partners.

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

Este recurso tiene los siguientes valores.

Value Tipo Descripción
Géneros array Matriz de una o varias de las siguientes cadenas que describen los géneros del juego:
  • 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 Indica si el juego admite multijugador local.
isLocalCooperative boolean Indica si el juego admite la cooperación local.
isOnlineMultiplayer boolean Indica si el juego admite multijugador en línea.
isOnlineCooperative boolean Indica si el juego admite la cooperación en línea.
localMultiplayerMinPlayers int Especifica el número mínimo de jugadores que admite el juego para multijugador local.
localMultiplayerMaxPlayers int Especifica el número máximo de jugadores que admite el juego para multijugador local.
localCooperativeMinPlayers int Especifica el número mínimo de jugadores que admite el juego para la cooperación local.
localCooperativeMaxPlayers int Especifica el número máximo de jugadores que admite el juego para la cooperación local.
isBroadcastingPrivilegeGranted boolean Indica si el juego admite la difusión.
isCrossPlayEnabled boolean Indica si el juego admite sesiones multijugador entre jugadores en Windows 10 y equipos Windows 11 y Xbox.
kinectDataForExternal string Uno de los siguientes valores de cadena que indica si el juego puede recopilar datos de Kinect y enviarlos a servicios externos:
  • NotSet
  • Unknown
  • habilitado
  • Disabled

Nota

El recurso gamingOptions se agregó en mayo de 2017, después de que la API de envío de Microsoft Store se lanzara por primera vez a los desarrolladores. Si ha creado un envío para una aplicación a través de la API de envío antes de que se haya introducido este recurso y este envío todavía esté en curso, este recurso será nulo para los envíos de la aplicación hasta que confirme correctamente el envío o lo elimine. Si el recurso gamingOptions no está disponible para envíos para una aplicación, el campo hasAdvancedListingPermission del recurso Application devuelto por el método get an app es false.

Recurso de detalles de estado

Este recurso contiene detalles adicionales sobre el estado de un envío. Este recurso tiene los siguientes valores.

Value Tipo Descripción
errors object Una matriz de recursos de detalles de estado que contienen los detalles de errores del envío.
warnings object Una matriz de recursos de detalles de estado que contienen los detalles de advertencias del envío.
certificationReports object Una matriz de recursos de informe de certificación que proporcionan acceso a los datos del informe de certificación del envío. Si se produce un error en la certificación, puedes examinar estos informes para obtener más información.

Recurso de detalle de estado

Este recurso contiene información adicional acerca de las advertencias o los errores relacionados de un envío. Este recurso tiene los siguientes valores.

Value Tipo Descripción
código string Un código de estado de envío que describe el tipo de error o advertencia.
detalles string Mensaje con más detalles sobre el problema.

Recurso de paquete de aplicación

Este recurso contiene detalles sobre un paquete de aplicación para el envío.

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

Este recurso tiene los siguientes valores.

Nota

Al llamar al método de envío de la actualización de una aplicación , solo se requieren los valores fileName, fileStatus, minimumDirectXVersion y minimumSystemRam de este objeto en el cuerpo de la solicitud. Los demás valores se rellenan mediante el Centro de partners.

Value Tipo Descripción
fileName string Nombre del paquete.
fileStatus string Estado del paquete. Puede ser uno de los siguientes valores:
  • Ninguno
  • PendingUpload
  • Cargado
  • PendingDelete
id string Id. que identifica de manera exclusiva el paquete. Este valor lo proporciona el Centro de partners.
version string Versión del paquete de aplicación. Para obtener más información, consulta Numeración de la versión del paquete.
arquitectura string Arquitectura del paquete (por ejemplo, ARM).
languages array Matriz de códigos de idioma para los idiomas que admite la aplicación. Para más información, consulte Lenguajes admitidos.
capabilities array Matriz de funcionalidades necesarias para el paquete. Para obtener más información acerca de las funcionalidades, consulta Declaraciones de funcionalidades de las aplicaciones.
minimumDirectXVersion string Versión mínima de DirectX que admite el paquete de aplicación. Solo se puede establecer para las aplicaciones destinadas a Windows 8.x. En el caso de las aplicaciones destinadas a otras versiones del sistema operativo, este valor debe estar presente al llamar al método de envío de la actualización de una aplicación , pero se omite el valor especificado. Puede ser uno de los siguientes valores:
  • Ninguno
  • DirectX93
  • DirectX100
minimumSystemRam string RAM mínima que requiere el paquete de aplicación. Solo se puede establecer para las aplicaciones destinadas a Windows 8.x. En el caso de las aplicaciones destinadas a otras versiones del sistema operativo, este valor debe estar presente al llamar al método de envío de la actualización de una aplicación , pero se omite el valor especificado. Puede ser uno de los siguientes valores:
  • Ninguno
  • Memory2GB
targetDeviceFamilies array Matriz de cadenas que representan las familias de dispositivos a las que está destinado el paquete. Este valor se usa solo para los paquetes destinados a Windows 10. para los paquetes destinados a versiones anteriores, este valor es None. Actualmente, se admiten las siguientes cadenas de familia de dispositivos para paquetes de Windows 10 y Windows 11, donde {0} es una cadena de versión Windows 10 o Windows 11, como 10.0.10240.0, 10.0.10586.0 o 10.0.14393.0:
  • Versión mínima de Windows.Universal {0}
  • Versión mínima de Windows.Desktop {0}
  • Versión mínima de Windows.Mobile {0}
  • Versión mínima de Windows.Xbox {0}
  • Versión mínima de Windows.Holographic {0}

id="certification-report-resource"

Recurso de informe de certificación

Este recurso proporciona acceso a los datos del informe de certificación de un envío. Este recurso tiene los siguientes valores.

Value Tipo Descripción
date string Fecha y hora en que se generó el informe, en formato ISO 8601.
reportUrl string Dirección URL en la que puedes obtener acceso al informe.

Recurso de opciones de entrega de paquete

Este recurso contiene ajustes de lanzamiento de paquete gradual y de actualización obligatoria para el envío.

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

Este recurso tiene los siguientes valores.

Value Tipo Descripción
packageRollout object Un recurso de lanzamiento de paquete que contiene la configuración del lanzamiento de paquete gradual para el envío.
isMandatoryUpdate boolean Indica si vas a tratar los paquetes de este envío como obligatorios para la instalación automática de actualizaciones de la aplicación. Para obtener más información sobre los paquetes obligatorios para la instalación automática de actualizaciones de la aplicación, consulta Descargar e instalar actualizaciones de paquete para tu aplicación.
mandatoryUpdateEffectiveDate date La fecha y la hora en que los paquetes de este envío se convierten en obligatorios, en formato ISO 8601 y zona horaria UTC.

Recurso de lanzamiento de paquete

Este recurso contiene la configuración de lanzamiento de paquete gradual para el envío. Este recurso tiene los siguientes valores.

Value Tipo Descripción
isPackageRollout boolean Indica si el lanzamiento de paquete gradual está habilitado para el envío.
packageRolloutPercentage FLOAT El porcentaje de usuarios que recibirá los paquetes en el lanzamiento gradual.
packageRolloutStatus string Una de las siguientes cadenas, que indica el estado del lanzamiento de paquete gradual:
  • PackageRolloutNotStarted
  • PackageRolloutInProgress
  • PackageRolloutComplete
  • PackageRolloutStopped
fallbackSubmissionId string El identificador del envío que recibirán los clientes que no obtengan los paquetes de lanzamiento gradual.

Nota

El desarrollador asigna los valores packageRolloutStatus y fallbackSubmissionId y no está pensado para que lo establezca el desarrollador. Si incluye estos valores en un cuerpo de la solicitud, estos valores se omitirán.

Recurso Trailers

Este recurso representa un finalizador de vídeo para la descripción de la aplicación. Los valores de este recurso corresponden a las opciones de finalizadores para envíos en el Centro de partners.

Puede agregar hasta 15 recursos de finalizador a la matriz de finalizadores en un recurso de envío de aplicación. Para cargar archivos de vídeo finalizador e imágenes en miniatura para un envío, agregue estos archivos al mismo archivo ZIP que contiene los paquetes y las imágenes de lista para el envío y, a continuación, cargue este archivo ZIP en el URI de firma de acceso compartido (SAS) para el envío. Para obtener más información sobre cómo cargar el archivo ZIP en el URI de SAS, consulte Creación de un envío de aplicación.

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

Este recurso tiene los siguientes valores.

Value Tipo Descripción
id string Identificador del finalizador. Este valor lo proporciona el Centro de partners.
videoFileName string Nombre del archivo de vídeo finalizador en el archivo ZIP que contiene archivos para el envío.
videoFileId string Identificador del archivo de vídeo finalizador. Este valor lo proporciona el Centro de partners.
trailerAssets object Diccionario de pares clave y valor, donde cada clave es un código de idioma y cada valor es un recurso de recursos de finalizador que contiene recursos adicionales específicos de la configuración regional para el finalizador. Para obtener más información sobre los códigos de idioma admitidos, vea Idiomas admitidos.

Nota

El recurso trailers se agregó en mayo de 2017, después de que la API de envío de Microsoft Store se lanzara por primera vez a los desarrolladores. Si ha creado un envío para una aplicación a través de la API de envío antes de que se haya introducido este recurso y este envío todavía esté en curso, este recurso será nulo para los envíos de la aplicación hasta que confirme correctamente el envío o lo elimine. Si el recurso trailers no está disponible para envíos para una aplicación, el campo hasAdvancedListingPermission del recurso Application devuelto por el método get an app es false.

Recurso de recursos del finalizador

Este recurso contiene recursos adicionales específicos de la configuración regional para un finalizador que se define en un recurso de finalizador. Este recurso tiene los siguientes valores.

Value Tipo Descripción
title string Título localizado del finalizador. El título se muestra cuando el usuario reproduce el finalizador en modo de pantalla completa.
imageList array Matriz que contiene un recurso de imagen que proporciona la imagen en miniatura para el finalizador. Solo puede incluir un recurso de imagen en esta matriz.

Recurso de imagen (para un finalizador)

Este recurso describe la imagen en miniatura de un finalizador. Este recurso tiene los siguientes valores.

Value Tipo Descripción
fileName string Nombre del archivo de imagen en miniatura en el archivo ZIP que cargó para el envío.
id string Identificador de la imagen en miniatura. Este valor lo proporciona el Centro de partners.
description string Descripción de la imagen en miniatura. Este valor es solo metadatos y no se muestra a los usuarios.

Enumeraciones

Estos métodos usan las enumeraciones siguientes.

Franjas de precio

Los siguientes valores representan los planes de tarifa disponibles en el recurso de recurso de precios para un envío de aplicación.

Value Descripción
Base No se establece la franja de precios; usa el precio base para la aplicación.
NotAvailable La aplicación no está disponible en la región especificada.
Gratuito La aplicación es gratuita.
Nivelxxx Cadena que especifica el plan de tarifa de la aplicación, con el formato tier xxxx. Actualmente, se admiten los siguientes intervalos de planes de tarifa:

  • Si el valor isAdvancedPricingModel del recurso de precios es true, los valores del plan de tarifa disponibles para la cuenta son Tier1012 - Tier1424.
  • Si el valor isAdvancedPricingModel del recurso de precios es false, los valores del plan de tarifa disponibles para la cuenta son Tier2 - Tier96.
Para ver la tabla completa de planes de tarifa que están disponibles para su cuenta de desarrollador, incluidos los precios específicos del mercado asociados a cada nivel, vaya a la página Precios y disponibilidad de cualquiera de los envíos de aplicaciones en el Centro de partners y haga clic en el vínculo ver tabla de la sección Mercados y precios personalizados (para algunas cuentas de desarrollador, este vínculo se encuentra en la sección Precios ).

Valores de licencia de empresa

Los valores siguientes representan el comportamiento de licencia de la organización para la aplicación. Para obtener más información acerca de estas opciones, consulta Opciones de licencia organizativas.

Nota

Aunque puede configurar las opciones de licencia de la organización para un envío de aplicación a través de la API de envío, no puede usar esta API para publicar envíos para las compras por volumen a través del Microsoft Store para Empresas y la Microsoft Store para Educación. Para publicar envíos en el Microsoft Store para Empresas y Microsoft Store para Educación, debes usar el Centro de partners.

Value Descripción
Ninguno Tu aplicación no se pone a disposición de las empresas con licencias por volumen administradas por la Tienda (en línea).
En línea Tu aplicación se pone a disposición de las empresas con licencias por volumen administradas por la Tienda (en línea).
OnlineAndOffline Tu aplicación se pone a disposición de las empresas con licencias por volumen administradas por la Tienda (en línea) y también a través de licencias desconectadas (sin conexión).

Código de estado del envío

Los valores siguientes representan el código de estado de un envío.

Value Descripción
Ninguno No se especificó ningún código.
InvalidArchive El archivo ZIP que contiene el paquete no es válido o tiene un formato de archivo no reconocido.
MissingFiles El archivo ZIP no tiene todos los archivos que se enumeran en los datos del envío o estos se encuentran en una ubicación incorrecta en el archivo.
PackageValidationFailed Uno o varios paquetes de tu envío no se pudieron validar.
InvalidParameterValue Uno de los parámetros del cuerpo de la solicitud no es válido.
InvalidOperation La operación que intentaste realizar no es válida.
InvalidState La operación que intentaste realizar no es válida para el estado actual del paquete piloto.
ResourceNotFound No se pudo encontrar el paquete piloto especificado.
ServiceError Un error de servicio interno impidió que la solicitud se realizase correctamente. Vuelve a intentar realizar la solicitud.
ListingOptOutWarning El desarrollador quitó una descripción de un envío anterior o no incluyó la información de descripción que admitía el paquete.
ListingOptInWarning El desarrollador agregó una lista.
UpdateOnlyWarning El desarrollador está intentando insertar algo que solo presenta soporte técnico de actualizaciones.
Otros El envío presenta un estado no reconocido o sin clasificar.
PackageValidationWarning El proceso de validación del paquete genera una advertencia.