组织承载你的团队和账单;应用承载工作流和 API 密钥,且每个应用要么是 live 要么是 sandbox。理清这个结构能避免大多数令人困惑的行为。
组织 = 你的团队、你的账单余额、你的审计日志。 应用 = 工作流、API 密钥、webhook 端点、保留策略和产品,分为两个环境: 生产和沙盒。大多数"我改了但没生效"的问题,都是因为身处错误的应用,或错误的环境。
#两个层级
组织是你的账户。它拥有:
- 你的团队及其角色
- 你的账单余额和发票
- 你的审计日志
- 你所有的应用
应用是组织内的一个工作空间。它拥有:
- 自己的工作流
- 自己的 API 密钥
- 自己的 webhook 端点
- 自己的数据保留策略
- 自己的产品(在已上线按应用开启产品功能的地方)。参见产品及其包含的内容
- 两个环境:生产和沙盒
通过侧边栏顶部的应用卡片切换应用。切换会立即生效。同一个菜单还可以打开应用设置和创建应用。
#为什么这比看上去更重要
几乎所有"我改了但什么都没发生"的报告,都可以归结为这个结构:
- 你在应用 A 中编辑了一个工作流,而你的会话实际运行在应用 B 下。
- 你在一个应用上添加了 webhook 端点,却期望收到另一个应用的事件。
- 你在查看沙盒,而你的流量运行在生产中,或者反过来。
- 你用某个应用的密钥去调用,而你要访问的资源属于另一个应用,结果对一个明明存在的东西收到 404 或 403。
在排查其他问题之前,先确认应用是否正确。参见API 错误及其含义。
#生产和沙盒是两个独立的环境
新应用默认处于生产环境。测试在沙盒中进行:这是你组织共享的测试应用,拥有自己的数据和自己的密钥。通过侧边栏中应用名称下方的生产和沙盒切换按钮在两者之间切换。
核验、API 密钥、webhook 和列表在每个环境中相互独立。品牌设置是共享的,工作流只需构建一次,并可以在环境之间复制。这种隔离正是关键所在:测试流量和生产数据永远不会混在一起,sandbox 密钥也不可能意外消耗真实额度。参见在 sandbox 中测试。
给应用起一个一眼就不会混淆的名字 - acme-onboarding 和 acme-payments 要比
"Application" 和 "Application (2)" 好得多。在你的密钥管理工具中用包含环境的名称保存
密钥,永远不要让某个环境变量存放"当前有效的那个密钥"这种含糊的内容。
#应该有多少个应用?
大多数团队从一个应用开始,这一个应用就已经同时提供生产和沙盒环境。除此之外,按任何需要独立配置或独立隔离的维度进行拆分:
- 按产品拆分,当不同产品需要不同的工作流和不同的 webhook 端点时。
- 按预生产环境拆分,如果你需要的不止一个沙盒。
- 按品牌拆分,如果你以多个不同品牌样式提供核验服务。
- 按保留策略拆分,因为保留策略是按应用配置的。
不会按应用拆分的是你的余额,它是组织级别的。每个应用都从同一份额度中扣款。
#创建更多应用
打开侧边栏顶部的应用卡片并选择创建应用,然后输入应用名称(在已上线按应用开启产品功能的地方,你还需要选择它的用途)。如果没有这个选项,或者你需要通过 API 而非控制台来创建应用,这属于账户级别的权限问题,值得向支持团队询问,而不是自行想办法绕过。
#多个组织
一个人可以属于多个组织,并通过侧边栏顶部的组织菜单在它们之间切换,待处理的邀请也会显示在那里。自行创建多个组织仅限经销商账户(请联系支持团队开启),并且无法在你的组织下创建子组织或子账户。如果你服务多家自己的客户,受支持的结构是在你唯一的组织内为每个客户建一个应用:每个应用有自己的工作流、品牌、API 密钥、结果和用量报告,彼此完全隔离,而计费留在你的组织层面。
#转售 Didit
如果你想把 Didit 打包进自己的产品并向客户收费,这就是经销商模式。支持团队向每位询问者给出的条款如下:
- 预付额度。 最低首次购买 5,000 美元,预付,一年期协议。额度永不过期,位于你的组织层面,由你接入的所有终端客户共同消耗,并附带随金额递增的批量折扣。
- 控制面板由你构建。 你把 Didit 的 API 集成到自己的前端,客户在那里管理他们的工作流、品牌和角色。Didit 不提供 Business Console 的白标副本;终端用户看到的验证页面可以带你的品牌(参见白标),控制台不行。
- 利润归你。 你决定客户支付的价格。Didit 按已完成的功能、以协议期内固定的单价向你收费。
- 这不是本地合作伙伴计划。 Didit 直接面向客户提供演示、开通和支持,不寻找分销或实施合作伙伴。
如果你不想承担转售,可以改用推荐选项:在 Business Console 中打开设置 → 推荐有礼,获取你的链接并分享出去。被推荐组织自首次充值起 36 个月内的每笔现金充值,你可获得 10% 佣金,可作为 Didit 额度使用,或在成熟期后通过银行转账提现,无需承担交付或支持义务。在决定任一方案之前,你都可以在免费套餐上构建和测试集成。
#删除应用
永久删除应用的功能尚未提供:应用设置中有一个危险区域,但它会提示删除功能不可用,也不会删除任何内容。在此之前,你可以:
- 停止使用它。 将它重命名(例如
acme-old),以免有人误选,并在开发者 → API 密钥下吊销它的 API 密钥。 - 清除它的客户数据。 核验数据遵循该数据自身的保留策略和删除规则,而不是随应用的生命周期走 - 请显式删除数据。参见删除会话与个人数据。
- 从头开始。 支持团队可以删除整个组织,让你创建一个全新的组织 - 这是最后手段,因为团队、余额和历史记录都会随之一起删除。
#一切都可追溯
每一项更改都会在审计日志中记录它所属的应用。正是这一点,让多应用结构变得可审计,而不仅仅是整洁。参见使用审计日志。
还没解决?和真人聊聊。
请附上你的组织 ID 以及你要咨询的会话 ID。