共用方式為


更新 Microsoft Edge 附加元件的 REST API 參考

本文是 Microsoft Edge 附加元件 API 的 REST 端點參考。 此 API 會將已提交至 Microsoft Edge 附加元件存放區的更新自動發佈至附加元件。

如需概觀,請 參閱使用 REST API 來更新Microsoft Edge 附加元件

更新 REST API 的版本

自 2024 年 9 月 6 日起,支援此更新 REST API 的 v1.1 和 v1。 v1 的支援將於 2024 年 12 月 31 日終止。

上傳套件以更新現有的提交

上傳套件以更新附加元件產品的現有草稿提交。

另請參閱使用 REST API 更新 edge 附加元件Microsoft更新現有提交中的上傳套件。

請求

方法 要求 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 更新 Edge 附加元件Microsoft中發佈提交

檢查發佈狀態

檢查發佈作業的狀態。

另請參閱使用 REST API 更新Microsoft Edge 附加元件中的檢查發佈狀態

請求

方法 要求 URI
GET /products/$productID/submissions/operations/$operationID
URI 參數

無。

要求標頭

需要下列要求標頭:

  • Authorization: ApiKey $ApiKey
  • X-ClientID: $ClientID
要求內文

無。

回應

GET 下列案例中,可以呼叫作業狀態 API。 在所有有效案例中, 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 API 更新 edge 附加元件中的發佈狀態Microsoft。

錯誤碼

以下是常見錯誤碼和可能原因的清單。 如需完整清單,請參閱 合作夥伴中心 REST 錯誤碼HTTP 狀態代碼清單

4xx:客戶端錯誤

郵件 描述 案例範例
400 不正確的要求 伺服器不瞭解要求。 本文中沒有封裝 (zip 檔案) 。 或者, Content-Type 標頭遺失或其值不正確。
401 未經授權 要求頁面需要授權。 驗證令牌遺失、過期或無效。
404 找不到 伺服器找不到要求的頁面。 指定的產品標識碼或作業標識碼沒有有效的 GUID、無效,或不屬於提出要求的開發人員。
408 要求逾時 要求所花費的時間超過伺服器準備等候的時間。 上傳套件時發生逾時。
429 太多要求 用戶傳送了太多要求。 傳送了太多要求,並已進行節流。

5xx:伺服器錯誤

郵件 描述 案例範例
500 內部伺服器錯誤 要求未完成。 伺服器符合非預期的情況。

另請參閱