Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La API de envío de Microsoft Store proporciona métodos que puedes usar para administrar envíos de complementos (también conocidos como productos desde la aplicación o IAP) para tus aplicaciones. 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 un complemento, asegúrate de realizar cualquier cambio adicional en el envío únicamente mediante la API, en lugar de realizar cambios en el Centro de Partners. Si usa el Centro de partners para cambiar un envío que creó originalmente mediante la API, ya no podrá cambiar ni 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.
Métodos para administrar envíos de complementos
Utilice los métodos siguientes para obtener, crear, actualizar, confirmar o eliminar una solicitud de complemento. Para poder usar estos métodos, el complemento ya debe existir en la cuenta del Centro de partners. Para crear un complemento en el Centro de partners, definir su tipo de producto e identificador de producto o mediante los métodos de la API de envío de Microsoft Store descritos en Administrar complementos.
Método | URI | Descripción |
---|---|---|
OBTENER | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId} | Obtener una presentación de complemento existente |
OBTENER | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/status | Obtener el estado de una presentación de complemento existente |
PUBLICACIÓN | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions | Crear una nueva presentación de complemento |
PON | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId} | Actualizar una presentación de complemento existente |
PUBLICACIÓN | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/commit | Confirmar un envío de complemento nuevo o actualizado |
ELIMINAR | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId} | Eliminar una presentación de complemento |
Crear una presentación de complemento
Para crear una presentación para un complemento, siga este proceso.
Si aún no lo ha hecho, complete los requisitos previos descritos en Crear y administrar envíos mediante los servicios de Microsoft Store, incluida la asociación de una aplicación de Azure AD con su cuenta del Centro de partners y la obtención del identificador y la clave de cliente. Sólo tienes que hacer esto una vez; después de tener el identificador y la clave de cliente, puede reutilizarlos en cualquier momento que necesite crear un nuevo token de acceso de Azure AD.
Obtener un token de acceso de Azure AD. Debes pasar este token de acceso a los métodos de la API de envío de aplicaciones de Microsoft Store. Después de obtener un token de acceso, tiene 60 minutos para usarlo antes de que expire. Una vez que expire el token, puede obtener uno nuevo.
Ejecute 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 del último envío publicado. Para obtener más información, consulte Crear una presentación de complemento.
POST https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions
El cuerpo de la respuesta contiene un envío de complemento recurso que incluye el identificador del nuevo envío, el URI de firma de acceso compartido (SAS) para cargar los iconos de complemento para el envío a Azure Blob Storage 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 de SAS y firmas de acceso compartido, parte 2: Creación y uso de una SAS con Blob Storage.
Si va a agregar nuevos iconos para la presentación, prepare los iconos y agréguelos a un archivo ZIP.
Actualice el envío del complemento datos con los cambios necesarios para el nuevo envío y ejecute el siguiente método para actualizar el envío. Para obtener más información, vea Actualizar un envío de complemento.
PUT https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}
Nota:
Si va a agregar nuevos iconos 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.
Si va a agregar nuevos iconos para la entrega, 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 invocó anteriormente. Hay diferentes bibliotecas de Azure que puede usar para hacerlo en una variedad de plataformas, entre las que se incluyen:
- Biblioteca Cliente de Azure Storage para .NET
- SDK de Azure Storage para Java
- SDK de Azure Storage para Python
En el ejemplo de código de C# siguiente 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);
Confirme el envío ejecutando el método siguiente. Esto avisará al Centro de asociados que ha completado su envío y que las actualizaciones deben aplicarse ahora a su cuenta. Para obtener más información, ver Realizar una entrega de complemento.
POST https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/commit
Compruebe el estado de confirmación ejecutando el método siguiente. Para obtener más información, vea Obtener el estado de un envío de complemento.
GET https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/status
Para confirmar el estado del envío, revise el valor del estado en el cuerpo de la respuesta. Este valor debe cambiar de CommitStarted a PreProcessing si la solicitud tiene éxito o a CommitFailed si hay errores en la solicitud. Si hay errores, el campo statusDetails contiene más detalles sobre el error.
Una vez completado correctamente el commit, el envío se envía a la tienda para el procesamiento. Puedes seguir supervisando el progreso del envío mediante el método anterior o visitando el Centro de partners.
Ejemplos de código
En los artículos siguientes se proporcionan ejemplos de código detallados que muestran cómo crear un envío de complemento en varios lenguajes de programación diferentes:
Módulo de PowerShell 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 forma principal de enviar muchas aplicaciones de primera entidad a la Tienda.
Para obtener más información, consulte nuestra página de StoreBroker en GitHub.
Recursos de datos
Los métodos de la API de envío de Microsoft Store para administrar envíos de complementos usan los siguientes recursos de datos JSON.
Recurso de envío de complemento
Este recurso describe un envío de complemento.
{
"id": "1152921504621243680",
"contentType": "EMagazine",
"keywords": [
"books"
],
"lifetime": "FiveDays",
"listings": {
"en": {
"description": "English add-on description",
"icon": {
"fileName": "add-on-en-us-listing2.png",
"fileStatus": "Uploaded"
},
"title": "Add-on Title (English)"
},
"ru": {
"description": "Russian add-on description",
"icon": {
"fileName": "add-on-ru-listing.png",
"fileStatus": "Uploaded"
},
"title": "Add-on Title (Russian)"
}
},
"pricing": {
"marketSpecificPricings": {
"RU": "Tier3",
"US": "Tier4",
},
"sales": [],
"priceId": "Free",
"isAdvancedPricingModel": true
},
"targetPublishDate": "2016-03-15T05:10:58.047Z",
"targetPublishMode": "Immediate",
"tag": "SampleTag",
"visibility": "Public",
"status": "PendingCommit",
"statusDetails": {
"errors": [
{
"code": "None",
"details": "string"
}
],
"warnings": [
{
"code": "ListingOptOutWarning",
"details": "You have removed listing language(s): []"
}
],
"certificationReports": [
{
}
]
},
"fileUploadUrl": "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",
"friendlyName": "Submission 2"
}
Este recurso tiene los siguientes valores.
Importancia | Tipo | Descripción |
---|---|---|
identificación | cuerda / cadena | El identificador del envío. Este identificador está disponible en los datos de respuesta de las solicitudes para crear una presentación de complemento, obtener todos los complementosy obtener un complemento. Para una presentación que se creó en el Centro de socios, este identificador también está disponible en la URL de la página de la presentación en el Centro de socios. |
tipo de contenido | cuerda / cadena | El tipo de contenido que se proporciona en el complemento. Este puede ser uno de los siguientes valores:
|
palabras clave | arreglo | Un conjunto de cadenas que puede contener hasta 10 palabras clave para el complemento. La aplicación puede consultar complementos con estas palabras clave. |
duración de vida / vida útil | cuerda / cadena | Duración del complemento. Este puede ser uno de los siguientes valores:
|
Listados | objeto | Diccionario de pares clave y valor, donde cada clave es un código de país ISO 3166-1 alfa-2 de dos letras y cada valor es un recurso de enumeración que contiene información de descripción del complemento. |
Precios | objeto | Un recurso de tarifación que contiene información de precios para el suplemento. |
modoDePublicaciónObjetivo | cuerda / cadena | Modo de publicación de la presentación. Este puede ser uno de los siguientes valores:
|
fechaObjetivoDePublicación | cuerda / cadena | La fecha de publicación del envío en formato ISO 8601, si el modo de publicación objetivo (targetPublishMode) está establecido en una fecha específica (SpecificDate). |
etiqueta | cuerda / cadena | El datos personalizados del desarrollador para el complemento (esta información antes se llamaba etiqueta). |
visibilidad | cuerda / cadena | Visibilidad del complemento. Este puede ser uno de los siguientes valores:
|
estado | cuerda / cadena | Estado del envío. Este puede ser uno de los siguientes valores:
|
detalles del estado | objeto | Un estado detalla el recurso que contiene detalles adicionales sobre el estado del envío, incluida la información sobre los errores. |
fileUploadUrl | cuerda / cadena | URI de firma de acceso compartido (SAS) para subir paquetes para la presentación. Si va a agregar nuevos paquetes para el envío, cargue el archivo ZIP que contiene los paquetes a este URI. Para obtener más información, consulte Crear una presentación de complemento. |
nombre amistoso | cuerda / cadena | Nombre amigable del envío, como se muestra en el Centro de partners. Este valor se genera automáticamente al crear el envío. |
Enumerar recurso
Este recurso contiene información de descripción de un complemento. Este recurso tiene los siguientes valores.
Recurso de icono
Este recurso contiene datos de icono para una lista de complementos. Este recurso tiene los siguientes valores.
Importancia | Tipo | Descripción |
---|---|---|
Nombre del archivo | cuerda / cadena | El nombre del archivo de icono en el archivo ZIP que cargó para la presentación. El icono debe ser un archivo .png que mide exactamente 300 x 300 píxeles. |
estado del archivo | cuerda / cadena | Estado del archivo de icono. Este puede ser uno de los siguientes valores:
|
Recurso de precios
Este recurso contiene información de precios para el complemento. Este recurso tiene los siguientes valores.
Importancia | Tipo | Descripción |
---|---|---|
precios específicos del mercado | objeto | Diccionario de pares clave y valor, donde cada clave es un código de país ISO 3166-1 alfa-2 de dos letras y cada valor es un nivel de precio. Estos elementos representan los precios personalizados de para el complemento en mercados específicos. Cualquier elemento de este diccionario anula el precio base especificado por el valor de priceId para el mercado especificado. |
ventas | arreglo | En desuso. Matriz de recursos de venta que contienen información de ventas para el complemento. |
priceId | cuerda / cadena | Un nivel de precio que especifica el precio base para el complemento. |
ModeloDePreciosAvanzado | booleano | Si true, su cuenta de desarrollador tiene acceso al conjunto expandido de niveles de precios desde 0,99 USD hasta 1999,99 USD. Si false, su cuenta de desarrollador tiene acceso al conjunto original de niveles de precio desde 0,99 USD hasta 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 comercial
Estos recursos contienen información de venta para un complemento.
Importante
El recurso Sale ya no se admite y actualmente no se pueden obtener ni modificar los datos de venta para una publicación de complemento mediante la API de publicación de Microsoft Store. En el futuro, actualizaremos la API de envío de Microsoft Store para ofrecer una nueva forma de acceso programático a la información de ventas para las presentaciones de complementos.
- Después de llamar al método GET de
para obtener un envío de complemento , el valor de ventas deestará vacío. Puedes seguir usando el Centro de Partners para obtener los datos de venta de la solicitud de complemento adicional. - Al llamar al método PUT de para actualizar una presentación de complemento, se omite la información del valor de ventas . Puedes seguir usando el Centro de Partners para modificar los datos de venta de la presentación del complemento.
Este recurso tiene los siguientes valores.
Importancia | Tipo | Descripción |
---|---|---|
nombre | cuerda / cadena | Nombre de la venta. |
basePriceId | cuerda / cadena | El nivel de precios a usar para el precio base de la venta. |
Fecha de inicio | cuerda / cadena | Fecha de inicio de la venta en formato ISO 8601. |
fecha de finalización | cuerda / cadena | Fecha de finalización de la venta en formato ISO 8601. |
precios específicos del mercado | objeto | Diccionario de pares clave y valor, donde cada clave es un código de país ISO 3166-1 alfa-2 de dos letras y cada valor es un nivel de precio. Estos elementos representan los precios personalizados de para el complemento en mercados específicos. Cualquier elemento de este diccionario reemplaza el precio base especificado por el identificador basePriceId para el mercado especificado. |
Recurso de detalles de estado
Este recurso contiene detalles adicionales sobre el estado de un envío. Este recurso tiene los siguientes valores.
Importancia | Tipo | Descripción |
---|---|---|
Errores | objeto | Conjunto de recursos de detalles de estado que contienen detalles de error de la presentación. |
Advertencias | objeto | Conjunto de recursos de detalles de estado que contienen detalles de advertencia para la presentación. |
informes de certificación | objeto | Conjunto de recursos relacionados con el informe de certificación que proporcionan acceso a los datos del informe de certificación para la presentación. Puede examinar estos informes para obtener más información si se produce un error en la certificación. |
Recurso detallado de estado
Este recurso proporciona información adicional sobre cualquier error o advertencia relacionada con una presentación. Este recurso tiene los siguientes valores.
Importancia | Tipo | Descripción |
---|---|---|
código | cuerda / cadena | Código de estado de envío que describe el tipo de error o advertencia. |
Detalles | cuerda / cadena | Mensaje con más detalles sobre el problema. |
Informe de certificación de recursos
Este recurso proporciona acceso a los datos del informe de certificación para un envío. Este recurso tiene los siguientes valores.
Importancia | Tipo | Descripción |
---|---|---|
fecha | cuerda / cadena | Fecha y hora en que se generó el informe, en formato ISO 8601. |
URL de informe | cuerda / cadena | Dirección URL en la que puede acceder al informe. |
Enumeraciones
Estos métodos usan las siguientes enumeraciones.
Planes de tarifa
Los siguientes valores representan los niveles de precio disponibles en el recurso de precios para el envío de un complemento en el recurso .
Importancia | Descripción |
---|---|
Base | El nivel de precio no está fijado; use el precio base del complemento. |
No disponible | El complemento no está disponible en la región especificada. |
Gratuito | El complemento es gratuito. |
Nivelxxxx | Cadena que especifica el nivel de precio para el complemento, en el formato Nivelxxxx. Actualmente, se admiten los siguientes intervalos de planes de tarifa: Para ver la tabla completa de niveles de precios disponibles para su cuenta de desarrollador, incluidos los precios específicos del mercado asociados a cada nivel, vaya a la página Precio y disponibilidad para cualquiera de las presentaciones de aplicaciones en el Centro de Partners y haga clic en el vínculo ver tabla en la sección Mercados y precios personalizados (para algunas cuentas de desarrollador, este vínculo se encuentra en la sección Precios). |
Código de estado de envío
Los valores siguientes representan el código de estado de un envío.
Importancia | Descripción |
---|---|
Ninguno | No se especificó ningún código. |
ArchivoInválido | 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 mostraron en los datos de envío o se encuentran en la ubicación incorrecta del archivo. |
ErrorDeValidacionDelPaquete | No se pudo validar uno o varios paquetes del envío. |
Valor de Parámetro No Válido | Uno de los parámetros del cuerpo de la solicitud no es válido. |
Operación no válida | La operación que intentó no es válida. |
Estado inválido | La operación que intentó no es válida para el estado actual del paquete de vuelo. |
RecursoNoEncontrado | No se encontró el paquete de vuelo especificado. |
Error de servicio | Un error interno del servicio impedía que la solicitud se realizara correctamente. Vuelva a intentar la solicitud. |
Advertencia de exclusión de listado | El desarrollador quitó un listado de un envío anterior o no incluyó información de listado admitida por el paquete. |
Advertencia para unirse a la lista | El desarrollador agregó una lista. |
UpdateOnlyWarning | El desarrollador está intentando insertar algo que solo tenga compatibilidad con actualizaciones. |
Otros | El envío está en un estado no reconocido o no clasificado. |
AdvertenciaDeValidaciónDePaquete | El proceso de validación del paquete produjo una advertencia. |