Compartilhar via


Referência da API REST para atualizar suplementos do Microsoft Edge

Este artigo é a referência de ponto final REST para a API de Suplementos do Microsoft Edge. Esta API automatiza a publicação de atualizações para suplementos que foram submetidos à loja de Suplementos do Microsoft Edge.

Para obter uma descrição geral, veja Utilizar a API REST para atualizar os Suplementos do Microsoft Edge.

Versões da API REST de Atualização

A partir de 6 de setembro de 2024, a v1.1 e a v1 desta API REST de Atualização são suportadas. O suporte para v1 terminará a 31 de dezembro de 2024.

Carregar um pacote para atualizar uma submissão existente

Carrega um pacote para atualizar uma submissão de rascunho existente de um produto de suplemento.

Veja também Carregar um pacote para atualizar uma submissão existente em Utilizar a API REST para atualizar os Suplementos do Microsoft Edge.

Solicitação

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

São necessários os seguintes cabeçalhos de pedido:

  • 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 um ID de operação para enviar para outros pontos finais.

Códigos de status

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

Código de status de HTTP Descrição
202 O pedido é aceite para processamento, mas o processamento não está concluído.
4XX Veja Códigos de erro abaixo.
5XX Veja Códigos de erro abaixo.

Veja também:

Verificar a status de um carregamento de pacote

Obtém a status do carregamento do pacote.

Veja também Verificar a status de um carregamento de pacotes em Utilizar a API REST para atualizar os Suplementos do Microsoft Edge.

Solicitação

Método URI do Pedido
GET /products/$productID/submissions/draft/package/operations/$operationID
Parâmetros de URI
Parâmetro URI Descrição
$operationID Obrigatório. O ID da operação do pedido de carregamento submetido no passo anterior. Estas informações estão disponíveis no cabeçalho da resposta.
Cabeçalhos de solicitação

São necessários os seguintes cabeçalhos de pedido:

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

Nenhum.

Resposta

Existem várias respostas para diferentes cenários.

Resposta quando a operação ainda está em curso
{
    "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

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

Código de status de HTTP Descrição
200 O pedido está ok.
4XX Veja Códigos de erro abaixo.
5XX Veja Códigos de erro abaixo.

Veja também:

Publicar a submissão do rascunho do produto

Publica o rascunho atual do produto nos Suplementos do Microsoft Edge.

Veja também Publicar a submissão em Utilizar a API REST para atualizar os Suplementos do Microsoft Edge.

Solicitação

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

São necessários os seguintes cabeçalhos de pedido:

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

<Notes for certification>, em formato de texto simples.

Resposta

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

A resposta inclui um ID de operação para enviar para outros pontos finais.

Códigos de status

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

Código de status de HTTP Descrição
202 O pedido é aceite para processamento, mas o processamento não está concluído.
4XX Veja Códigos de erro abaixo.
5XX Veja Códigos de erro abaixo.

Veja também:

Verificar o status de publicação

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

Consulte também Verificar o status de publicação em Utilizar a API REST para atualizar os Suplementos do Microsoft Edge.

Solicitação

Método URI do Pedido
GET /products/$productID/submissions/operations/$operationID
Parâmetros de URI

Nenhuma.

Cabeçalhos de solicitação

São necessários os seguintes cabeçalhos de pedido:

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

Nenhum.

Resposta

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

A resposta inclui um ID de operação para enviar para outros pontos finais.

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 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
}
Resposta quando há uma submissão 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á uma submissão não publicada em curso 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 em que 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 existem erros de validação na submissã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}"]
}
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

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

Código de status de HTTP Descrição
200 O pedido está ok.
4XX Veja Códigos de erro abaixo.
5XX Veja Códigos de erro abaixo.

Veja também:

Códigos de erro

Eis uma lista de códigos de erro comuns e possíveis razões. Para obter uma lista completa, veja Códigos de erro REST do Centro de Parceiros ou Lista de códigos de status HTTP.

4xx: Erro do cliente

Mensagem Descrição Cenário de exemplo
400 Pedido Incorreto O servidor não compreendeu o pedido. Não existe nenhum pacote (ficheiro zip) no corpo. Em alternativa, Content-Type o cabeçalho está em falta ou o respetivo valor está incorreto.
401 Não Autorizado A página do pedido precisa de uma autorização. O token de autenticação está em falta, expirou ou não é válido.
404 Não Encontrado O servidor não consegue localizar a página pedida. O ID de produto ou ID de operação especificado não tem um GUID válido, não é válido ou não pertence ao programador que está a fazer o pedido.
408 Solicitar Tempo Limite O pedido demorou mais tempo do que o servidor estava preparado para aguardar. Houve um tempo limite ao carregar um pacote.
429 Demasiados pedidos O utilizador enviou demasiados pedidos. Foram enviados demasiados pedidos e foram limitados.

5xx: Erro do servidor

Mensagem Descrição Cenário de exemplo
Erro de Servidor Interno 500 O pedido não foi concluído. O servidor cumpriu uma condição inesperada.

Confira também