Managed Runtime API

使用 Managed Runtime API,即可控制部署至 Commerce Cloud 的 Managed Runtime 上的應用程式。您可建立與 Runtime Admin 網路應用程式具有相同功能的自訂工具,但還能獲得更多管理功能及設定選項。

Managed Runtime API 僅限用於管理目的。請 不要 在網店程式碼中向此 API 發出要求。

這份指南假設您已經十分熟悉 Managed Runtime 及相關概念,例如:專案、環境、套件和部署等。如需進一步瞭解,請參閱 Managed Runtime 概觀

Mobify 品牌名稱仍會出現在 Managed Runtime API 基底 URL 的 mobify.com 網域中。雖然新的 Salesforce 網域最終將會取代 Mobify 網域,不過對於 Mobify 網域的支援仍會持續。

若要提出 API 要求,您必須在 HTTP 要求 Authorization 標頭中包含 API 金鑰和此值 Bearer $API_KEY

若要尋找您的 API 金鑰,請登入 Runtime Admin 工具,並前往 Account Settings (帳戶設定) 頁面。

請將您的 API 金鑰視為密碼,因為這能代表您允許指令碼執行操作。

我們將根據一些範例要求進行簡短的教學,為您示範如何使用 API,範例要求的格式為 curl 命令。

在執行命令前,請以實際值取代預留位置。預留位置的格式為:$PLACEHOLDER

在大部分要求中,您必須以實際專案 ID 取代 $PROJECT_ID。若要查詢您的專案 ID,請登入 Runtime Admin 工具,並前往專案的設定頁面。

專案 ID 最長可為 20 個字元,且必須是全域唯一。

我們對 Managed Runtime API 的第一個要求列出了屬於某專案的所有環境 (在 API 中稱之為「目標」):

呼叫 projects_target_list API 端點來列出環境:

現在,讓我們建立一個名為 staging 的環境,好讓我們在將變更部署到 production 之前,使用它來驗證變更:

首先,請呼叫 projects_target_create API 端點。如果您正在建立專案,則可以呼叫 projects_create API 端點來建立環境:

然後呼叫 cc_b2c_target_info_update API 端點,將 Commerce Cloud 執行個體和一或多個網站連接到環境。

若要使用新的環境,您必須 部署套件 至該環境。

讓我們呼叫 projects_target_retrieve API 端點來查看我們建立的 staging 環境的詳細資料:

最後,請呼叫 projects_target_partial_update API 端點來修改 staging 的 Proxy 設定:

變更設定會重新部署已部署的套件,使設定更新生效。

若您在使用 API 時遇到問題,請嘗試這些疑難排解步驟。

  • 新增 --fail 引數至您的 curl 命令。
  • 檢查您的 API 金鑰。
  • 檢查您的專案 ID。

API 端點在瀏覽器中也能使用。登入 Runtime Admin 工具,並在您的瀏覽器中直接開啟正在使用的端點。

若要使用 Managed Runtime API 來支援持續整合和部署,請建立 Account Manager 使用者來達成自動化:

  • 使用共用的電子郵件地址,像是 Google Group,在 Account Manager 中建立一個使用者帳戶。請將相關的憑證和 MFA 密碼儲存在 LastPass 之類的密碼管理程式中。
  • 授予使用者 Managed Runtime User 角色。
  • 在 Runtime Admin 中,將所需的權限指派給使用者。使用者的 Managed Runtime API 金鑰僅能存取使用者權限所允許的內容。請將權限具體設為 CI/CD 需要與其互動的專案。
  • 為使用者建立 API 金鑰,並將它儲存在持續整合系統中。

若要讓 Managed Runtime API 金鑰保持有效,您必須讓相關的 Account Manager 帳戶保持有效,方法是依照您組織 Account Manager 設定的要求,更新其密碼。如果使用者被停用,請重設密碼來重新啟用使用者,以便重新啟用 API 金鑰。

Managed Runtime API 對於每單位時間所允許的要求數量設有速率限制。速率限制會套用至每位使用者,協助確保所有使用者都能公平存取。

如果您的要求超出了速率限制,API 會傳回 HTTP 429 Too Many Requests 錯誤,以及 Retry-After HTTP 標頭,指出您需要等待多少秒數之後才能重試。

速率限制無法調整。

下表顯示不同 API 系列的速率限制。

部分端點使用累計速率限制,這表示它們不會針對每個端點進行限制。反之,累計速率限制會針對多個端點的要求合計數量進行限制。所有 GET 要求都使用累計速率限制。同樣地,下表中未單獨標註的端點的所有 POST、PATCH、DELETE 要求都使用累計速率限制。這些限制說明如下

方法端點
POST/api/projects/
PATCH/api/projects/*/
DELETE/api/projects/*/
POST/api/projects/*/builds/*/
POST/api/projects/*/target/
PATCH/api/projects/*/target/*/
DELETE/api/projects/*/target/*/
POST/api/projects/*/target/*/deploy/
累計 1 分鐘限制累計 1 小時限制
10100
方法端點5 分鐘限制1 小時限制
POST/api/projects/*/target/*/invalidation/15100
方法端點1 分鐘限制1 小時限制
GET所有端點合計。1000不適用
POST、PATCH、DELETE所有其餘端點合計。100不適用

現在您已經熟悉 API 的功能,甚至能做出某些範本要求了!

如要進一步瞭解 API,請參考 API 規格

API 的 Open API 結構描述可在下列位置取得: