API REST Referência para atualizar uma extensão no Microsoft Edge Complementos

Este artigo é a referência de ponto de extremidade REST para a API de Complementos do Microsoft Edge. Essa API automatiza a publicação de atualizações para uma extensão que está nos complementos do Microsoft Edge.

Para obter uma visão geral, consulte Usar a API REST para atualizar uma extensão nos Complementos do Microsoft Edge.

Versões da API REST de atualização

A partir de 6 de setembro de 2024, há suporte para a v1.1 e a v1 dessa API REST de atualização. O suporte para v1 terminará em 31 de dezembro de 2024.

Carregar um pacote para atualizar um envio existente

Carrega um pacote para atualizar um rascunho de envio existente de uma extensão.

Confira também Carregando um pacote para atualizar um envio existente em Usar a API REST para atualizar uma extensão em Complementos do Microsoft Edge.

Solicitação

Método URI da solicitação
POST /products/$productID/submissions/draft/package
Parâmetros de URI
Parâmetro de URI Descrição
$productID Obrigatório. A ID do produto para o qual o pacote deve ser carregado.
Cabeçalhos de solicitação

Os seguintes cabeçalhos de solicitação são necessários:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
  • Content-Type: application/zip
Corpo da solicitação
  • <Zip package>

Resposta

Cabeçalhos de resposta
  • Localização: {operationID}

A resposta inclui uma ID de operação, a ser enviada a outros pontos de extremidade.

Códigos de status

Essa API tem os seguintes códigos de status esperados.

Código de status de HTTP Descrição
202 A solicitação é aceita para processamento, mas o processamento não foi concluído.
4XX Consulte Códigos de erro, abaixo.
5XX Consulte Códigos de erro, abaixo.

Veja também:

Verificar o status de um carregamento de pacote

Obtém o status do carregamento do pacote.

Confira também Verificando o status de um carregamento de pacote em Usar a API REST para atualizar uma extensão em Complementos do Microsoft Edge.

Solicitação

Método URI da solicitação
GET /products/$productID/submissions/draft/package/operations/$operationID
Parâmetros de URI
Parâmetro de URI Descrição
$operationID Obrigatório. A ID da operação da solicitação de upload enviada na etapa anterior. Essas informações estão disponíveis no cabeçalho da resposta.
Cabeçalhos de solicitação

Os seguintes cabeçalhos de solicitação são necessários:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
Corpo da solicitação

Nenhum.

Resposta

Existem várias respostas, para cenários diferentes.

Resposta quando a operação ainda estiver em andamento
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "InProgress",
    "message": null,
    "errorCode": null,
    "errors": null
}
Resposta quando a operação for bem-sucedida
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "Succeeded",
    "message": "Successfully updated package to {fileName}.zip",
    "errorCode": "",
    "errors": null
}
Resposta quando a operação falha com erros
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "Failed",
    "message": "Error Message.",
    "errorCode": "Error Code",
    "errors": ["list of errors"]
}
Cabeçalhos de resposta

Nenhuma.

Códigos de status

Essa API tem os seguintes códigos de status esperados.

Código de status de HTTP Descrição
200 A solicitação está OK.
4XX Consulte Códigos de erro, abaixo.
5XX Consulte Códigos de erro, abaixo.

Veja também:

Publicar o envio de rascunho de produto

Publica o rascunho atual do produto em Complementos do Microsoft Edge.

Confira também Publicar o envio em Usar a API REST para atualizar uma extensão em Complementos do Microsoft Edge.

Solicitação

Método URI da solicitação
POST /products/$productID/submissions
Parâmetros de URI
Parâmetro de URI Descrição
$productID Obrigatório. A ID do produto cujo rascunho deve ser publicado.
Cabeçalhos de solicitação

Os seguintes cabeçalhos de solicitação são necessários:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
Corpo da solicitação

<Notes for certification>, em formato de texto sem formatação.

Resposta

Cabeçalhos de resposta
  • Localização: {operationID}

A resposta inclui uma ID de operação, a ser enviada a outros pontos de extremidade.

Códigos de status

Essa API tem os seguintes códigos de status esperados.

Código de status de HTTP Descrição
202 A solicitação é aceita para processamento, mas o processamento não foi concluído.
4XX Consulte Códigos de erro, abaixo.
5XX Consulte Códigos de erro, abaixo.

Veja também:

  • Publicar o envio no Use a API REST para atualizar uma extensão nos complementos do Microsoft Edge.

Verifique o status da publicação

Verifica o status da operação de publicação.

Confira também Verificando o status de publicação em Usar a API REST para atualizar uma extensão nos Complementos do Microsoft Edge.

Solicitação

Método URI da solicitação
GET /products/$productID/submissions/operations/$operationID
Parâmetros de URI

Nenhuma.

Cabeçalhos de solicitação

Os seguintes cabeçalhos de solicitação são necessários:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
Corpo da solicitação

Nenhum.

Resposta

Uma GET API de status da operação pode ser chamada nos seguintes cenários. Em todos os cenários válidos, 200 OK é retornado, com mensagens de status diferentes.

A resposta inclui uma ID de operação, a ser enviada a outros pontos de extremidade.

Resposta quando um novo produto é publicado
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Can't create new extension.",
    "errorCode": "CreateNotAllowed",
    "errors": null
}
Resposta quando não há nada de novo a ser publicado
{
    "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
}
Resposta quando há um envio em revisão para o mesmo produto
{
    "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    
}
Resposta quando há um envio não publicado em andamento para o mesmo produto
{
    "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    
}
Resposta quando qualquer um dos módulos é invá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>"
        }
    ]
}
Resposta quando há erros de validação no envio
{
    "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}"]
}
Resposta quando a chamada de publicação for bem-sucedida
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "Succeeded",
    "message": "Successfully created submission with ID {submission.Id}",
    "errorCode": "",
    "errors": null
}
Resposta quando a chamada de publicação falha com uma falha irrecuperável
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "An error occurred while performing the operation",
    "errorCode": null,
    "errors": null
}
Resposta quando a chamada de publicação falha com uma falha inesperada
{
    "id": "{operationID}",
    "message": "An error occurred while processing the request. Please contact support Correlation ID: {operationID} Timestamp: {timeStamp}",
}
Cabeçalhos de resposta

Nenhuma.

Códigos de status

Essa API tem os seguintes códigos de status esperados.

Código de status de HTTP Descrição
200 A solicitação está OK.
4XX Consulte Códigos de erro, abaixo.
5XX Consulte Códigos de erro, abaixo.

Veja também:

Códigos de erro

Aqui está uma lista de códigos de erro comuns e possíveis motivos. Para obter uma lista completa, consulte Códigos de erro REST do Partner Center ou Lista de códigos de status HTTP.

4xx: Erro do cliente

Mensagem Descrição Cenário de exemplo
400 Solicitação incorreta O servidor não entendeu a solicitação. Não há nenhum pacote (arquivo zip) no corpo. Ou o Content-Type cabeçalho está ausente ou seu valor está incorreto.
401 Não autorizado A página de solicitação precisa de uma autorização. O token de autenticação está ausente, expirou ou não é válido.
404 Não Encontrado O servidor não pode encontrar a página solicitada. A ID do produto ou a ID da operação especificada não tem um GUID válido, não é válida ou não pertence ao desenvolvedor que está fazendo a solicitação.
408 Solicitar Tempo Limite A solicitação demorou mais do que o servidor estava preparado para aguardar. Havia um tempo limite ao carregar um pacote.
429 Muitas solicitações Muitas solicitações foram enviadas pelo usuário. Muitas solicitações foram enviadas e elas foram limitadas.

5xx: erro do servidor

Mensagem Descrição Cenário de exemplo
500 Internal Server Error A solicitação não foi concluída. O servidor atendeu a uma condição inesperada.

Confira também