管理员门户指南
管理与红帽 3scale API 管理相关的方面。
摘要
前言 复制链接链接已复制到粘贴板!
本指南将帮助您使用管理门户中可用的功能来管理您的 3scale 安装。
部分 I. 帐户设置 复制链接链接已复制到粘贴板!
第 1 章 帐户配置 复制链接链接已复制到粘贴板!
创建帐户后,更新有关贵公司的基本信息。设置您所在的地点并添加联系信息。
The account view is only visible to admins (and not to members).
The account view is only visible to admins (and not to members).
1.1. 添加您的公司信息 复制链接链接已复制到粘贴板!
创建新帐户后,点顶部导航栏中的齿轮图标,然后单击 Account → Overview,然后点击 Details 项中的 Edit。填写您的帐户信息。
您此处编写的地址是我们用于计费目的(如果您在付费计划中)以及用户在使用账单和支付模块时在发票上看到哪些地址。
1.2. 选择您首选的时区 复制链接链接已复制到粘贴板!
在同一页面上,您还可以选择您将在所有系统上使用的时区。此设置会影响分析图形。但是,账单周期计算按照 UTC 时间进行。
第 2 章 3scale 管理门户的红帽单点登录 复制链接链接已复制到粘贴板!
本指南提供有关如何通过 3scale 管理门户配置和使用红帽单点登录(RH SSO)的信息。
2.1. 启用 RH SSO 或 Auth0 成员身份验证 复制链接链接已复制到粘贴板!
3scale 支持您的成员和管理员的单点登录(SS0)身份验证。
3scale 管理门户支持以下 SSO 提供程序,各自支持多个身份代理和成员联合选项:
您可以启用多个 SSO 成员身份验证类型
只有已添加到 RH SSO 或 Auth0 的用户才能通过 SSO 访问您的 3scale 管理门户。如果要进一步限制角色或用户组的访问,您应该在 RH SSO 或 Auth0 支持门户上步骤教程中引用对应的步骤。
通过所选提供程序建立 SSO 后,您必须进行配置并在 3scale 管理门户中启用它。
2.1.1. RH SSO 先决条件 复制链接链接已复制到粘贴板!
- 文档的 Developer Portal 身份验证 部分下配置的 RH SSO 实例和域。
2.1.2. Auth0 先决条件 复制链接链接已复制到粘贴板!
- Auth0 订阅和帐户
2.1.3. 启用 RH SSO 复制链接链接已复制到粘贴板!
作为管理员,在 3scale 管理面板中执行以下步骤来启用 RH SSO 或 Auth0 :
- 确保您的首选 SSO 提供程序(在先决条件中突出显示)已正确配置
导航到 Account Settings 中的 SSO Integrations:
- 单击页面右上角的齿轮图标
- 导航到 Account Settings(齿轮图标) > Users > SSO Integrations,然后点击 New SSO Integration s。
- 从下拉列表中选择您的 SSO 提供程序
输入配置 SSO 时提供的必要信息:
- 客户端
- Client Secret
- realm 或 Site
- 点 Create Authentication Provider
如果在测试过程中遇到回调 URL 不匹配,请将错误消息中显示的回调 URL 添加到您的 Auth0 允许回调 URL。
2.2. 在 3scale 中使用 RH SSO 复制链接链接已复制到粘贴板!
配置了 SSO 后,成员便可使用连接的 IdP 中的帐户凭据进行登录。
按照以下步骤,使用 SSO 登录 3scale 管理门户:
导航到 3scale 登录页面:
https://<organization>-admin.3scale.net/p/login
https://<organization>-admin.3scale.net/p/loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用您的 IdP 授权 3scale
- 如有必要,请输入任何所需信息来完成注册
成功注册后,您将在 API 供应商组织下拥有一个 member 帐户,并且会自动登录。
2.3. 将 3scale 登录重定向到 RH SSO 选项 复制链接链接已复制到粘贴板!
这些步骤将显示 3scale API 管理管理员如何重定向到身份提供程序(IdP)登录屏幕(RH SSO)。完成这些步骤,可通过可选的单点登录(SSO)登录页面访问 3scale 帐户。
2.3.1. 先决条件 复制链接链接已复制到粘贴板!
- 3scale 2.6
- 按照 开发人员门户身份验证 文档中的 配置 RH SSO 部分所述,配置了 RH SSO 实例和域。
在将 RH SSO 与 3scale 集成之前,您必须有一个正常工作的 RH SSO 实例。有关安装说明,请参阅 RH SSO 文档: 安装 RH-SSO 7.2。
2.3.2. 所需的步骤 复制链接链接已复制到粘贴板!
- 访问 并按照 3scale 文档的 3scale 管理门户部分在红帽单点登录 下设置 RH SSO 的说明进行操作。
为您的 RH SSO 管理员提供 3scale URL。URL 将构成 RH SSO 中重定向的基础,供您进行安全登录。
https://<organization>-admin.3scale.net/auth/<system_name>/bounce
https://<organization>-admin.3scale.net/auth/<system_name>/bounceCopy to Clipboard Copied! Toggle word wrap Toggle overflow system_name 假设 RH SSO 用作 3scale 实例中的 SSO 提供程序,其 ID 为 rhsso :
https://<organization>-admin.3scale.net/auth/rhsso/bounce
https://<organization>-admin.3scale.net/auth/rhsso/bounceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要在 3scale 实例中获取 id,请导航到:
https://<organization>.3scale.net/p/admin/account/authentication_providers/<ID>
https://<organization>.3scale.net/p/admin/account/authentication_providers/<ID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您将看到:
回调 URL
https://<organization>.3scale.net/auth/keycloak_0123456aaaaa/callback
https://<organization>.3scale.net/auth/keycloak_0123456aaaaa/callbackCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 其中 keycloak_0123456aaaaa 是系统名称,并在 bounce URL 中使用。
- 导航到新的 RH SSO URL 并安全地登录到 3scale 帐户。
第 3 章 邀请用户和管理权限 复制链接链接已复制到粘贴板!
为了共享管理 API 的工作负载,您可能需要邀请您组织的团队成员访问 3scale 管理门户。在本教程中,您将了解如何使用角色和权限类型。注意: 'invite' 功能仅适用于 Pro 和 Enterprise 客户。
以下说明描述了如何向一个或多个团队成员授予 3scale 管理门户的访问权限。
3.2. 发送邀请 复制链接链接已复制到粘贴板!
您可以在 Users > Invitations 中找到邀请。
输入您要邀请的人员的电子邮件地址,然后点发送。将向您输入的地址发送邀请电子邮件。如果电子邮件未到达,请确保它没有标记为垃圾邮件。
3.3. 接受邀请 复制链接链接已复制到粘贴板!
您的新管理员或成员必须单击邀请电子邮件中的链接,并填写表格以完成该流程。提交表格后,其帐户将被激活。
3.4. 授予新用户权限 复制链接链接已复制到粘贴板!
您可以为团队成员授予两种主要的权利:
- 按区域:如作为分析、计费或开发人员管理。
- 按服务 :选择哪些服务为您的所有服务提供成员的访问权限。注意 :这个功能仅适用于企业客户。
要授予新用户权限,请通过从用户菜单中选择新用户并单击 Edit 来编辑新用户。
更改他们对"admin"的权限将赋予他们控制管理门户的完整访问权限。
更改他们"成员"的权限将为您提供选择团队成员可访问哪些区域和服务的选项。
授予对管理门户某些区域的访问权限后,成员只能访问等效的 API:
- Developer accounts — Applications: 用于访问 Account management API
- 分析:提供对分析 API 的访问权限
- 账单:提供对 Billing API 的访问权限
第 4 章 通知 复制链接链接已复制到粘贴板!
通知会发送给管理员和成员,以便更容易解析开发人员活动(新帐户)
4.1. 通知类型 复制链接链接已复制到粘贴板!
有不同类型的通知:
- 帐户
- 账单
- 应用程序
- 服务订阅
- 使用警报
4.2. 可见性 复制链接链接已复制到粘贴板!
管理用户有权访问所有通知。
成员用户仅可以访问他们被授予访问权限的区域的通知。例如,如果某一成员有权访问计费部分,则他们只能访问与计费相关的通知。
对于 企业帐户,成员用户只能访问有关已授予访问权限的服务活动的通知。
4.3. 通过电子邮件订阅通知 复制链接链接已复制到粘贴板!
订阅是个人的,仅可由接收这些通知的人员修改。编辑订阅:
- 导航到 Account Settings (gear icon)> Personal > Notification Preferences。
- 检查您要接收的通知。
4.4. Web 通知 复制链接链接已复制到粘贴板!
除了电子邮件通知外,您还可以在您的仪表板中找到它们:
第 5 章 个人设置 复制链接链接已复制到粘贴板!
在个人设置中,您可以编辑您的首选项作为团队成员。如果您是管理员,您也可以编辑帐户首选项。为此,请查看 帐户配置 教程。
5.1. 设置类型 复制链接链接已复制到粘贴板!
您可以在这里编辑 3 种类型的设置
第 6 章 令牌 复制链接链接已复制到粘贴板!
本教程包含有关 3scale 令牌的信息:它们是什么、工作方式以及如何创建它们。
3scale 有两种类型的令牌: 访问令牌 (由用户创建)和 Service 令牌 (在 3scale 中创建新服务时自动创建)。
6.1. 访问令牌 复制链接链接已复制到粘贴板!
访问令牌允许 API 提供程序管理员和成员对 3scale API(账单、帐户管理和分析)进行身份验证,并使用我们的 ActiveDocs(交互式文档)进行尝试。
访问令牌可以提供读写访问权限,或者提供只读访问权限。
要考虑的一个重要事项是访问令牌的工作方式,而这取决于成员的权利。管理员可以创建令牌,以对所有 3scale API 进行身份验证。成员将受限于其访问管理门户不同部分的权限。例如,如果某一成员无法访问 Billing 区域,他们将无法创建令牌来针对 Billing API 进行身份验证。
6.2. 创建访问令牌 复制链接链接已复制到粘贴板!
可以在令牌页面中创建访问令牌。要访问令牌页面,请点击页面右上角的齿轮图标,然后导航到 Personal > Tokens。
单击 Add Access Token,再选择 name, scope, and permissions。
请注意,如果您是一个成员,您可能不会看到所有 API - 只是帐户管理员有权访问的所有 API。
您可以根据需要创建任意数量的访问令牌,但出于安全原因考虑,它们不会存储在 3scale 中。在创建新令牌时,您将获得保存令牌的警报,以便您可以使用它向 3scale API 发出请求。如果您丢失了令牌,我们建议将其删除 - 将禁用该令牌并呈现无效 - 然后创建一个新令牌。
6.3. 使用访问令牌 复制链接链接已复制到粘贴板!
在使用访问令牌对 3scale API 发出调用时,结果将按您可访问的服务过滤。
例如,在部署 APIcast 自我管理时,您需要访问令牌,以便 APIcast API 网关可以使用帐户管理 API 拉取服务配置。
它的工作方式是,如果您的组织在 3scale 上设置了三个服务,并且作为成员,您有权访问服务 1,但不能 2 和 3,并且您也可访问帐户管理 API,当您创建令牌并对帐户管理 API 发出请求时,您只能获取正在使用服务 1 的应用程序。
遵循同一示例,如果您可以访问帐户管理 API,但在进行调用时可以访问零个服务,您将收到"access denied"错误。
6.3.1. 服务令牌 复制链接链接已复制到粘贴板!
服务令牌用于对 3scale 服务管理 API 进行身份验证。当在 3scale 中创建新服务时,服务令牌会自动生成,并且每个服务都是唯一的。它们由 3scale 帐户的用户共享。您可以在管理门户的 Dashboard: Account Settings(gear icon)> Personal > Tokens 中查找用户可访问的服务的服务帐户令牌。
部分 II. 多租户 复制链接链接已复制到粘贴板!
第 7 章 多租户 复制链接链接已复制到粘贴板!
红帽 3scale API 管理允许多个 3scale 帐户独立实例存在于单个内部部署中。帐户彼此独立运作,不能互相共享信息。
7.1. Master 管理门户 复制链接链接已复制到粘贴板!
主管理员通过主管理门户和 API 端点监控和管理 3scale 帐户。与标准 管理门户 类似,主管理门户包含关于部署中的所有帐户的信息,并允许通过唯一的帐户页面管理帐户和用户。
如需帐户管理员操作的详细信息,请参阅 帐户 指南。
7.1.1. 访问主管理门户 复制链接链接已复制到粘贴板!
要访问主管理门户,您需要在内部安装过程中使用专门为主管理门户定义的凭据和 URL。
主管理门户 URL 由 MASTER_NAME (模板中默认为master )和 WILDCARD_DOMAIN 组成:
<MASTER_NAME>.<WILDCARD_DOMAIN>
<MASTER_NAME>.<WILDCARD_DOMAIN>
您可以通过 Master 标志来识别主管理门户。
7.1.2. 通过主管理门户添加帐户 复制链接链接已复制到粘贴板!
要通过 Master 管理门户添加帐户,请按照以下步骤执行:
- 登录主管理门户。
- 导航到 Accounts。
- 点击 Create。
指明用户所需的信息:
- 用户名
- 电子邮件
- 密码
- 确认密码
指明机构所需的信息:
- 机构/组名称
- 点击 Create。
这些步骤后,Red Hat 3scale 根据 Organization/Group Name 字段为您的帐户创建一个帐户子域。另外,您可以看到包含您创建的帐户详情的页面。
7.1.3. 使用 Master 管理门户创建单一网关 复制链接链接已复制到粘贴板!
使用 Master 管理门户,您可以通过配置 THREESCALE_PORTAL_ENDPOINT 环境变量为所有租户创建一个网关。这与 Hosted 3scale(SaaS)中的托管 APIcast 类似,通过 OpenShift 模板部署的默认 apicast-staging 和 apicast-production 网关以这种方式配置。
要使用 Master 管理门户创建单一网关,请按照以下步骤执行:
-
从 3scale 项目中的
system-master-apicastsecret 中获取 ACCESS_TOKEN 的值。或者,您也可以在主管理门户中 创建新的访问令牌。 部署 APIcast 时使用以下命令:
THREESCALE_PORTAL_ENDPOINT="https://<ACCESS_TOKEN>@<public url to master admin portal>/master/api/proxy/configs"
THREESCALE_PORTAL_ENDPOINT="https://<ACCESS_TOKEN>@<public url to master admin portal>/master/api/proxy/configs"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
url 的末尾看起来类似于
/master/api/proxy/configs,这是因为 master 将配置保存在不同的端点中(与默认的/admin/api/services.json相比)。
-
url 的末尾看起来类似于
7.2. 管理帐户 复制链接链接已复制到粘贴板!
您可以通过主管理门户或通过 API 调用来管理帐户。
7.2.1. 通过主管理门户管理帐户 复制链接链接已复制到粘贴板!
要通过主管理门户管理帐户,您需要执行以下操作:
- 登录主管理门户。
- 进入 Accounts 页面。
- 选择您要管理的组或组织。
在 Accounts 页面中,您可以执行管理操作,如模拟 admin 帐户或暂停帐户。您还可以管理以下帐户属性:
- 应用程序
- 用户
- 邀请
- 组成员身份
- 机构/组名称
7.2.2. 通过 API 调用管理帐户 复制链接链接已复制到粘贴板!
您可以通过 Master Admin API 调用来管理帐户。有关这些调用的详情,请参考 Master API 部分,具体操作为:单击主管理门户右上角的问号(?)图标,然后选择 3scale API 文档。
7.3. 了解多租户子域 复制链接链接已复制到粘贴板!
由于同一 OpenShift 集群域中存在多个帐户,各个帐户名称会将 OpenShift 集群域名作为子域预先填充。例如,集群中名为 user 且域为 example.com 的帐户的路由如下:
user.example.com
user.example.com
标准多租户部署包括:
- 主管理员用户
由
MASTER_NAME参数定义的 master 管理门户路由:<MASTER_NAME>.<WILDCARD_DOMAIN>
<MASTER_NAME>.<WILDCARD_DOMAIN>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 帐户管理员用户
由
TENANT_NAME参数定义的帐户管理门户路由:<TENANT_NAME>-admin.<WILDCARD_DOMAIN>
<TENANT_NAME>-admin.<WILDCARD_DOMAIN>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 帐户的开发人员门户路由:
<TENANT_NAME>.<WILDCARD_DOMAIN>
<TENANT_NAME>.<WILDCARD_DOMAIN>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生产环境和临时内置 APIcast 网关的路由:
<API_NAME>-<TENANT_NAME>-apicast-staging.<WILDCARD_DOMAIN> <API_NAME>-<TENANT_NAME>-apicast-production.<WILDCARD_DOMAIN>
<API_NAME>-<TENANT_NAME>-apicast-staging.<WILDCARD_DOMAIN> <API_NAME>-<TENANT_NAME>-apicast-production.<WILDCARD_DOMAIN>Copy to Clipboard Copied! Toggle word wrap Toggle overflow This example illustrates the output users and routes of a standard multitenant deployment of 3scale:
This example illustrates the output users and routes of a standard multitenant deployment of 3scale:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ---- --> Deploying template "3scale-project/3scale-api-management" for "amp.yml" to project project
---- --> Deploying template "3scale-project/3scale-api-management" for "amp.yml" to project projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow 3scale API Management --------- 3scale API Management main system
3scale API Management --------- 3scale API Management main systemCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
master admin 添加的其他帐户将根据其名称分配一个子域。
7.4. 删除租户帐户 复制链接链接已复制到粘贴板!
7.4.1. 通过管理门户删除帐户 复制链接链接已复制到粘贴板!
通过这个过程,帐户会被计划删除,并在 15 天后删除。在调度删除期间:
- 用户无法登录帐户。
- 该帐户无法编辑,但主节点可以将帐户恢复为 批准 状态。
此外,租户的域(管理员域和开发人员门户)不可用,类似于实际删除。
先决条件:
- 登录您的 master admin 帐户。
流程
- 要查看帐户列表,请导航到 Accounts。
- 点击您要删除的帐户。
- 单击帐户名称旁边的 Edit。
- 在帐户详情页面中,单击 Delete 图标。
- 确认删除。
7.4.2. 通过控制台删除租户 复制链接链接已复制到粘贴板!
如果要删除具有即时效果的帐户,您可以通过控制台完成此操作:
使用以下命令打开控制台:
oc rsh -c system-master "$(oc get pods --selector deploymentconfig=system-app -o name)" bundle exec rails console
oc rsh -c system-master "$(oc get pods --selector deploymentconfig=system-app -o name)" bundle exec rails consoleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下行立即删除:
tenant = Account.find(PROVIDER_ID) tenant.schedule_for_deletion! DeleteAccountHierarchyWorker.perform_later(tenant)
tenant = Account.find(PROVIDER_ID) tenant.schedule_for_deletion! DeleteAccountHierarchyWorker.perform_later(tenant)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 每行的工作方式如下:
-
第 1 行:查找帐户并将其保存在变量
租户中。 - 第 2 行:计划要删除的帐户。只有在您尚未通过管理门户计划删除时,才需要这样做。
- 第 3 行:仅当您计划删除帐户或暂停删除时,才会在后台进程中删除租户。如果帐户处于 批准 状态,则不会继续删除。
-
第 1 行:查找帐户并将其保存在变量
7.5. 恢复租户帐户 复制链接链接已复制到粘贴板!
恢复租户帐户意味着恢复计划删除的帐户。您可以在调度删除后最多恢复租户帐户 15 天。
恢复帐户后:
- 所有以前的应用都存在。
- 所有历史统计数据仍保留。
- 所有有效的令牌再次有效。
- 应用开始再次授权.
先决条件:
- 登录您的 master admin 帐户。
流程
- 要查看帐户列表,请导航到 Accounts。
- 点击您要删除的帐户。
- 在帐户详细信息下,点击 Resume。
- 单击确定以确认要恢复该帐户。
部分 III. 服务发现 复制链接链接已复制到粘贴板!
第 8 章 服务发现 复制链接链接已复制到粘贴板!
使用红帽 3scale API 管理的服务发现功能,您可以从 OpenShift 导入服务。
8.1. 关于服务发现 复制链接链接已复制到粘贴板!
通过使用服务发现,您可以扫描以查找在同一 OpenShift 集群中运行的可发现 API 服务,并将关联的 API 定义自动导入到 3scale 中。
您还可以随时更新 API 集成和 Open API 规格,然后与集群重新同步它们。
服务发现提供以下功能:
- 使用集群 API 查询已正确注解用于发现的服务。
- 配置 3scale 以使用集群内部端点访问服务。
- 将 Open API 规格(Swagger)导入到版本 2.0 作为 3scale ActiveDocs。
- 支持 OpenShift 和红帽单点登录(RH SSO)授权流。
- 使用红帽 Fuse,从 Fuse 版本 7.2 开始.
当您导入可发现的服务时,它会保留其命名空间。
- 对于 3scale 内部安装,3scale API 供应商可能有自己的命名空间和服务。发现的服务可以与 3scale 现有和本地服务共存。
- Fuse 可发现服务部署到 Fuse 产品命名空间中。
8.1.1. 可发现服务的标准 复制链接链接已复制到粘贴板!
API 服务必须满足以下标准,以便 3scale 服务发现才能找到它:
API 规格的
Content-Type标头必须是以下值之一:-
application/swagger+json -
application/vnd.oai.openapi+json -
application/json
-
OpenShift Service Object YAML 定义包括以下元数据:
-
discovery.3scale.net标签:(必需)设置为 "true"。3scale 执行选择器定义以查找需要发现的所有服务时,它会使用此标签。 以下注解:
discovery.3scale.net/discovery-version:(可选)3scale 发现过程的版本。discovery.3scale.net/scheme:(必需)托管该服务的 URL 的 scheme 部分。可能的值有 "http" 或 "https"。discovery.3scale.net/port:(必需)集群中服务的端口号。discovery.3scale.net/path:(可选)托管服务的 URL 的相对基本路径。当路径位于 root("/")时,您可以省略此注解。discovery.3scale.net/description-path:服务的 OpenAPI 服务描述文档的路径。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
如果您是一个具有管理特权的 OpenShift 用户,您可以在 OpenShift 控制台中查看 API 服务的 YAML 文件:
- 选择 Applications> Services。
-
选择服务,如
i-task-api,以打开其 Details 页面。 - 选择 Actions> Edit YAML 以打开 YAML 文件。
- 查看完后,选择 Cancel。
8.2. 配置服务发现 复制链接链接已复制到粘贴板!
作为 3scale 管理员,您可以使用或不使用 OAuth 服务器来配置服务发现。
先决条件
- 您必须将 3scale 2.6 部署到 OpenShift 集群(版本 3.11 或更高版本)。
- 若要将 3scale 部署到 OpenShift,您需要使用 3scale-amp-openshift-templates。
- 想要使用服务发现 3scale 的 3scale 用户必须有权访问 OpenShift 集群。
8.2.1. 使用 OAuth 服务器配置 复制链接链接已复制到粘贴板!
如果您使用 Open Authorization (OAuth)服务器配置 3scale 服务发现,当用户登录到 3scale 时会出现这种情况:
- 用户重定向到 OAuth 服务器。
- 如果用户尚未登录到 OAuth 服务器,则会提示该用户登录。
- 如果这是用户首次使用 SSO 实施 3scale 服务发现,OAuth 服务器会提示您授权执行相关操作。
- 用户重定向到 3scale。
要使用 OAuth 服务器配置服务发现,有以下选项:
8.2.1.1. 使用 OpenShift OAuth 服务器 复制链接链接已复制到粘贴板!
作为 3scale 系统管理员,您可以使用 OpenShift 内置的 OAuth 服务器来单独验证和授权 3scale 来发现 API。
为 3scale 创建 OpenShift OAuth 客户端。如需有关 OpenShift 身份验证的更多详细信息,请参阅 OAuth 客户端。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 打开 3scale 服务发现设置文件:
oc project <3scale-project> $ oc edit configmap system$ oc project <3scale-project> $ oc edit configmap systemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 配置以下设置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确保用户有适当的权限来查看包含可发现服务的集群项目。
要授予管理员用户(由 <user> 表示),对于包括了一个服务的 <namespace> 项目的查看权限可以被发现,使用以下命令:
oc adm policy add-role-to-user view <user> -n <namespace>
oc adm policy add-role-to-user view <user> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修改
configmap后,您需要重新部署system-app和system-sidekiqpod 以应用更改。oc rollout latest dc/system-app oc rollout latest dc/system-sidekiq
oc rollout latest dc/system-app oc rollout latest dc/system-sidekiqCopy to Clipboard Copied! Toggle word wrap Toggle overflow
其他备注
默认情况下,OpenShift OAuth 会话令牌会在 24 小时后过期,如 OpenShift Token Options 所述。
8.2.1.2. 使用 RH-SSO 服务器(Keycloak) 复制链接链接已复制到粘贴板!
作为系统管理员,您可以允许用户单独验证并授权 3scale 使用 Red Hat Single Sign-On for OpenShift 发现服务。有关将 OpenShift 配置为使用 RH-SSO 部署作为 OpenShift 授权网关的示例,您可以参考此 工作流。
在 Red Hat OAuth 服务器(Keycloak)中为 3scale 创建 OAuth 客户端。
注意在客户端配置中,验证
用户名是否映射到preferred_username,以便 OpenShift 可以链接帐户。编辑 3scale 服务发现设置。
oc project <3scale-project> $ oc edit configmap system$ oc project <3scale-project> $ oc edit configmap systemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证是否已配置这些设置。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确保用户具有适当的权限,可以查看包含可发现服务的集群项目。
例如,要为
<namespace>项目提供<user>视图权限,请使用这个命令:oc adm policy add-role-to-user view <user> -n <namespace>
oc adm policy add-role-to-user view <user> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
修改
configmap后,您需要重新部署system-app和system-sidekiqpod 以应用更改。
其他备注:
- 令牌寿命:默认情况下,会话令牌在一分钟后过期,如 Keycloak - Session 和 Token Timeouts 所示。但是,建议将超时设为可接受值为一天。
8.2.2. 在没有 OAuth 服务器的情况下配置 复制链接链接已复制到粘贴板!
要在不使用 OAuth 服务器的情况下配置 3scale 服务发现,您可以使用 3scale 单服务帐户对 OpenShift API 服务进行身份验证。3scale 单服务帐户为集群提供无缝身份验证,以进行服务发现,而无需用户级别的授权层。所有 3scale 租户管理用户对集群具有相同的访问权限级别,同时通过 3scale 发现 API 服务。
流程
验证 3scale 项目是否为当前项目。
oc project <3scale-project>
$ oc project <3scale-project>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在编辑器中打开 3scale 服务发现设置。
oc edit configmap system
$ oc edit configmap systemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证是否已配置以下设置:
service_discovery.yml: production: enabled: <%= cluster_token_file_exists = File.exists?(cluster_token_file_path = '/var/run/secrets/kubernetes.io/serviceaccount/token') %> bearer_token: "<%= File.read(cluster_token_file_path) if cluster_token_file_exists %>" authentication_method: service_accountservice_discovery.yml: production: enabled: <%= cluster_token_file_exists = File.exists?(cluster_token_file_path = '/var/run/secrets/kubernetes.io/serviceaccount/token') %> bearer_token: "<%= File.read(cluster_token_file_path) if cluster_token_file_exists %>" authentication_method: service_accountCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为 3scale 部署
amp服务帐户提供相关权限,以便查看包含可发现服务的项目:为 3scale 部署
amp服务帐户授予查看集群级别权限。oc adm policy add-cluster-role-to-user view system:serviceaccount:<3scale-project>:amp
oc adm policy add-cluster-role-to-user view system:serviceaccount:<3scale-project>:ampCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 应用更严格的策略,如 OpenShift - Service Accounts 所述。
8.3. 发现服务 复制链接链接已复制到粘贴板!
您可以发现一个与 OpenAPI 规范(OAS 也称为 Swagger 规格)对应的新 API 服务(如果适用);可在集群中发现该 API 服务以使用 3scale 管理。
先决条件
-
OpenShift 管理员为 OpenShift 集群配置了 Service Discovery。例如,对于 Fuse Online API,OpenShift 管理员必须将 Fuse Online 服务的
CONTROLLERS_EXPOSE_VIA3SCALE环境变量设置为true。 - 3scale 管理员为服务发现配置了 3scale 部署,如 第 8.1 节 “关于服务发现” 所述。
- 您知道 API 的服务名称及其命名空间(OpenShift 项目)。
- 3scale 管理员已授予 3scale 用户或服务帐户(取决于配置的验证模式),以查看 API 服务及其命名空间。详情请查看 第 8.4 节 “授权 3scale 对 OpenShift 项目的访问权限”。
- API 服务部署到安装 3scale 的同一个 OpenShift 集群上。
- API 具有启用服务发现的正确注解,如 第 8.1 节 “关于服务发现” 所述。
流程
- 登录 3scale 管理门户。
- 从管理门户的控制面板,单击 New API。
选择 Import from OpenShift。
- 如果 OAuth 令牌无效,OpenShift 项目管理员应 授权对 3scale 用户的访问权限。
-
在 Namespace 字段中,指定或选择包含 API 的 OpenShift 项目,如
fuse。 -
在 Name 字段中,键入或选择该命名空间中的 OpenShift 服务的名称,如
i-task-api。 - 点 Create Service。
-
等待新 API 服务异步导入到 3scale。在管理门户的右上角出现一条消息:
将很快导入该服务。You will receive a notification when it is done.
后续步骤
有关管理 API 的信息,请参阅 Red Hat 3scale API 管理文档。
8.4. 授权 3scale 对 OpenShift 项目的访问权限 复制链接链接已复制到粘贴板!
作为 OpenShift 项目管理员,您可以在 OAuth 令牌无效时授权 3scale 用户访问命名空间。
先决条件
- 您需要具有作为 OpenShift 项目管理员的凭据。
-
OpenShift 管理员为 OpenShift 集群配置了 Service Discovery。例如,对于 Fuse Online API,OpenShift 管理员必须将 Fuse Online 服务的
CONTROLLERS_EXPOSE_VIA3SCALE环境变量设置为true。 - 3scale 管理员为服务发现配置了 3scale 部署,如 第 8.1 节 “关于服务发现” 所述。
- 您知道 OpenShift 项目的 API 服务名称及其命名空间。
- API 服务部署到安装 3scale 的同一个 OpenShift 集群上。
- API 具有启用服务发现的正确注解,如 第 8.1 节 “关于服务发现” 所述。
流程
- 单击 Authenticate 以启用此选项 链接。
- 使用命名空间管理员凭据登录 OpenShift。
- 点 Allow selected permissions 授权 3scale 用户的访问权限。
后续步骤
有关管理 API 的信息,请参阅 Red Hat 3scale API 管理文档。
8.5. 更新服务 复制链接链接已复制到粘贴板!
您可以使用集群中该服务的当前定义在 3scale 中更新(刷新)现有 API 服务。
前提条件
该服务之前从集群中导入/发现。
流程
- 登录 3scale 管理门户。
- 导航到 API 服务的 Overview 页面。
- 单击 Source: OpenSource 旁边的 Refresh 链接。
- 等待新 API 服务异步导入到 3scale。
部分 IV. Access control 复制链接链接已复制到粘贴板!
第 9 章 定义 API(Methods 和 Metrics) 复制链接链接已复制到粘贴板!
要在 3scale 中定义您的 API,请导航到 [Your_API_service] > Integration > Methods & Metrics 并添加您的方法和指标。
通过指标,您可以跟踪 3scale 中 API 的使用。hits 是内置指标,它存在于每个 API 服务中,用于跟踪对您的 API 的点击。您可以通过在 Hits 指标下定义 Methods,实现对 API 使用跟踪的精细。报告方法的流量将自动增加方法和 Hits 指标的计数器。您可以为 API 的每个端点或端点和 HTTP 方法组合定义单独的方法。请参阅 Mapping rules 部分,了解如何将 API 的端点映射到此处定义的方法。
对于除点击外的 API 测量使用情况,您可以定义一个新的Metric(指标数据),并在不同的单元中报告使用情况。单元应该可以量化并应用适合您的业务目标的含义,如兆字节、CPU 时间、API 返回的元素数量等。默认情况下,点击 以外的所有指标(如 CPU 时间或 mb )都不包含在 3scale 上,且必须使用用户配置的外部服务定期调用端点报告。
方法和指标也是打包 API 的方法和指标:每个应用程序计划都允许您为每个方法和指标定义不同的使用限值和定价规则。
您可以在分析部分查看报告到指标和方法的使用。
9.1. 手动添加方法和指标 复制链接链接已复制到粘贴板!
导航到 [Your_API_name] > Integration > Methods & Metrics。
- 单击 New method。
指定参数:
- 友好名称是方法的简短描述,它显示在 3scale 管理门户的不同部分中。此名称对于服务必须是唯一的。
-
系统名称是用于通过 3scale 服务管理 API 报告使用情况的方法名称。它还必须是唯一的,且它应该仅包含字母数字字符、下划线
_、连字符-和正斜杠/,没有空格。除此之外,您可以自由决定系统名称的方式,它可以与端点("/status" 完全相同,或者可以包括方法和路径("GET_/status")。 Description 字段可用于更加详细地描述方法,它是可选的。
- 最后,单击创建方法按钮。
您稍后可以更改该方法的定义。只需单击方法名称(在列中的 Method 中),更新字段并单击"更新方法"。
在更改方法和指标的系统名称或删除它们时,请非常小心!如果存在映射到方法先前系统名称的映射规则,则可能会破坏您已部署的 3scale 集成。
要创建新指标,请单击 New metric 并提供所需的参数。在指定单元时,请使用 singular noun (如 "hit"),因为它将在分析图表中自动复数。
这些新的方法和指标将在您的当前和未来的计划中可用。现在,您可以在每个计划上编辑限制和定价规则,进入 [Your_API_service] > Applications > Application Plans > [plan_you_want_to_edit]。
9.2. 自动导入方法和指标 复制链接链接已复制到粘贴板!
如果您的 API 具有很多端点,我们提供了在 3scale 上自动创建方法和指标的另外一种方法:
第 10 章 应用计划 复制链接链接已复制到粘贴板!
应用计划定义了您可能要允许的 API 用户的不同访问权限集。它们可以决定速率限值中的任何内容,哪些方法或资源可以访问以及启用了哪些功能。
10.1. 如何创建应用程序计划 复制链接链接已复制到粘贴板!
默认情况下,当您创建 3scale 帐户时,会给出两个计划: Basic 和 Unlimited。您可以保留并编辑这些设置,也可以自行创建。您可以根据需要创建更多计划。
要创建新应用程序计划,请按照以下步骤执行:
- 进入 [Your_API_service] > Applications > Application Plans。
- 单击 'Create Application Plan'。
在下一屏幕中,为您的新计划选择一个名称和系统名称(系统名称必须是唯一的)。如果应用程序需要批准? 复选框,则不会在没有批准的情况下访问您的 API。
10.2. 设置默认应用程序计划 复制链接链接已复制到粘贴板!
创建完所有计划后,您可以在注册应用程序的人员选择默认计划。要做到这一点,请导航到 [Your_API_service] > Applications > Application Plans,然后选择默认计划:
如果您没有指明默认的应用计划,当新用户注册以访问您的 API 时,默认不会创建应用程序(提示他们不会真正获得对 API 的访问)。
第 11 章 映射规则 复制链接链接已复制到粘贴板!
在定义 API 创建 方法和指标 后,您可以将 API 端点或路径映射到您在定义页面中定义的方法。要做到这一点:
- 导航到 [Your_API_service] > Integration > Configuration > Edit APIcast configuration,并在页面中找到 Mapping rules 部分。
- 选择 HTTP 方法,该方法位于特定的端点路径上
- 选择要映射的等效方法。同一端点上的不同操作(GET、PUT、POST、DELETE 等)可以单独跟踪。
定义映射规则的工作流如下:
点 Add Mapping Rule 链接来添加新的规则。然后,选择 HTTP 方法、模式、指标(或方法)及其递增。完成后,点 Update & Test Staging Configuration 按钮。
- 下一次重新加载时将灰显映射规则,以防止意外修改。
- 要编辑现有的映射规则,您必须首先通过单击右侧的铅笔图标启用编辑。要删除规则,请点击红色垃圾图标。当您点击 Update & Test Staging Configuration 按钮时,将保存编辑、修改和删除。
完成设置后,您可以测试与 Staging APIcast 云网关的 集成,以确保您的设置在生产中正常工作。
如果正确设置所有参数和映射规则,您应该会看到一个绿色行,显示 3scale 和 API 后端 之间的正确测试集成。
第 12 章 调配付费计划 复制链接链接已复制到粘贴板!
货币化 API 的最常用方法是根据使用情况定义订阅费用。本节重点介绍如何使用应用计划调配定价层。也可以在帐户和服务级别应用定价规则 - 这些主题在高级指南中阐述。
在下面,您将了解应用程序计划的定价选项以及如何设置付费计划。
12.1. 对您的定价模型做出决策 复制链接链接已复制到粘贴板!
第一个决策是区分定价模式中的分层。层是否由卷/使用、API 功能、对其他资源的访问或组合驱动?
- 卷/使用情况.区分不同分层的最常见方法是基于卷,因为卷通常与客户的值以及服务成本紧密相关。您可以对 API 的调用应用全局点击数,或在方法级别上更精细地测量。
- 功能.您可以根据层启用或禁用对 API 部分的访问。这是区分标准和高级的好方法。
- 资源.您还可以根据对为客户提供价值的其他资源的访问创建层,或驱动基础架构中的成本 - 例如,所使用的带宽、用户数或事务值。
在决定价格驱动程序后,您必须确定是否基于平板费率订阅、可变费率或一次性前期收费。上述所有三个定价驱动程序均与一个脱机或每月平价订阅兼容。如果您根据点击量或资源消耗决定您的定价,那么您的定价当然会有一个可变因素。
12.2. 使用您的定价规则设置应用程序计划 复制链接链接已复制到粘贴板!
您可以创建新应用计划或编辑现有应用程序计划。在创建新应用程序计划时,您可以输入任何前期费用或无格式费率订阅。
在编辑应用程序视图中,您可以输入或修改前期收费和订阅。
接下来,设置在第 1 步中决定的定价驱动程序。如果其中一些已作为指标存在,只需编辑项目。
- 卷驱动程序: 在全局 hits 指标级别或点击下的单个方法应用。多个定价规则可应用于任何指标。请注意,点击计算用一个月的计费周期累计。
- 通过启用或禁用此计划的指标来设置 功能驱动程序。
- 资源驱动程序 与卷驱动程序类似,但应用于自定义指标。
完成设置定价规则后,请务必点击"更新应用程序计划"。
12.3. 创建进一步的定价层 复制链接链接已复制到粘贴板!
使用单个应用程序计划定义 API 付费计划是好的。通常,如果所有定价规则都由卷或资源驱动程序定义,则情况通常是如此。但是,如果您要为开发人员社区的不同部分提供单独的计划,则需要添加更多应用程序计划。
执行此操作的最简单方法是从应用计划概览页面复制第一个应用计划。这样,它将预先填充所有现有的指标和定价规则。第一次创建完整计划时,计划复制功能的保存时间就越高。
12.4. 置备付费计划 复制链接链接已复制到粘贴板!
为了调配计划,开发人员必须创建新应用程序并选择新付费计划之一。您还可以从管理控制台代表他们执行此操作。对于任何现有应用程序,也可以从现有计划更改为新付费计划之一。
12.5. 更多信息 复制链接链接已复制到粘贴板!
与扁平定价计划相结合,通常使用速率限值来区分不同的分层。这在 规定速率限值中解释
第 13 章 置备速率限制 复制链接链接已复制到粘贴板!
通过速率限制,您可以节流对 API 资源的访问。您可以使用应用计划为不同的开发人员段配置不同的限值。
达到速率限值后,这些限制将控制开发人员在向 3scale 后端发出授权请求调用时收到的响应。
13.1. 进入应用程序计划 复制链接链接已复制到粘贴板!
如果您尚未定义应用计划,请首先创建一个。否则,请选择您要为 设定速率限值的计划,然后单击 edit。
13.2. 设置速率限值 复制链接链接已复制到粘贴板!
13.3. 更新应用计划 复制链接链接已复制到粘贴板!
当您完成设置所需的限值后,点 Update Application plan 保存您的更改。
13.4. 将新速率限制置于操作中 复制链接链接已复制到粘贴板!
现在您已经定义了速率限值,现在会出现以下情况:
- 如果您已经配置了警报,将使用新的限制来决定通知的发送时间。
-
当您对 3scale 后端进行授权调用时,会考虑限制,响应将具有状态代码
409。在这种情况下,APIcast API 网关会向客户端发送一个响应,它的状态代码为429 Too Many Requests,以及消息Limits exceeded。
当您的速率限制正常运行后,您会看到达到仪表板限制的用户,以便快速轻松地检查潜在计划升级候选者。
有关软限制和硬限制的更多信息,您应该读取 1.1.3.2。在 Quickstart 指南中的使用应用程序计划配置 API 访问策略。
13.5. 更多信息 复制链接链接已复制到粘贴板!
除了设置速率限制外,您还可以为同一指标设置变量定价规则 - 请参阅 置备已付计划
部分 V. 账单 复制链接链接已复制到粘贴板!
第 14 章 配置 Billing 设置 复制链接链接已复制到粘贴板!
本文档描述了 Billing 功能如何在 3scale 中工作。
账单设置划分为计费 网关 和 信用卡政策,两者均可在管理门户的 Audience > Billing 中找到。
14.1. 计费模式(收费和网关) 复制链接链接已复制到粘贴板!
3scale 中的计费基于日历月份,可以是 Prepaid 和 *Postpaid。
- 在预付模式下,所有固定费用和设置费用均在月份开始时计费,或者在任何代理账单期开始时计费。变量成本始终在下月的开始计算和计费。
- 在美元支付模式下,所有固定费用及可变成本将在下个月开始计费。
如需更多详细信息,请参阅自动计费流程。
14.2. 启用计费(收费和网关) 复制链接链接已复制到粘贴板!
此设置可启用信用卡交易。出现此设置时,将通过选定的支付网关收取所有到期发票的费用。如果您关闭此设定,将开具账单并发出发票,但不会进行实际付款交易。
14.3. 货币(收费和网关) 复制链接链接已复制到粘贴板!
选择进行计费和信用卡交易的货币。请确定您的支付网关支持选定的货币。此设置是全局的,适用于所有发票和交易;无法为不同的开发人员帐户设置不同的规定。
14.4. 发票注脚(计费和网关) 复制链接链接已复制到粘贴板!
每张 PDF 发票的底部会显示在 Invoice footnote 字段中介绍的文本。您可以使用此字段为您的客户提供有关计费和计费策略的附加信息。
如果更改了 footnote 的文本,则它不会自动应用到已生成 PDF 的发票。但是,可以通过重新生成 PDF 发票来应用更改。
14.5. 文本显示 VAT/Sales Tax 是否为 0%(收费和网关) 复制链接链接已复制到粘贴板!
此字段用于向 PDF 发票中添加文本消息,以防 VAT/ Sales Tax 为 0% 的帐单帐户。仅当 VAT/ Sales Tax 明确设置为 0 时,才会显示此行,否则不会显示该行。此文本也将显示在管理门户的 Invoice 页面上。
有关此设置的更多信息,请参阅 VAT/ Sales Tax 部分
14.6. 发票 ID(计费和网关)的计费期间。 复制链接链接已复制到粘贴板!
3scale 中的发票具有两种类型的 ID:
- 实际 ID
- 唯一标识数据库中的发票。这是一个数字 ID,显示在发票 URL 中(即 https://<dashboard_domain>/buyers/accounts/<acount_id>/invoices/<invoice_id>),在 Billing API 中用作发票 ID。
- 友好 ID
- 显示在发票上,是用户友好的标识符。对于每个 3scale 帐户,它应该是唯一的,但技术上有可能具有重复友好的 ID。如果系统识别重复的 ID,它将显示警告:"This invoice id is already in use and should probably be changed"。如果友好的 ID 显示为"修复"超过 24 小时,请联系支持。
此设置定义了发票 Friendly ID 的格式:
- monthly(默认)
-
YYYY-MM-XXXXXX,即 ID 包括年、月和发票编号。示例:2018-02-00000013 - yearly
-
YYYY-XXXXXXXX,即仅包括年和发票编号。示例: 2018-00000001
将发票 ID 的计费周期从"月"更改为"年"的唯一影响是更改友好的 ID 格式,这不会更改计费周期,3scale API 管理只支持每月账单。如果您的会计部门有此类要求,则可以按年将发票 ID 的格式更改为年。
如果您每年需要向客户收取计费费用,则需要手动处理计费 - 您可以创建新发票并添加具有年度成本的行项。如果您更喜欢使用年费,您可能还希望将应用程序计划设置为免费,以确保每月自动生成发票和/或自动收取发票。
14.7. 信用卡政策 复制链接链接已复制到粘贴板!
您可以在此处配置指向以下页面的路径:
- 法律条款页面
- 隐私页面
- 退款页面
14.8. 信用卡网关 复制链接链接已复制到粘贴板!
3scale 与信用卡交易的以下支付网关集成:
- Braintree
- Stripe
Adyen 已被弃用。可以支持现有集成,但建议迁移到完全支持的支付网关之一: Stripe 和 Braintree。
14.8.1. 条带集成(推荐) 复制链接链接已复制到粘贴板!
完成这些步骤后,您要将 Stripe 配置为您帐户的支付网关。这将使开发人员输入他们的信用卡详细信息,并根据计算的发票,自动通过 Stripe 访问您的 API。
如果您为付费 API 启用信用卡付款,则一个关键步骤是设置您的 支付网关。您可以将多个替代支付网关用于 3scale 帐户。在这里,我们将介绍 Stripe 的步骤。
14.8.1.1. 先决条件 复制链接链接已复制到粘贴板!
在开始这些步骤前,您将需要打开一个 Stripe 的帐户。
14.8.1.2. 从 Stripe 获取您的 API 密钥 复制链接链接已复制到粘贴板!
登录到您的 Stripe 帐户,并在 https://dashboard.stripe.com/account/apikeys 获取您的 API 密钥。您需要两个键:一个"secret",以及一个"可发布"一个。当您准备好启动慈善时,请使用"test"设置。
14.8.1.3. 在 3scale 中配置设置 复制链接链接已复制到粘贴板!
您需要告诉 3scale 使用这些 API 密钥。要做到这一点,登录到 3scale 管理门户,然后进入 Audience > Billing > Charging & Gateway。
如果 Charging Enabled 标志未激活,请启用它并单击 Save。
您应该会在页面底部附近看到一个名为 Gateway 的下拉列表。将其更改为条带.
下拉菜单下的表单应更改为显示两个字段。插入您的 Stripe API 密钥并点 Save。
更改支付网关时,您可能会看到一些警告。这是预期的。读它们并接受它们(如果出现)。
支付网关现已设置,但您的用户可能还没有使用它,因为它没有配置 CMS。前往开发者门户,然后单击名为 pay Gateway / Show on the left navigation 窗格的模板。
如果还没有存在,在 {% "braintree_blue" %} 前添加以下代码:
最后,单击 Save and Publish。您的用户现在应该可以使用 Stripe 网关来支付。
要将 Stripe 数据与 3scale 上的数据映射,您可以使用名为 metadata.3scale_account_reference 的 Stripe 字段,该引用由 3scale-[ural_ID]-[DEVELOPER_ACCOUNT_ID]组成
14.8.2. Braintree 集成 复制链接链接已复制到粘贴板!
以下是设置 Braintree 网关以收费使用 API 的步骤。
14.8.2.1. 从 Braintree 获取您的 API 密钥 复制链接链接已复制到粘贴板!
您需要使用 Braintree 打开一个客户。您需要一个网关和 Merchant 帐户加上 Vault。作为可选的额外选择,您可以选择允许 American Express 卡作为支付方式。
首先,登录到您的 Braintree 帐户。然后,在 Account > MyUser 区域中找到您的 API 密钥:
API 密钥页面仍然隐藏私钥,因此请选择查看它的选项:
最后,您有 3scale 账单设置所需的公钥、私钥和 Merchant ID:
14.8.2.2. 在 3scale 中配置设置 复制链接链接已复制到粘贴板!
您需要告诉 3scale 使用这些 API 密钥。要做到这一点,登录到 3scale 管理门户,再进入 Audience > Billing > Charging & Gateway。
确保账单页面中指定的货币类型与 Braintree merchant 帐户中使用的货币类型相符。
如果 Charging Enabled 标志未激活,请启用它并单击 Save。
您应该会在页面底部附近看到一个名为 Gateway 的下拉列表。将它更改为 Braintree(Blue Platform)。
下拉菜单下的表单应更改为显示两个字段。插入 Braintree 键并点 Save。
更改支付网关时,您可能会看到一些警告。这是预期的。读取并接受(如果它们显示)。
您的用户现在应该能够使用 Braintree 网关支付费用。
要将 Braintree 中的数据映射到 3scale 上的数据,您可以使用名为 customer.id 的 Braintree 字段,它由 3scale-[PROVIDER_ID]-[DEVELOPER_ACCOUNT_ID]组成。
14.8.2.2.1. 故障排除 复制链接链接已复制到粘贴板!
如果您的帐户处于沙盒模式,并且您遇到任何问题,您必须将其更改为生产。
14.8.3. 弃用的支付网关 复制链接链接已复制到粘贴板!
本节提供有关已弃用支付网关的一般信息:Adyen。此处的信息仅用于现有集成。不支持与这些网关的新集成。
14.8.3.1. Adyen 集成 复制链接链接已复制到粘贴板!
Adyen 集成已被弃用。不支持新的集成。对于 2019 年 8 月 22 日之前存在的集成,红帽提供支持,但建议迁移到完全支持的支付网关之一: Stripe 和 Braintree。
完成这些步骤后,您要将 Adyen 配置为您帐户的支付网关。这将使开发人员输入他们的信用卡详细信息,并根据计算的发票,自动通过 Adyen 访问您的 API。
设置您的支付网关是使信用卡收费使用付费 API 的关键步骤。您可以将多个替代支付网关用于 3scale 帐户。在这里,我们介绍了 Adyen 的步骤。
14.8.3.1.1. 先决条件 复制链接链接已复制到粘贴板!
- 在开始这些步骤前,您需要使用 Adyen 打开一个帐户。
- 您需要一个 公司帐户 和一个 Merchant 帐户(子帐户)。
- 在通过 Adyen 应用实时帐户之前,必须满足许多要求。您可以在此处查看这些要求。https://docs.adyen.com/support/getting-started#howtogetanadyenliveaccount
- 帐户应处于 production 模式。
14.8.3.1.2. 配置 Adyen 集成 复制链接链接已复制到粘贴板!
在您的 Adyen 帐户中找到信息
- 首先,登录到您的 Adyen 帐户。然后,在 Settings > Users 区域中找到您的凭证,并在以下视图中从下拉菜单中选择 System :
- 单击 Company 帐户(列表顶部的帐户)。然后您将进入 Company 帐户设置视图:
- 最后,您可以访问 登录、Secret 密码、客户端加密公钥、Merchant ID 和库位置,您需要进行 3scale 账单设置。
- 要查看 公钥,您必须单击 Generate Password 并在某个位置复制此密码。
在 3scale 帐户中配置您的支付网关
- 在 Audience > Billing > Charging & Gateway 中,选中复选框并点 Save 来启用计费。
- 您将看到您需要设置的所有字段来创建到 Adyen 网关的链接。
- 您必须从 网关 下拉菜单中选择 Adyen 并保存更改。
在 Adyen API 响应中启用 别名 附加数据
默认情况下,当信用卡授权请求从 3scale 发送到 Adyen 时,返回的响应不包括信用卡的唯一标识符。
为确保将正确的信用卡引用保存在 3scale 中,并收取正确的卡,需要启用额外的数据。
联系 Adyen 支持,以在响应授权请求中启用 别名 附加数据。
测试您的计费工作流
- 通过启用 Prepaid Mode 在一天中生成收费,确保您加快测试周期。
然后,选择现有的测试帐户,并创建添加行项目收费的发票。
- 立即收取帐户费用。
- 这种测试方法将产生一些细微成本,但值得注意的是,在获得使用 API 真实付费开发人员之前,一切都可以正常工作。
支付网关现已设置,但您的用户可能还没有使用它,因为它没有在 CMS 中配置。前往开发人员门户选项卡,找到名为 Payment Gateway / Show on the left navigation 窗格的模板。
如果还没有存在,请在代码块的 "stripe" %}开头后添加以下代码片段。
-
要将 Adyen 数据映射到 3scale 上的数据,您可以使用名为
shopperReference的 Adyen 字段,它由3scale-[PROVIDER_ID]-[DEVELOPER_ACCOUNT_ID]组成
第 15 章 定价 复制链接链接已复制到粘贴板!
本节论述了您可以向开发人员支付使用 API 的不同方法。
- 设置费用
- 是订阅服务时应用的一次性收费,切换至另一计划时不收取额外费用。它仅在订阅的第一个月出现在发票/信用卡中。可以在应用计划、服务计划和帐户计划上配置.
- 每个月的成本
- 是每月定期收取的费用。如果订阅在半月中发生,则按比例分配。有时它称为"固定费用"。可以在应用计划、服务计划和帐户计划上配置.
- 变量成本
- 是从应用计划中所配置的各个方法/指标的定价规则获得的成本。它们基于您的 API 的使用情况,因此不能提前知道,只有在计费周期结束时才会知道。仅适用于应用计划.
示例
If you have a plan with monthly cost of $10, but want to charge your developer a $5 setup fee. The initial charge would be for $15, while all subsequent charges would be for $10.
If you have a plan with monthly cost of $10, but want to charge your developer a $5 setup fee. The initial charge would be for $15, while all subsequent charges would be for $10.
15.1. 定价规则 复制链接链接已复制到粘贴板!
定价规则定义每个 API 请求的成本。同一指标的多个定价规则在适用定价规则时划分了范围。定价规则基于日历月份,计数器在每月第 1 天的 00:00 UTC 重置。
示例 1
Until 100 calls per month (from 1 to 100) each API call can be charged at $0.04, and starting from the call 101 (from 101 to infinity) the calls are charged at $0.10.
Until 100 calls per month (from 1 to 100) each API call can be charged at $0.04, and starting from the call 101 (from 101 to infinity) the calls are charged at $0.10.
示例 2
The first 1000 calls are not charged (cost $0), because they are included in the plan which has a monthly fixed cost. Starting from call 1001, each call is charged at $0.50.
The first 1000 calls are not charged (cost $0), because they are included in the plan which has a monthly fixed cost. Starting from call 1001, each call is charged at $0.50.
示例 3
Calls from 1 to 100 are charged at $0.30, 100 to 500 – at $0.40, and 500 and further – at $0.50.
Calls from 1 to 100 are charged at $0.30, 100 to 500 – at $0.40, and 500 and further – at $0.50.
为指标和方法定义定价规则。实际的 API 请求通过映射规则映射到这些指标和方法。
15.2. 设置定价规则 复制链接链接已复制到粘贴板!
- 前往 [Your_API_service] > Applications > Application Plans。
- 选择现有应用计划或创建新应用计划。
- 在 Metrics, Methods, Limits and Pricing Rules 部分中,点 Pricing(x) 打开定价部分。
- 单击新定价规则.
- 设置每个单元的值,并点击 Create 定价规则。
重复最后两个步骤,以创建所有必要的定价规则范围。
将 To 字段留空,将规则设置为 " to infinity"。
指标成本的最大十进制数设置为 4,如果添加的数字包含更多十进制数,则该值将舍入到带有 4 十进制位置的数字。
15.3. 更新现有的定价规则 复制链接链接已复制到粘贴板!
- 单击"编辑"
- 对每单元字段的内容、To 和成本进行必要的调整。
- 单击 Update 定价规则。
第 16 章 账单 复制链接链接已复制到粘贴板!
计费流程在开发人员帐户下创建发票(如果已订阅任何付费服务)。发票通过配置的支付网关收取。
16.1. 列出发票 复制链接链接已复制到粘贴板!
在 Audience > Billing > Earning by month 部分,您可以找到您的到期和收到的付款概述,根据情况计算,计算为当月发出的所有发票的总和:
- 总计
- 所有发票(不包括取消的)
- 处理中
- 打开、最终化和待处理发票
- 到期未支付
- 失败和未支付的发票
- 已付
- 已支付的发票
单击具体月,您可以列出该月的所有发票。
您还可以通过转至 Audience > Billing > Invoices 来查看发票列表,您可以在其中按 ID(友好 ID)、帐户名称以及按月份和状态过滤发票。
特定开发人员帐户的发票也可在 Audience > Accounts > Listing > [selected account](其中 X 是帐户拥有的发票数)的面包屑导航页面的 X Invoices 下找到。
16.2. 发票视图 复制链接链接已复制到粘贴板!
如果单击发票列表中的发票友好 ID,您将看到发票的详细信息。
16.2.1. 发票详情 复制链接链接已复制到粘贴板!
标题包括发票的月份和年份,还显示了发票是手动创建的还是由自动化账单流程创建,例如 2018 年 2 月(手动创建)。
以下详细信息 块显示了发票的友好 ID、发票状态、发票完成和发布的日期,以及到期和付款的时间。如果 PDF 已经生成,则会显示下载 PDF 的链接。
Issued by 和 Issued to 部分表示 API 提供程序的名称和地址,以及相应的 developer 帐户。
以下将显示带有 line items 的部分,包括 VAT/Sales Tax 的计算、总成本,以及"Text 表示 VAT/Sales Tax 是否已配置 0%" 的文本,它也会在此处显示。
在发票的 Transactions 部分中,您可以看到所有信用卡交易尝试的列表,包括交易的状态、时间戳、参考号、支付网关提供的消息和数额。您可以使用参考号在支付网关管理员控制台中找到事务。
16.2.2. 编辑发票 复制链接链接已复制到粘贴板!
如果发票处于 Open 或 Finalized 状态,您可以编辑发票的一些详细信息。
单击发票视图右上角的 Edit 链接,您可以更改友好的 ID 和计费周期。
您还可以添加和删除发票项目(计算成本除外 - 总成本、VAT/销售税、总 VAT/销售税)。要添加新行项,请单击"添加"并填写"名称"、"数量" (不会影响成本)、描述和成本。
发票视图底部的链接可以触发对发票的操作 - 根据发票的当前状态,可以采取不同的操作,例如生成 PDF、问题发票 Cancel 发票、Regenerate PDF、Charge、Mark 等。这些操作(PDF 相关)将更改发票的状态。
16.3. 发票状态 复制链接链接已复制到粘贴板!
发票可处于以下状态之一:
- Open
- 已创建发票,但尚未完成自动计算。
- Finalized
- 发票中增加了所有当前计费周期费用。
- 待处理
- 发票已发送给开发人员,正在等待付款。
- Unpaid
- 发票的收费失败,但等待自动重试。
- Paid
- 发票已被成功收费。
- Failed
- 发票的收费不成功,不会再尝试自动重试。
- Cancelled
- 被管理员取消。
16.4. 自动计费流程 复制链接链接已复制到粘贴板!
在 3scale 中,账单流程每天运行。它生成发票,并根据计费流程更改其状态,并使用配置的支付网关来执行费用。
Prepaid 和 Postpaid 模式的计费流程略有不同,因为 3scale 中的账单基于日历月,当月的第一天发生特殊事件。
16.4.1. 在每个月的 1 天后 复制链接链接已复制到粘贴板!
Postpaid
- 上 个月的 Bill 变量成本(将成本作为开票的行项目)
- 完成上个月的开票
- Bill 固定当前月份的成本(为 当前月份 在 Open 状态创建新发票)
Prepaid
- 账单固定成本(当前月)
- 账单变量成本(上个月)
向 API 管理员发送有关本月初最终发票的通知,以便他们可以审查发票并进行必要的调整。
除上述操作外,每天执行的所有操作也在每月 1 天进行。
16.4.2. 每天 复制链接链接已复制到粘贴板!
- Bill 到期的试用期以及尚未计费的新合同(当前月的开放状态的 Invoices 已创建)。
- 预付 :最终最终将所有打开发票(状态更改为 Finalized)。
签发发票(状态更改为 Pending)。
- 发票通常在发票完成后签发 2-3 天。发票的 "Issued On" 日期设置为当前日期,"Due On" 日期(当发票被收费时)将设定为 Issued On 再加 2 天。
- 向开发人员签发发票时,他们会收到电子邮件通知,并可以在开发人员门户中看到签发的发票。
计费发票
- 如果 Due On 日期是今天或更早的,则 Unpaid 和 Pending 状态的发票将收取费用。
- 如果付款失败,发票状态将更改为 未支付。在 3 天后将再次尝试。3 次重试失败后,发票状态将更改为 Failed,并且不再重试计费。
通知过期的信用卡
- 信用卡即将过期的开发人员帐户会收到电子邮件通知。
16.4.3. 自动和手动发票 复制链接链接已复制到粘贴板!
由自动计费流程生成的发票在发票标头中具有"自动创建)"标签(例如."2019 年 1 月(自动创建)")
手动生成的发票将在发票详细信息页面上标记为" (手动创建)。
自动账单流程可能使用当前月份"打开"状态的现有发票来创建额外行项目,但只适用于自动创建的发票。手动创建的发票不会通过自动计费流程更新。
16.4.4. 月中升级 复制链接链接已复制到粘贴板!
如果在月中升级了某个应用程序(或帐户/服务订阅),则每月的成本将按月中的剩余天数进行相应调整。应用计划中配置的限值没有按比例来划分。
如果应用程序从免费升级到付费计划,下次运行账单时将生成一个新发票,包括按指数的每月成本。
当应用程序从付费计划升级到更为昂贵的支付计划时,行为取决于以下几个因素:
- Billing 的模式: Prepaid 或 Postpaid
- 当计划更改时
16.4.4.1. 预付账单 复制链接链接已复制到粘贴板!
如果申请计划 在同一计费日(账单日从创建时间 8: UTC 开始) 更改,且 之前未开具发票,则旧计划的固定成本将包含在发票中,并附带 'Refund' 行项。旧计划的固定成本也添加到发票中。
示例: 在月的第一天注册了计划 A(200$)的客户,并在同一天升级到 Plan B(300$) 。在这种情况下将生成一个发票,其中将包含以下行项目:
Expand 描述 Cost 固定费用('Plan A')
200
退款('Plan A')
-200
应用程序升级("Plan A"至"Plan B")
300
总计
300
请注意,如果客户在当月的另一天注册,则按比例计算 200 美元的成本和退款。
如果在已为此应用程序 签发发票后 更改了应用程序计划:
如果 升级,开发人员将签发两张发票:一个用于初始收费,另一发票用于升级。
示例: 在每月第一天为 Plan A(200$)注册的客户,然后在每月的中间升级到计划 B(300$)。将生成以下发票:
Expand 描述 Cost 固定费用('Plan A')
200
总计
200
Expand 描述 Cost 退款('Plan A')
-100
应用程序升级("Plan A"至"Plan B")
150
总计
50
在第二张发票中,当在账单期间进行升级时,将按比例计算重新支付成本(100$)和新成本(150$)。
- 目前不支持退款应用 降级 (更改为具有较低成本的计划)。
16.4.4.2. 邮付账单 复制链接链接已复制到粘贴板!
在 Post付费账单模式中,将发出单个发票,它将包括 "Refund" 和 "应用程序升级" 行项目。
重要信息:在 2018 年 4 月 20 日 中引入了此行为,但有以下变化:
- 修复了一个程序错误,其中在创建申请的当日升级时,发票中不包含初始收费(用于初始应用程序计划)。
- 在以前的版本中,应用程序升级中仅添加一行项,包括新计划成本和旧计划成本之间的差异。例如,在以上 预付账单 部分中描述的情景 2(从 Plan A - 200$ 升级到 Plan B - 300$),第二个生成的发票将是:
| 描述 | Cost |
|---|---|
| 应用程序升级("Plan A"至"Plan B") | 50 |
| 总计 | 50 |
其中 50$ 是本月剩余新计划与旧计划之间的按比例成本之间的差异(150$ - 100$)。
2018 年 4 月 20 日之后,计算结果在发票(包括单独退款和收费)中更清楚地反映,而总成本则与以前相同。
16.5. 启用/禁用每个帐户的计费/计费/计费 复制链接链接已复制到粘贴板!
自动化账单流程为订阅付费服务的所有开发人员帐户生成发票。
计费可以在全局范围内启用或禁用(请参阅 Billing 和 Charging 设置 ),但也可以启用或禁用每个开发人员帐户的计费和计费。要做到这一点,进入帐户页面并点击对应的按钮(启用/禁用):
- 每月账单已启用/禁用
- 每月收费已启用/禁用
如果收费被停用,并且启用了计费,开发人员将被签发发票,但不会收取费用。这在您单独处理计费时很有用(例如,电汇)。
如果两者均被禁用,则不会发布或收取开发人员费用。
如果账单被禁用,并且启用了收费,则不会向开发人员支付任何新的发票,但所有未付发票(Pending 和 Failed)仍会收费。
在此 Billing Status 块中,您还可以查看是否在帐户上配置了信用卡详细信息。如果配置了信用卡详细信息,则显示卡到期月份和年份。信用卡详情的存在可能会影响开发人员门户注册和计划更改的流(请参阅 第 16.9 节 “信用卡流”)。
16.6. 使用 Trial Period 的计划 复制链接链接已复制到粘贴板!
可以为付费计划设定试用期(按天数计),以延迟收取指定天数的费用。
在应用程序列表([Your_API_service] > Applications > Listing )中的应用程序将显示试用周期状态,在 State 列中显示为 "live - trial expires in N days",并在 Trial days left 字段中的应用程序详情页面中显示。
在试验期间,应用可以无限制地使用计划定义的所有功能和使用限制。
一旦设定了试用期,便无法取消或延长试用期。升级至其他计划将不会重置试用日计数器。
试用期到期 10 天前,将向开发人员帐户发送电子邮件通知,通知即将开始的试用期。这个电子邮件的模板可以在 Audience > Messages > Email Templates 中配置:对于应用程序计划,选择 "Application trial period expired for buyer",对于具有试用期的服务计划,选择 "Service trial period expired for buyer"。开发人员应保留在当前计划中,或者切换到另一个计划;或者,如果他们决定取消订阅,请联系 API 提供程序。
试用期结束后,开发人员将按照当前应用程序或服务的计划所设定的成本收取自动账单运行时间(请参阅 第 16.4 节 “自动计费流程”)。请注意,在试用期到期后,申请 不会被 阻止或暂停,并且将继续工作。
请注意,虽然技术上可以为免费计划设置试用期,但建议不要这样做,因为该功能会丢失其有用性。
16.7. VAT 速率/销售税 复制链接链接已复制到粘贴板!
增值税务(VAT)是一种税款,适用于在欧盟内部销售的产品和服务。在其他国家/地区也有类似的税款,例如销售税。收取客户使用 API 服务的 API 供应商通常还需要收取税款,并将其反映在发票中以符合现有法规。
3scale 账单配置后,可以在发票中自动包含 VAT。
16.7.1. 配置 VAT 速率字段 复制链接链接已复制到粘贴板!
VAT 费率是将应用于发票总成本的数字(以百分比表示)。要配置 VAT 费率,请从 Dashboard,按照管理门户中的以下步骤操作:
- 前往 Audience > Accounts > Fields Definitions。
- 单击 帐户 部分中的 Create。
-
在 [new field] 下拉列表中选择
vat_rate。 - 为 Label 设置一个值。
配置复选框,指明对于开发人员,该字段应为 Required, Read only 或 Hidden。
注意 :"选择"字段仅接受字符串,因此无法使用此字段。
- 点击 Create。
16.7.2. 配置 VAT 代码字段 复制链接链接已复制到粘贴板!
VAT 代码是 VAT 标识号。要配置 VAT 代码,请遵循管理门户中的以下步骤,从 Dashboard:
- 前往 Audience > Accounts > Fields Definitions。
- 单击 帐户 部分中的 Create。
-
在 [new field] 下拉列表中选择
vat_code。 - 为 Label 设置一个值。
- 配置复选框,指明对于开发人员,该字段应为 Required, Read only 或 Hidden。
- 点击 Create。
16.7.3. 为帐户设置 VAT 值 复制链接链接已复制到粘贴板!
添加 VAT 代码和 VAT 速率字段后,您可以在开发人员帐户编辑表单下设置对应的值。根据字段中所选择的复选框,这些字段也可由开发人员在开发人员门户中可见和/或编辑。
VAT 代码可以是任意字符串。
VAT 速率必须是数字。整数或十进制数字被接受(例如:21、23.5 等),它们表示将被包含为 VAT 的成本百分比。
16.7.4. VAT 的发票 复制链接链接已复制到粘贴板!
为配置了非零 VAT 费率的开发人员帐户生成发票时,发票将包括以下行项目:
_Total cost (without <VAT rate>)_ + _<VAT rate> Amount_ + _Total cost (<VAT rate> <VAT rate value>% included)_
_Total cost (without <VAT rate>)_ +
_<VAT rate> Amount_ +
_Total cost (<VAT rate> <VAT rate value>% included)_
<VAT rate> 将替换为 VAT rate 字段设置的 Label,而 <VAT rate value> 是为签发发票的帐户配置的值。
VAT 代码将包含在带有该标签的 PDF 版发票中,该标签在 VAT 代码字段定义中作为标签指定。该值将对应于 developer 帐户详细信息中设置的值。
字段 vat_rate 和 vat_code 也可由 3scale 帐户管理 API 读取和写入。
16.8. 开发者门户视图 复制链接链接已复制到粘贴板!
开发人员可以管理他们的信用卡信息,并在开发人员门户中查看他们的发票。
Audience > Developer Portal > Feature Visibility 中的 Finance 切换必须处于 可见 状态,以便开发人员查看开发人员门户中的与计费相关的元素。
登录的用户可以通过 Settings > Credit Card Details 更新信用卡详情。根据付款网关配置的支付网关,表单可能有所不同,用户可能需要先输入计费地址。
*note:* Credit 卡详情没有存储在 3scale API 管理数据库中,它由支付网关管理。只有信用卡号码的最后 4 位数字,到期日期以及支付网关提供的参考信息存储在 3scale API 管理数据库中。
开发人员只能在开发人员门户上有一个信用卡。
无法从开发人员门户中删除信用卡详情。希望删除其信用卡详细信息的开发人员帐户用户需要请求 API 供应商从系统中删除信用卡详细信息。
要查看发票,用户可以转到 Settings > Invoices,可以从那里显示每个发票的详情,或下载发票 PDF。
16.9. 信用卡流 复制链接链接已复制到粘贴板!
16.9.1. 注册一个付费计划 复制链接链接已复制到粘贴板!
当开发人员签署付费计划时,他们需要先输入信用卡详细信息,然后才能查看应用凭证。开发人员第一次登录到开发人员门户后,它们将重定向到 Credit Card Details 页面。尝试访问任何其他开发人员帐户页面将导致再次重定向到 Credit Card Details 页面。
如果您愿意,您可以使用 Liquid 标签自定义对应的开发人员门户模板来隐藏除 Credit Card Details 选项卡之外的所有菜单项。
current_account Liquid drop 会公开方法 require_cert_card_now? 如果缺少信用卡详细信息,此方法将返回 true (但仅在管理门户中配置了 Billing 时),否则返回 false。
您可以通过以下条件将它们封装在 子菜单 中的任何菜单项和其他 UI 元素和 users_menu 部分:
{% unless current_account.requires_credit_card_now? %}
...
{% endunless %}
{% unless current_account.requires_credit_card_now? %}
...
{% endunless %}
16.9.2. 从免费升级到付费计划 复制链接链接已复制到粘贴板!
对于计划更改现有应用,可以配置多个选项,包括开发人员直接更改计划或请求更改计划。如果应用程序从免费升级到付费计划,务必要确保开发人员在进行升级前输入信用卡详细信息。这可以在 [your_API_name] > Integration > Settings,Application Plan change 部分进行配置:
如果开发人员有信用卡,否则请直接更改计划,否则:
- 仅请求计划更改
- 已付费计划的请求信用卡条目
如果您只想让开发人员请求更改,请选择第一个选项,并在输入信用卡详细信息后手动执行升级。
如果您希望开发人员在升级到付费计划之前输入信用卡详细信息,请选择第二个选项。在计划选择器小部件中,开发人员将看到一条消息"You not change plan,除非您输入指向信用卡详细信息表单的 Credit Card 详细信息"。
16.10. "Perling address"字段 复制链接链接已复制到粘贴板!
当开发人员在开发人员门户中输入信用卡详细信息上的账单地址时,此地址将独立于"传统"帐户地址存储。
默认情况下,该法律地址会出现在 Issued to 字段中的 Invoices 中。但是,如果开发人员没有配置法律地址,而只配置计费地址,后者将用于发票(请注意: 在这种情况下,组织名称被视为地址的一部分)。
默认情况下,账单地址在管理门户或通过 API 中不可见,但您可以添加如下:
- 前往 Audience > Accounts > Fields Definitions。
- 在 Account 块下,单击 Create。
- 从下拉列表中选择"billing_address",添加标签,选中 Read only 复选框并单击 Create。
现在,<billing_address> 字段会出现在帐户管理 API 和 Webhook 的 XML 模型中。对应的账单地址将在帐户和管理门户的帐户编辑页面中以只读方式显示。
开发人员可以在开发人员门户中更改账单地址(在 Credit Card Details 部分中)。管理员不能更改管理门户中的计费地址,但可以使用以下字段(作为"附加字段")通过帐户管理 API 的帐户 编辑 端点来执行此操作:
第 17 章 电子邮件通知 复制链接链接已复制到粘贴板!
与计费相关的不同事件触发 API 提供程序和开发人员的电子邮件通知。
17.1. 供应商通知 复制链接链接已复制到粘贴板!
3scale 帐户的用户(具有 Billing 权限的管理员和成员)可以订阅或取消订阅与 帐户设置相关的通知(右上角的gear图标) > Personal > Notification Preferences (Billing 部分):
- 所需操作:审核发票
- 在计费周期结束前几天前发送,以便您可以在发票发送给客户之前审核发票。
- 客户降级
- 当客户更改每月固定价格的计划时发送。
- 信用卡过期
- 当客户的信用卡即将到期时发送。
- 支付错误(重试)
- 付款失败时发送,导致未付款发票和重试。
- 支付错误(最终)
- 付款的最终重试失败时发送,导致发票失败。
注意:3scale 帐户的所有管理员用户如果订阅了账单,将收到关于账单的通知。
17.2. 开发人员电子邮件 复制链接链接已复制到粘贴板!
发送到开发人员帐户的电子邮件通知可在 Audience > Messages > Email Templates 上配置。可用的电子邮件如下:
- 信用卡过期通知,用于买方
- 信用卡即将过期时发送。
- 成功向买方收取发票
- 发票成功收费后发送。
- 重试的买方的发票失败
- 发票收费失败时发送,并且发票处于故障状态,这意味着将再次退款。
- 对不重试的买家的发票失败
- 发票第 3 次失败,发票已转至未支付状态,不会再次申索。
- 即将对买家的发票收取费用
- 为开发人员签发发票时发送。
开发人员帐户的所有管理员用户将收到上述通知。
17.2.1. 账单电子邮件地址 复制链接链接已复制到粘贴板!
您可以在 Finance support email 项的 Audience > Messages > Support email 字段中配置您的客户可以联系以解决账单(如 billing@example.com)的电子邮件地址。
电子邮件模板引用了带有 Liquid drop {{ provider.finance_support_email }} 的电子邮件地址。
第 18 章 账单 API 复制链接链接已复制到粘贴板!
Billing API 提供了一种方式来自动化常见计费流程。
Billing API 的所有端点均可在管理门户的 Documentation(?)> 3scale API Docs > Billing API 下找到。
Billing API 需要有效的访问令牌,它满足以下要求:
- 它应属于 provider 帐户的 admin 用户或具有"Billing"权限的成员用户
- 它应包含"Billing API"范围
请注意,当需要发票 ID 作为参数时,它指的是发票 ID,而不是 友好发票 ID。
API 端点的 XML 响应大多自我解释,Invoice 的字段表示的信息与 web 和 PDF 表示法中的信息相同。
响应中的一些显著字段:
- creation_type :对于手动创建的发票为 'manual',对于 3scale 自动账单流程创建的发票为 'background'
- provider :API 提供程序(管理员帐户)的详细信息,对应于发票的 Issued by 部分。
- buyer :开发人员帐户的详细信息,对应于发票的 Issued to 部分。
发票的 XML 表示法还包括 line-items 字段下的行项目列表。
除了预期名称、描述、数量和成本(价格)之外的一些项目(通常是自动创建的项目),您可以看到以下内容:
type:行项的类型,可以是以下值:-
LineItem::PlanCost- 用于固定计划成本的行项 -
LineItem::VariableCost- 用于行项目的变量成本
-
-
metric_id:用于变量成本行项目 - 成本关联的指标 ID -
contract_id:与成本相关联的服务或应用程序的 ID
部分 VI. 管理开发人员帐户 复制链接链接已复制到粘贴板!
第 19 章 添加开发人员 复制链接链接已复制到粘贴板!
以下是添加新的开发人员帐户以访问您的 API 的步骤。
如果您已将工作流配置为手动邀请开发人员,这涵盖了如何添加新开发人员。
19.1. 创建新开发人员帐户 复制链接链接已复制到粘贴板!
- 遵循管理门户上 Audience 部分中的帐户链接。
- 点击 Create。
作为管理员,您甚至可以跳过一些必填字段。如果要安全地邀请用户访问 帐户,您也可以跳过密码字段。但是,此主要 admin 帐户上的电子邮件必须在所有用户之间唯一。
19.2. 设置应用程序 复制链接链接已复制到粘贴板!
如果要为帐户预配置应用密钥,您也可以代表开发人员添加应用。否则,请将此保留为开发人员要执行的初始步骤之一。
19.3. 通知开发人员 复制链接链接已复制到粘贴板!
您可以手动向开发人员发送电子邮件邀请,或者按照步骤使用 邀请开发人员 功能。
第 20 章 批准开发人员 复制链接链接已复制到粘贴板!
本节介绍如何批准注册工作流中的任何步骤。
当您使用手动批准步骤实施注册工作流后,您有几个选项:审批流程根据触发器和批准的内容稍有不同。如果您收到电子邮件通知,请按照以下部分中的说明操作。否则,它取决于您要批准帐户、服务还是应用程序。
20.1. 接受电子邮件通知的批准 复制链接链接已复制到粘贴板!
如果您(作为管理员)收到其中一个开发人员有待批准项目的电子邮件通知,您可以将项目的 URL 复制到浏览器中,然后它会把您直接转至页面进行批准。
20.2. 帐户批准 复制链接链接已复制到粘贴板!
要搜索特定帐户或过滤处于"pending"(用于批准)状态的所有帐户,请导航到 Audience > Accounts > Listing。要仅显示待处理的帐户,请在 State 下拉列表中选择 "Pending", 然后单击 搜索。
您可以在每行上直接进行单独批准,或者一次选择几行并执行批量批准。
20.3. 服务批准 复制链接链接已复制到粘贴板!
要搜索服务的特定订阅或过滤处于 "pending"(用于批准)状态的所有订阅,请导航到 Audience > Accounts > Subscriptions。
要查看订阅,请在 Audience > Accounts > usage Rules 中启用服务计划。
您可以一次选择一个订阅或多个订阅并执行批量批准。
20.4. 应用程序批准 复制链接链接已复制到粘贴板!
搜索应用程序或过滤处于"待处理"(用于批准)状态的所有应用程序:
- 导航到 Audience > Applications > Listing。
- 在 State 下拉列表中选择 "Pending", 然后单击 搜索。
您可以一次选择一个应用程序或多个应用程序并执行批量批准。
您也可以从开发人员帐户的详情页面开始,选择您要从那里批准的应用程序,然后对应用程序详情页面进行批准。
第 21 章 更改应用程序计划 复制链接链接已复制到粘贴板!
在本节后,您将能够更改帐户、服务或应用的计划。
作为管理员,您可以随时更改开发人员的计划,或更改开发人员发起的计划更改请求。
根据正在更改的计划类型,变更计划步骤略有不同。
21.1. 更改帐户计划 复制链接链接已复制到粘贴板!
要搜索或过滤特定的帐户,请导航到 Audience > Accounts > Listing。
您可以一次选择一行或多行,然后更改计划。
21.2. 更改服务计划 复制链接链接已复制到粘贴板!
要搜索或过滤服务的特定订阅,请导航到 Audience > Accounts > Subscriptions。
只有在 Settings 页面中启用了 Service Plans 时,才可查看订阅。
您可以一次选择一个或多个订阅,并更改计划。
21.3. 更改应用计划 复制链接链接已复制到粘贴板!
要搜索或过滤特定应用程序,请导航到 Audience > Applications > Listing。
您可以一次选择一个或多个应用程序,并更改计划。
另一种场景是从开发人员帐户的详情页面开始。从那里您选择要更改计划的应用程序。在应用程序详情页面上,您可以更改计划。
21.3.1. 更多信息 复制链接链接已复制到粘贴板!
如果不需要更改到其他标准计划,您只想更改一个特定的应用,您可以使用 自定义计划 功能。
第 22 章 联系开发人员 复制链接链接已复制到粘贴板!
本指南说明了如何确定哪个开发人员帐户管理特定的应用,然后通过 3scale 和外部与它们通信。
在 API 操作期间,您可能需要联系使用 API 的开发人员。
22.1. 在系统中找到相关的应用程序和帐户 复制链接链接已复制到粘贴板!
如果您已经知道管理相关应用的帐户和开发人员,请在 Audience > Accounts > Listing 的 Accounts 页面中导航至其帐户,如下所示。
如果您只具有应用程序 ID 或 API 密钥,您可以使用 Audience > Accounts > Listing 中的 Accounts 页面中的搜索框来查找相关帐户。有关查找应用程序的更多信息,请访问 此处。
22.2. 向开发人员发送内部消息 复制链接链接已复制到粘贴板!
在帐户配置文件页面中如下方所示,单击消息图标。
此处创建的消息将同时发送到帐户系统仪表板,帐户中的所有开发人员都将看到该仪表板,并通过通过电子邮件发送给开发人员帐户中具有管理员状态的人员。
22.3. 通过其他方法联系 复制链接链接已复制到粘贴板!
如果紧急情况和电子邮件不太可能足够快用于您的目的,您还可以使用注册时开发人员提交的联系信息,该信息可以:
- 在公司账户页面(一般联系信息,但可能包括电话号码)
- 关于用户自己文件的开发人员/用户特定信息
请注意,注册后,您可以将联系人电话号码填写为必填字段。
第 23 章 自定义计划 复制链接链接已复制到粘贴板!
完成本节后,您将为特定开发人员自定义应用计划。
应用程序计划是将标准策略应用到开发人员社区的不同部分的好方法。但是,您始终能够灵活地为具有唯一要求的任何个人开发人员自定义标准计划。
定制计划后,您将丢失到原始计划的链接。如果您更改原始计划,自定义计划不会继承任何这些更改。因此,您应该小心使用这种自定义功能,然后再使用太多无法有效管理的自定义计划。
开发人员希望在不升级到下一个定价层的情况下增加其当前的限值,因为当前账单周期已在进行中。通过增加限值和仅收取变量成本,自定义可能是一种解决这种情况的好方法。这还有助于促进以下账单月的升级:
23.1. 选择帐户 复制链接链接已复制到粘贴板!
查看您感兴趣的开发人员帐户详情页面:
- 导航到 Audience > Accounts > Listing
- 选择 Developer 帐户
23.2. 选择应用程序 复制链接链接已复制到粘贴板!
选择您要自定义的计划应用程序。
23.3. 自定义应用计划 复制链接链接已复制到粘贴板!
选择"自定义"选项。这提供了 页面,您可以在其中为此帐户拥有的应用自定义所有计划元素。
23.3.1. 更多信息 复制链接链接已复制到粘贴板!
在执行此步骤自定义计划之前,请先考虑是否与新的标准计划(可以在开发人员门户中显示时隐藏)上的更好效果。然后,您只需 更改标准计划 即可获得重复使用的好处(如果这适用于多个开发人员合作伙伴)。
第 24 章 启用注册 复制链接链接已复制到粘贴板!
通过实施自助服务或手动模式来配置开发人员注册。
您可以配置工作流,使开发人员能够自助服务,或者仅通过手动邀请进行。自助服务注册由开发人员通过开发人员门户完成,而手动邀请则由您的管理员通过管理门户来处理。
默认情况下,复选框切换设置为 enabled。要做到这一点,请导航到 Audience > Accounts > Settings > Usage Rules。
第 25 章 查找应用程序 复制链接链接已复制到粘贴板!
在本指南结束时,您将能够根据其名称、API 密钥或应用标识符在管理门户中快速查找应用。
在 API 操作期间,您可能需要查找关于正在快速访问 API 的应用的信息 - 无论是出于支持目的,还是为了更改配置,或者因为应用行为不当且需要禁用。
25.1. 获取您需要的信息 复制链接链接已复制到粘贴板!
要查找应用程序,您需要其所属帐户的名称或应用程序的名称。如果您没有此信息,您可以验证访问日志。要执行搜索,请导航到 Applications(Audience > Applications > Listing)。
如果按标识符搜索验证类型,您需要以下信息:
- 对于 API 仅键验证模式:API 键
- 对于应用程序 ID 和应用程序密钥验证模式:应用程序标识符(不支持通过应用密钥进行搜索)
- 对于 OpenID Connect 身份验证模式: client_id(不支持对 secret 进行搜索)
25.2. 搜索应用程序 复制链接链接已复制到粘贴板!
要搜索给定应用程序,请导航到 Applications 页面(Audience > Applications > Listing),并使用以下镜像所示的搜索框。
25.3. 访问应用程序信息 复制链接链接已复制到粘贴板!
返回结果后,单击您要访问的应用程序,然后您将进入该应用程序的主页,其中包括如下图中所示的信息。
第 26 章 邀请开发人员 复制链接链接已复制到粘贴板!
完成这些步骤后,您将向开发人员帐户添加新的开发人员用户。
在手动创建开发人员帐户时,您可以通过管理门户邀请开发人员用户访问该帐户:
- 进入 Audience > Accounts > Listing。
- 选择涉及的帐户。
- 选择"安装",然后单击 Invite user。
第 27 章 从服务取消订阅开发人员 复制链接链接已复制到粘贴板!
作为管理员,您可以取消订阅服务的开发人员。如果服务已弃用,您可能需要为一个特定的开发人员或多个开发人员执行此操作。
27.1. 从服务取消订阅单个开发人员 复制链接链接已复制到粘贴板!
从他们通过管理门户订阅的服务中取消订阅单个开发人员:
- 在 Admin Portal 的 Dashboard 中,导航到 Audience > Accounts > Listing > [select a account] > Service Subscriptions。
- 为您要从中删除开发人员的服务选择 Unsubscribe。
27.2. 从服务取消订阅多个开发人员 复制链接链接已复制到粘贴板!
执行批量操作,从已弃用或删除的服务中取消订阅多个开发人员:
这个方法只适用于已删除或暂停的服务。您无法对活动服务执行批量取消订阅操作。
- 在 Dashboard 中,进入到: Audience > Accounts > Subscriptions。
- 进行批量状态更改。
- 使用服务下拉菜单,确定您要取消订阅开发人员的服务。
- 使用左侧的复选框,选择您要取消订阅的开发人员。
- 选择 Change State > Suspend 来挂起所选开发人员订阅。
请记住,需要启用服务计划。
第 28 章 挂起应用程序 复制链接链接已复制到粘贴板!
本指南说明了如何为应用禁用所有密钥和访问令牌。
如果应用滥用您的 API 并影响其他流量,您可能需要在联系涉及的开发人员之前迅速暂停其操作,以要求他们修改代码或配置。
28.1. 查找应用程序 复制链接链接已复制到粘贴板!
您可以从 帐户 或应用程序选项卡找到 应用程序,或者按 此处 所示搜索。
28.2. 禁用应用程序 复制链接链接已复制到粘贴板!
找到应用程序并查看应用程序摘要页面后,点击"状态"值旁边的挂起图标。此操作将立即从 API 禁用应用,并暂停所有密钥正常工作。控制系统将拒绝使用这些应用密钥的调用。
修改有问题的行为后,可以使用同一按钮取消暂停应用。
如果您在代理中使用缓存,则暂停可能不是即时的,而是需要简短的超时。
28.3. 联系开发人员 复制链接链接已复制到粘贴板!
如何联系应用的开发人员将依赖于您的工作流和策略。在同一页面中,您可以单击帐户名称,该名称将使您进入帐户视图,从中可以识别拥有该应用的帐户的关键管理员。您可以通过电子邮件或单击显示的发送消息按钮联系他们,这将为用户生成仪表板消息。
第 29 章 取消应用程序 复制链接链接已复制到粘贴板!
要通过管理门户删除应用程序,您需要按照以下步骤执行:
选项 1: 从 [Your_API_name] 的所有应用程序列表中删除应用程序。
- 在控制面板中,单击 [Your_API_name]。
- 单击 Overview 选项卡。
- 在 Overview 页面的左侧面板中,单击 Applications。
- 选择 Listing。
- 单击某个应用程序。
- 您将看到包含应用详细信息的页面。点 Edit。
- 若要删除应用,可单击 Delete。
- 您将看到确认消息。单击确定 以确认删除。
选项 2: 基于特定应用程序计划删除应用程序。
- 在管理门户中,点 Dashboard。
- 选择 API。
- 在 发布的应用程序计划 下,选择一个应用程序。
- 单击某个应用程序。
- 您将看到包含应用详细信息的页面。点 Edit。
- 若要删除应用,可单击 Delete。
- 您将看到确认消息。单击确定 以确认删除。
或者,您还可以通过 3scale API Docs 删除应用,以及名为 Application Delete 的操作。
部分 VII. Analytics 复制链接链接已复制到粘贴板!
第 30 章 API 分析 复制链接链接已复制到粘贴板!
本指南旨在帮助您调整 API 分析,以跟踪您需要了解的项目以及查看一段时间内顶级应用程序和趋势。
了解如何使用您的 API 是管理流量、配置峰值和识别顶级用户的关键步骤,以便您可以帮助用户通过 API 实现成功。
30.1. 先决条件 复制链接链接已复制到粘贴板!
在使用本指南前,完成 Getting Started 部分的说明。
本指南假定您使用其中一个现有的 3scale 代码插件来执行集成。您可以遵循与其他集成方法类似的流程。检查文档中的 Operating APIcast 章节,以了解更多有关可用的集成选项的信息。
30.2. 确定要跟踪的指标和方法 复制链接链接已复制到粘贴板!
3scale 充当 API 统计的无限可扩展数据存储库,您可以跟踪 API 的几乎任何指标。例如:
- hits/transactions: 对 API 的调用。默认情况下,点击作为所有 API 的指标包括。命中可以是对 API 的整体调用,也可以划分成 API 上的各个方法。
- 数据传输 :通过 API 上传和下载的 MB/GB 数据数量
- CPU 小时 :与 API 调用关联的计算时间(或某些其他内部资源)
- 返回的结果:返回的记录或数据对象的数量
- 磁盘存储 :帐户使用的总磁盘存储
您可以跟踪与 API 相关的更多指标。3scale 可以跟踪任意数量的指标和方法,只要它是可随着时间递增的可数。
30.3. 创建指标和方法 复制链接链接已复制到粘贴板!
选择指标后,在 3scale 管理门户中注册它们。导航到 [your_API_name] > Integration > Methods & Metrics。
图 30.1. 创建新方法
在服务中添加指标和方法。为其提供友好的名称和系统名称,稍后在插件配置中使用。有关创建方法和指标的详情,请参阅在 3scale 中定义您的 API。
30.4. 设置报告 复制链接链接已复制到粘贴板!
使用要跟踪的指标名称配置了 3scale 系统后,就可以调整插件设置来报告正确的指标。执行此操作的具体方式取决于所使用的插件或集成方法。默认情况下,插件只报告 hits (API 事务)指标。
通常说,您需要按照以下步骤操作。
- 该应用应将适当的指标/方法名称传递到插件,具体由传入 API 调用决定。metric/method 值和所需的递增是插件公开的授权和/或报告方法的参数。
- 您还可以使用 3scale Service Management API 报告流量。您可以在 3scale API ActiveDocs 部分中找到有关不同端点的信息。3scale ActiveDocs 位于您的管理门户的 Documentation → 3scale API Docs 部分。
当您报告特定 API 方法的流量时,在 metric 参数中使用方法 系统名称。这会自动为报告的方法和 hits 指标增加计数器。
30.5. 检查流量是否已正确报告 复制链接链接已复制到粘贴板!
建立 API 和 3scale 连接后,您可以将流量发送到 API,并在 API 分析仪表板中监视它。您需要现有的开发人员帐户和一个具有 API 凭据的应用程序才能执行本节中的步骤。按照以下步骤创建开发人员帐户并获取具有 API 凭据的应用。
- 打开 入门指南。
- 导航到 Audience > Applications > Listing,以查看现有应用程序的列表。
点击应用程序的名称来选择应用程序。
图 30.2. 应用程序
查找所选应用程序的 API 凭据。凭据取决于所选的身份验证类型,可以是用户密钥(API 密钥)、应用 ID 和应用密钥,或者客户端 ID 和客户端机密。有关可用验证模式的详情,请查看 验证模式 文章。
图 30.3. API 凭证
使用这些密钥以正常方式调用 API (例如,使用命令行使用 cURL 或使用 GET 方法从浏览器获取 API 端点)。进行的确切调用取决于 API 上方法的结构。这些调用的流量会出现在您的 API 的 Analytics 部分中。
图 30.4. 分析使用
30.6. 故障排除 复制链接链接已复制到粘贴板!
如果分析部分的 usage chart 上没有显示流量,请执行以下检查。
授权/报告调用是否正确响应?
所有插件调用 3scale 服务管理 API,它已预先确定的响应代码。对有效密钥的授权调用应返回 HTTP 代码 200 的响应。报告调用应该使用代码 202 响应。
集成错误控制台中是否存在错误?
3scale 检测到的集成错误日志可在 [your_API_name] > Analytics > Integration Errors 中找到。
图 30.5. 集成错误
是否使用了正确的指标和方法名称?
失败的最常见原因是报告调用中传递的方法和指标名称与管理门户 API 设置中创建的名称不匹配。检查您是否为各个指标/指标使用正确的 系统名称。
30.7. 控制谁查看分析 复制链接链接已复制到粘贴板!
默认情况下,使用量统计通过管理门户和通过开发人员门户创建应用程序的开发人员查看 API 提供程序。(每个开发人员只能看到他们自己的应用程序的用量统计。) 您可以从 Developer Portal 中隐藏分析视图。请参阅 创建开发人员门户 部分,以了解更多有关自定义开发人员门户的信息。
30.8. 通过 API 和电子邮件报告访问分析数据 复制链接链接已复制到粘贴板!
除了分析部分中的使用图外,还有其他方法获取 API 分析数据。
Analytics API
您可以使用 3scale 分析 API。它是以 XML 或 JSON 格式提取 API 的所有分析数据的灵活方法。
每日流量报告(仅限SaaS)
这些报告提供有关您流量的聚合数据,包括有关 API 和顶级应用程序的新订阅者的信息。要在管理门户的 Account Settings (gear icon) > Personal > Notification Preferences 中启用这些报告,请找到 每周聚合 报告和 每日聚合报告 复选框。如果启用,这些报告将通过电子邮件发送给 3scale 帐户的 admin 用户。
CSV 导出(仅限SaaS)
每个分析视图页中都有一个 下载 CSV 链接,您可以以 .csv 格式下载用量统计。
Download CSV image::guides-api-analytics-download-csv.png[width=100px]
第 31 章 导出分析 复制链接链接已复制到粘贴板!
本文介绍了如何创建扩展内置 3scale 分析功能的脚本。
通过使用帐户管理和分析 API (仅限企业),您可以创建脚本来获取您喜欢的格式所需的自定义信息。本文介绍了特定的用例,但相同的方法可用于从 3scale 中获得您所需的任何数据。
31.1. 自定义脚本的原因 复制链接链接已复制到粘贴板!
3scale 不断改进 API 控制面板中提供的功能。但是,您可能处于我们的开发计划前,并且具有尚不受支持的非常具体的需求。
为了满足对 API 管理的需求,3scale 始终为您提供了访问所有数据的工具。但是,自定义脚本有一些成本 - 它需要一些资源来编写脚本,但成本不是高的,我们会在本文中显示。更重要的是,DIDI 为您提供总体灵活性和控制力,以实施您认为的任何用例。
31.2. 一个现实示例 复制链接链接已复制到粘贴板!
最近,一个客户会给我们提供非常具体的需要,这些需要无法以精简的方式通过 3scale 解决。
他们每周已上千名新开发人员。借助 3scale API 管理平台,他们可以继续获得这样的成功。如此多的开发人员将是一项艰巨的任务 - luckily 3scale 提供自动化操作,如关键配置、注册工作流和电子邮件通信。到目前为止,我们非常好。
然而,有些问题无法与 3scale 相关,这对于他们而言非常重要。由于他们入职如此多的人,他们需要一个直接的方式根据其 API 参与对新开发人员进行分类,以便他们的运营和营销团队可以更有效地与新开发人员进行交互。
3scale 的内置工具中尚不提供此功能(至少必需的详细信息)。但是,由于所有数据都可用,因此可以使用 3scale 的帐户和分析 API 提取数据。
31.3. 示例:客户要求 复制链接链接已复制到粘贴板!
他们希望了解过去 10 天内有多少新开发人员注册了免费评估计划,划分了不同的方式。
首先,他们想要知道注册多少开发人员,但没有使用其 API。他们希望了解这些信息超出了本文档的范围,但非常宝贵的信息有助于采用您的 API。
其次,他们希望将已使用 API 的开发人员分成两个组:
- 使用它的开发人员一段时间 - 比如 10 天的前半天,然后停止使用 API。这些开发人员尝试过,但不再活跃。
- 始终使用 API 的开发人员.对于这些,他们想要了解增长百分比(或下降)。
此信息可用于 3scale 的内置分析。问题是没有可以合并的视图,这导致整个体验非常繁琐。
此问题的典型答案将是 后续的分析改进的一部分。(有趣的是通常就是这种情况。) 但如果您需要,这不会解决这个问题。我们在 3scale 上想要提供您完成所有工作的工具,而无需根据我们的发行时间表。
31.4. 实践实施 复制链接链接已复制到粘贴板!
31.4.1. 获奖方法 复制链接链接已复制到粘贴板!
这个方案通常可以更好地实现自定义工作。
tinker 有一个 ActiveDocs 的位。3scale ActiveDocs 位于您的管理门户中, Account Settings(位于右上角的 Gear 图标)> Integratione > 3scale API Docs。3scale 具有其所有 API 作为 ActiveDocs,以便您可以从浏览器中尝试它们。这样,您可以找到最能满足您需求的请求,获取请求(curl)并获取响应。一个示例…
这是 API 请求的 ActiveDocs,用于获取在脚本上用于扩展分析的所有应用程序。
- 使用 ActiveDocs 完成研究后,请将请求置于脚本语言上(我们是最早的 Ruby)。由于 ActiveDocs 提供的请求和响应,从不方便了解 API 的作用。
- 重复上述操作,直到您拥有一个可以正常工作的脚本。例如扩展分析,该脚本 以 gist 用户身份提供。您可以在您的帐户中试用。
正如这听起来像是一样,这是继续操作的最简单方法。ActiveDocs 可让您快速获得 API 能够做什么。然后,只需要找到您想要执行的任务需要哪 3 个或 4 个请求,并将脚本放在一起。
31.4.2. 逐步指南 复制链接链接已复制到粘贴板!
以下是实现此客户所需自定义分析的步骤:
- 检索应用的完整列表。此操作需要分页,但可以看到,它很简单。
- 过滤不符合标准的应用程序,即计划必须"评估"且必须更新 10 天。
- 然后,对于满足此条件的每个应用程序,获得其使用情况,即应用程序在最后 10 天内有多少点击次数。
- 最后,您必须交叉将应用程序引用到帐户,因为开发人员的信息存储在帐户对象中。
这一点非常高。现在,您只需要将所有内容放在一起(您可以将 完整的脚本作为一个小设备)以及完成。您有一个脚本,可获取 3scale 内置分析中尚未提供的信息。
31.5. 结论 复制链接链接已复制到粘贴板!
3scale 是一个容易自我管理的系统。我们相信,任何人都应当能够扩展他们接受合同的任何服务的当前功能。正如我们想到的那样,我们可以覆盖所有基础,我们将始终是某方面的内容,无论它是超级特殊需求,还是只是因为我们正在构建其他功能。无论哪种情况,我们都想避免避免在无法立即阻止。我们为您提供数据的完全访问权限,以及能够与其配合使用的完整 API 工具集。
如果您有要与我们和 3scale 的用户共享的脚本,请将其发送给我们。我们很高兴收集并发布它们。
第 32 章 现成分析 复制链接链接已复制到粘贴板!
在本教程结束时,您将能够查找有关应用流量的可视化信息。
使用 API 的每个应用在 3scale 系统中都有一个流量追踪,可以从管理门户查看,也可通过 API 进行恢复。
32.1. 查找应用程序 复制链接链接已复制到粘贴板!
您可以在 Audience > Accounts > Listing 或 Audience > Applications > Listing 中查找应用程序,或者搜索,如查找的应用程序指南 中所述。
32.2. 了解应用程序显示 复制链接链接已复制到粘贴板!
找到应用程序后,您将看到一个概述屏幕,其中包含有关应用程序的信息,如下图所示。
图中标记的项目与以下信息对应:
- 开发人员提供的应用的名称。
- 为应用程序捕获的元数据(学习如何设置在高级部分中捕获的数据)。
- 应用程序的状态 - 它是活动还是暂停?
- 应用具有的当前 API 标识符、密钥和证书。(此视图根据将 API 集成到 3scale 的身份验证方法的不同而有所不同。
- 应用的流量统计摘要。
- 有关应用程序计划应用程序所基于的信息,以及应用哪个速率限值的信息。
第 33 章 响应代码跟踪 复制链接链接已复制到粘贴板!
本教程介绍了如何设置和使用响应代码在 3scale 系统中。
从 API 跟踪响应代码是查看客户端如何使用它的一种好方法,并实时查看所有代码是否适合您的服务器。
要启用响应代码跟踪功能,请在使用 Docker 或 OpenShift 部署启动 APIcast 网关时将 APICAST_RESPONSE_CODES 环境变量设置为 1 或 true。
启用后,APIcast 网关会捕获上游服务为授权调用返回的 API 响应的 HTTP 状态代码,并将它们发送到服务管理 API(在 authrep 调用中)。例如:
https://su1.3scale.net/transactions/authrep.xml?service_token={SERVICE_TOKEN}&service_id={SERVICE_ID}&user_key={USER_KEY}&usage%5Bhits%5D=1&log%5Bcode%5D=200"
https://su1.3scale.net/transactions/authrep.xml?service_token={SERVICE_TOKEN}&service_id={SERVICE_ID}&user_key={USER_KEY}&usage%5Bhits%5D=1&log%5Bcode%5D=200"
在本例中,发送log[code]=200,这意味着 API 用 200 状态代码响应。
要验证集成,您必须使用有效的 3scale 凭证调用 API,然后验证在 Analytics > Usage 页面中是否正确报告了调用。
- 响应代码跟踪不是所有响应的准确计数。
- 此视图的值是在一段时间内提供趋势的可视化表示。
-
响应代码跟踪和 3scale Auth 缓存模式:
None不是支持的组合。
如果一切进展顺利,请访问 Analytics >Response codes 页面。您应该可以看到一个图形,其中含有用颜色划分的最新流量,具体取决于响应是 2xx、4xx 或 5xx。
图形工具可让您查看响应代码历史记录。您还可以检查响应代码统计信息的不同时段和不同粒度级别。只需单击时间选择条,再定义适合您需求的时间段和粒度。