Поделиться через


Справочник по REST API для обновления надстроек Microsoft Edge

Эта статья является справочником по конечной точке REST для API надстроек Microsoft Edge. Этот API автоматизирует публикацию обновлений для надстроек, отправленных в магазин надстроек Microsoft Edge.

Общие сведения см. в статье Использование REST API для обновления надстроек Microsoft Edge.

Версии REST API обновления

По состоянию на 6 сентября 2024 г. поддерживаются версии 1.1 и версии 1 этого REST API обновления. Поддержка версии 1 завершится 31 декабря 2024 г.

Отправка пакета для обновления существующей отправки

Отправляет пакет для обновления существующей отправки черновика надстройки.

См. также раздел Отправка пакета для обновления существующей отправки в статье Использование REST API для обновления надстроек Microsoft Edge.

Запрос

Метод URI запроса
POST /products/$productID/submissions/draft/package
Параметры URI
Параметр URI Описание
$productID Обязательно. Идентификатор продукта, в который должна быть отправлена упаковка.
Заголовки запросов

Требуются следующие заголовки запросов:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
  • Content-Type: application/zip
Текст запроса
  • <Zip package>

Отклик

Заголовки откликов
  • Местоположение: {operationID}

Ответ включает идентификатор операции для отправки в другие конечные точки.

Коды состояния

Этот API имеет следующие ожидаемые коды состояния.

Код состояния HTTP Описание
202 Запрос принимается для обработки, но обработка не завершена.
4XX См . раздел Коды ошибок ниже.
5XX См . раздел Коды ошибок ниже.

См. также:

Проверка состояния отправки пакета

Возвращает состояние отправки пакета.

См. также раздел Проверка состояния отправки пакета в статье Использование REST API для обновления надстроек Microsoft Edge.

Запрос

Метод URI запроса
GET /products/$productID/submissions/draft/package/operations/$operationID
Параметры URI
Параметр URI Описание
$operationID Обязательно. Идентификатор операции запроса на отправку, отправленного на предыдущем шаге. Эти сведения доступны в заголовке ответа.
Заголовки запросов

Требуются следующие заголовки запросов:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
Текст запроса

Нет.

Отклик

Существует несколько ответов для различных сценариев.

Ответ, когда операция еще выполняется
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "InProgress",
    "message": null,
    "errorCode": null,
    "errors": null
}
Ответ при успешном выполнении операции
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "Succeeded",
    "message": "Successfully updated package to {fileName}.zip",
    "errorCode": "",
    "errors": null
}
Ответ при сбое операции с ошибками
 {
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "Failed",
    "message": "Error Message.",
    "errorCode": "Error Code",
    "errors": ["list of errors"]
}
Заголовки откликов

Нет.

Коды состояния

Этот API имеет следующие ожидаемые коды состояния.

Код состояния HTTP Описание
200 Запрос ОК.
4XX См . раздел Коды ошибок ниже.
5XX См . раздел Коды ошибок ниже.

См. также:

Публикация отправки черновика продукта

Публикует текущий черновик продукта в надстройках Microsoft Edge.

См. также публикацию отправки в разделе Использование REST API для обновления надстроек Microsoft Edge.

Запрос

Метод URI запроса
POST /products/$productID/submissions
Параметры URI
Параметр URI Описание
$productID Обязательно. Идентификатор продукта, черновик которого должен быть опубликован.
Заголовки запросов

Требуются следующие заголовки запросов:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
Текст запроса

<Notes for certification>, в формате обычного текста.

Отклик

Заголовки откликов
  • Местоположение: {operationID}

Ответ включает идентификатор операции для отправки в другие конечные точки.

Коды состояния

Этот API имеет следующие ожидаемые коды состояния.

Код состояния HTTP Описание
202 Запрос принимается для обработки, но обработка не завершена.
4XX См . раздел Коды ошибок ниже.
5XX См . раздел Коды ошибок ниже.

См. также:

Проверка состояния публикации

Проверяет состояние операции публикации.

См. также статью Проверка состояния публикации в разделе Использование REST API для обновления надстроек Microsoft Edge.

Запрос

Метод URI запроса
GET /products/$productID/submissions/operations/$operationID
Параметры URI

Нет.

Заголовки запросов

Требуются следующие заголовки запросов:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
Текст запроса

Нет.

Отклик

API GET состояния операции можно вызвать в следующих сценариях. Во всех допустимых сценариях 200 OK возвращается с разными сообщениями о состоянии.

Ответ включает идентификатор операции для отправки в другие конечные точки.

Ответ при публикации нового продукта
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "Can't create new extension.",
    "errorCode": "CreateNotAllowed",
    "errors": null
}
Ответ, когда нет ничего нового для публикации
{
    "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
}
Ответ при отправке в проверку для того же продукта
{
    "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    
}
Ответ при наличии текущей неопубликованной отправки для того же продукта
{
    "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    
}
Ответ, в котором любой из модулей недопустим
{
    "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>"
        }
    ]
}
Ответ при возникновении ошибок проверки при отправке
{
    "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}"]
}
Ответ при успешном вызове публикации
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": "Date Time",
    "status": "Succeeded",
    "message": "Successfully created submission with ID {submission.Id}",
    "errorCode": "",
    "errors": null
}
Ответ на сбой вызова публикации с неустранимым сбоем
{
    "id": "{operationID}",
    "createdTime": "Date Time",
    "lastUpdatedTime": " Date Time ",
    "status": "Failed",
    "message": "An error occurred while performing the operation",
    "errorCode": null,
    "errors": null
}
Ответ на сбой вызова публикации с непредвиденным сбоем
{
    "id": "{operationID}",
    "message": "An error occurred while processing the request. Please contact support Correlation ID: {operationID} Timestamp: {timeStamp}",
}
Заголовки откликов

Нет.

Коды состояния

Этот API имеет следующие ожидаемые коды состояния.

Код состояния HTTP Описание
200 Запрос ОК.
4XX См . раздел Коды ошибок ниже.
5XX См . раздел Коды ошибок ниже.

См. также:

Коды ошибок

Ниже приведен список распространенных кодов ошибок и возможных причин. Полный список см. в разделе Коды ошибок REST Центра партнеров или Список кодов состояния HTTP.

4xx: ошибка клиента

Сообщение Описание Пример сценария
400 Недопустимый запрос Сервер не понял запрос. В тексте пакета (ZIP-файла) нет. Content-Type Либо заголовок отсутствует или его значение неверно.
401 Не авторизовано Для страницы запроса требуется авторизация. Маркер проверки подлинности отсутствует, истек или недопустим.
404 Не найдено Серверу не удается найти запрошенную страницу. Указанный идентификатор продукта или идентификатор операции не имеет допустимого GUID, является недопустимым или не принадлежит разработчику, который выполняет запрос.
408 Время ожидания запроса Запрос занял больше времени, чем сервер был готов к ожиданию. При отправке пакета истекло время ожидания.
429 Слишком много запросов Пользователь отправил слишком много запросов. Было отправлено слишком много запросов, и они были отрегулировали.

5xx: ошибка сервера

Сообщение Описание Пример сценария
Внутренняя ошибка сервера 500 Запрос не был выполнен. Сервер выполнил непредвиденное состояние.

См. также