Compartir a través de


Referencia de api rest para actualizar complementos de Microsoft Edge

Este artículo es la referencia del punto de conexión REST para la API de complementos de Microsoft Edge. Esta API automatiza la publicación de actualizaciones en complementos que se han enviado al almacén de complementos de Microsoft Edge.

Para obtener información general, consulte Uso de la API REST para actualizar complementos de Microsoft Edge.

Versiones de la API REST de actualización

A partir del 6 de septiembre de 2024, se admiten las versiones 1.1 y v1 de esta API REST de actualización. La compatibilidad con v1 finalizará el 31 de diciembre de 2024.

Carga de un paquete para actualizar un envío existente

Carga un paquete para actualizar un borrador de envío existente de un producto de complemento.

Consulte también Carga de un paquete para actualizar un envío existente en Uso de la API REST para actualizar complementos de Microsoft Edge.

Solicitud

Método URI de solicitud
POST /products/$productID/submissions/draft/package
Parámetros de URI
Parámetro URI Descripción
$productID Obligatorio. Identificador de producto del producto en el que se debe cargar el paquete.
Encabezados de solicitud

Se requieren los siguientes encabezados de solicitud:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
  • Content-Type: application/zip
Cuerpo de la solicitud
  • <Zip package>

Respuesta

Encabezados de respuesta
  • Ubicación: {operationID}

La respuesta incluye un identificador de operación para enviar a otros puntos de conexión.

Códigos de estado

Esta API tiene los siguientes códigos de estado esperados.

Código de estado HTTP Descripción
202 La solicitud se acepta para su procesamiento, pero el procesamiento no se ha completado.
4XX Consulte Códigos de error a continuación.
5XX Consulte Códigos de error a continuación.

Vea también:

Comprobación del estado de una carga de paquetes

Obtiene el estado de la carga del paquete.

Consulte también Comprobación del estado de una carga de paquetes en Uso de la API REST para actualizar los complementos de Microsoft Edge.

Solicitud

Método URI de solicitud
GET /products/$productID/submissions/draft/package/operations/$operationID
Parámetros de URI
Parámetro URI Descripción
$operationID Obligatorio. Identificador de operación de la solicitud de carga enviada en el paso anterior. Esta información está disponible en el encabezado de respuesta.
Encabezados de solicitud

Se requieren los siguientes encabezados de solicitud:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
Cuerpo de la solicitud

Ninguna.

Respuesta

Hay varias respuestas para diferentes escenarios.

Respuesta cuando la operación todavía está en curso
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "InProgress",
    "message": null,
    "errorCode": null,
    "errors": null
}
Respuesta cuando la operación se realiza correctamente
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "Succeeded",
    "message": "Successfully updated package to {fileName}.zip",
    "errorCode": "",
    "errors": null
}
Respuesta cuando se produce un error en la operación
 {
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "Failed",
    "message": "Error Message.",
    "errorCode": "Error Code",
    "errors": ["list of errors"]
}
Encabezados de respuesta

Ninguno.

Códigos de estado

Esta API tiene los siguientes códigos de estado esperados.

Código de estado HTTP Descripción
200 La solicitud es Correcta.
4XX Consulte Códigos de error a continuación.
5XX Consulte Códigos de error a continuación.

Vea también:

Publicación del envío del borrador de producto

Publica el borrador actual del producto en los complementos de Microsoft Edge.

Consulte también Publicación del envío en Uso de la API REST para actualizar los complementos de Microsoft Edge.

Solicitud

Método URI de solicitud
POST /products/$productID/submissions
Parámetros de URI
Parámetro URI Descripción
$productID Obligatorio. Id. de producto del producto cuyo borrador debe publicarse.
Encabezados de solicitud

Se requieren los siguientes encabezados de solicitud:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
Cuerpo de la solicitud

<Notes for certification>, en formato de texto sin formato.

Respuesta

Encabezados de respuesta
  • Ubicación: {operationID}

La respuesta incluye un identificador de operación para enviar a otros puntos de conexión.

Códigos de estado

Esta API tiene los siguientes códigos de estado esperados.

Código de estado HTTP Descripción
202 La solicitud se acepta para su procesamiento, pero el procesamiento no se ha completado.
4XX Consulte Códigos de error a continuación.
5XX Consulte Códigos de error a continuación.

Vea también:

  • Publicar el envío en Uso de la API REST para actualizar complementos de Microsoft Edge.

Comprobación del estado de publicación

Comprueba el estado de la operación de publicación.

Consulte también Comprobación del estado de publicación en Uso de la API REST para actualizar los complementos de Microsoft Edge.

Solicitud

Método URI de solicitud
GET /products/$productID/submissions/operations/$operationID
Parámetros de URI

Ninguno.

Encabezados de solicitud

Se requieren los siguientes encabezados de solicitud:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
Cuerpo de la solicitud

Ninguna.

Respuesta

Se GET puede llamar a una API de estado de operación en los siguientes escenarios. En todos los escenarios válidos, 200 OK se devuelve, con mensajes de estado diferentes.

La respuesta incluye un identificador de operación para enviar a otros puntos de conexión.

Respuesta cuando se publica un nuevo producto
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Can't create new extension.",
    "errorCode": "CreateNotAllowed",
    "errors": null
}
Respuesta cuando no hay nada nuevo que publicar
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Can't publish extension since there are no updates, please try again after updating the package.",
    "errorCode": "NoModulesUpdated",
    "errors": null
}
Respuesta cuando hay un envío en revisión para el mismo producto
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Can't publish extension as your extension submission is in progress. Please try again later.",
    "errorCode": "InProgressSubmission",
    "errors": null    
}
Respuesta cuando hay un envío no publicado en curso para el mismo producto
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Can't publish extension as your extension is being unpublished. Please try after you've unpublished.",
    "errorCode": "UnpublishInProgress",
    "errors": null    
}
Respuesta donde cualquiera de los módulos no es válido
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Can't publish extension as your extension has modules that are not valid. Fix the modules with errors and try to publish again.",
    "errorCode": "ModuleStateUnPublishable",
    "errors": [
        {
            "message": "Invalid module : <Modules>"
        }
    ]
}
Respuesta cuando hay errores de validación en el envío
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Extension can't be published as there are submission validation failures. Fix these errors and try again later.",
    "errorCode": "SubmissionValidationError",
    "errors": ["{list of errors}"]
}
Respuesta cuando la llamada de publicación se realiza correctamente
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "Succeeded",
    "message": "Successfully created submission with ID {submission.Id}",
    "errorCode": "",
    "errors": null
}
Respuesta cuando se produce un error irrecuperable en la llamada de publicación
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "An error occurred while performing the operation",
    "errorCode": null,
    "errors": null
}
Respuesta cuando se produce un error inesperado en la llamada de publicación
{
    "id": "{operationID}",
    "message": "An error occurred while processing the request. Please contact support Correlation ID: {operationID} Timestamp: {timeStamp}",
}
Encabezados de respuesta

Ninguno.

Códigos de estado

Esta API tiene los siguientes códigos de estado esperados.

Código de estado HTTP Descripción
200 La solicitud es Correcta.
4XX Consulte Códigos de error a continuación.
5XX Consulte Códigos de error a continuación.

Vea también:

Códigos de error

Esta es una lista de códigos de error comunes y posibles motivos. Para obtener una lista completa, consulte Códigos de error rest del Centro de partners o Lista de códigos de estado HTTP.

4xx: error del cliente

Message Descripción Escenario de ejemplo
400 Solicitud incorrecta El servidor no entendió la solicitud. No hay ningún paquete (archivo ZIP) en el cuerpo. O bien, Content-Type falta el encabezado o su valor es incorrecto.
401 No autorizado La página de solicitud necesita una autorización. Falta el token de autenticación, ha expirado o no es válido.
404 No encontrado El servidor no puede encontrar la página solicitada. El identificador de producto o el identificador de operación especificados no tienen un GUID válido, no son válidos o no pertenecen al desarrollador que realiza la solicitud.
408 Request Timeout La solicitud tardó más de lo que el servidor estaba preparado para esperar. Se agotó el tiempo de espera al cargar un paquete.
429 Demasiadas solicitudes El usuario envió demasiadas solicitudes. Se enviaron demasiadas solicitudes y se limitaron.

5xx: Error del servidor

Message Descripción Escenario de ejemplo
Error interno del servidor 500 No se completó la solicitud. El servidor cumplió una condición inesperada.

Recursos adicionales