Managed Runtime API

使用 Managed Runtime API 来控制部署到 Commerce Cloud Managed Runtime 的应用程序。您可以创建与 Runtime Admin Web 应用程序具有相同功能的自定义工具,但您可以获得更多的管理能力和配置选项。

Managed Runtime API 仅用于管理目的。请_勿_在网店代码中向 API 发出请求。

本指南假设您已经了解 Managed Runtime 和相关概念,例如:项目、环境、捆绑包和部署。要了解更多信息,请参阅 Managed Runtime 概述

Mobify 品牌名称仍出现在 Managed Runtime API 的基本 URL 的 mobify.com 域中。尽管新的 Salesforce 域最终将取代这 Mobify 域,但目前将继续支持 Mobify 域。

要想发出 API 请求,您必须在 HTTP 请求 Authorization 标头中包含值为 Bearer $API_KEY 的 API 密钥。

要查找您的 API 密钥,请登录 Runtime Admin 工具并转到帐户设置页面。

请将您的 API 密钥视为密码,因为它允许脚本代表您执行操作。

我们将通过一个简短教程向您展示如何使用 API,该教程基于一些格式化为 curl 命令的示例请求。

在运行命令之前,将所有占位符替换为实际值。占位符的格式如 $PLACEHOLDER

对于大多数请求,您必须将 $PROJECT_ID 替换为您的实际项目 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 的代理配置:

更改配置会重新部署已部署的捆绑包,以便配置更新生效。

如果您在使用 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所有端点合并。1000N/A
POST, PATCH, DELETE所有剩余端点组合。100N/A

现在您已了解 API 的功能,甚至还发出了一些示例请求!

要了解有关 API 的更多信息,请参阅 API Specification(API 规范)。

API 的开放式 API 架构可在以下位置获得: