Skip to main content
Meter 会将原始事件转换为可计费数量。它们会筛选事件并应用聚合函数(Count、Sum、Max、Last)来计算每位客户的用量。
仪表创建界面,显示事件名称、聚合类型和过滤选项

API 资源

Create Meter

通过 API 以编程方式创建计量器。

List Meters

检索您帐户中的所有计量器。

Get Meter

按 ID 获取特定计量器的详细信息。

Archive Meter

归档计量器以停止追踪使用量。

Unarchive Meter

恢复已归档的计量器以继续追踪。

创建计量器

1

Basic Information

string
必填
Meter 的描述性名称(例如,“API Requests”、“Token Usage”)。
string
必填
要匹配的确切事件名称(区分大小写)。示例:api.call、image.generated。
2

Aggregation

string
必填
选择事件的聚合方式:
  • Count:事件总数(API 调用、上传)
  • Sum:数值的总和(Token、字节)
  • Max:周期内的最高值(峰值用户数)
  • Last:最近的值
string
要聚合的元数据键(Sum、Max 和 Last 必需)。示例:tokens、bytes、duration_ms。
string
必填
发票和报告中的单位标签。示例:calls、tokens、GB、hours。
3

Filtering (Optional)

Event filtering interface with AND/OR logic and comparison operators
添加条件以过滤计入的事件:
  • 与逻辑:所有条件必须匹配
  • 或逻辑:任何条件都可以匹配
可用的比较运算符:等于、不等于、大于、大于或等于、小于、小于或等于、包含、不包含。启用筛选,选择逻辑,然后使用属性键、比较运算符和值添加条件。
4

Create

检查配置,然后点击 Create Meter。

查看分析

Meter analytics dashboard showing usage overview, events, and customer data
Meter 控制面板会显示:
  • Overview:总用量和随时间变化的用量趋势
  • Events:收到的单个事件及其元数据
  • Customers:每位客户的用量总数和费用

以积分计费而非货币

默认情况下,Meter 会按单位以美元(或你配置的货币)向客户收费。你也可以将 Meter 配置为从客户的 credit balance 中扣除,这样用量会消耗 credits,而不是产生货币费用。
基于 credit 的扣除要求同一产品附加 Credit Entitlement。请先创建 credit entitlement,然后将其关联到 Meter。

何时使用基于积分的扣费

配置计量器以扣除积分

1

Create a Credit Entitlement

首先,在 Products → Credits 中创建 credit entitlement。定义单位(例如,“API Calls”、“Tokens”)、精度和生命周期设置(过期、结转、超额)。详见基于积分的计费指南了解详细说明。
2

Create or Edit a Usage-Based Product

进入您的基于使用量的产品,然后打开计量器配置部分。
3

Add a Meter

点击**+**按钮以附加计量器。按常规配置事件名称、聚合类型和度量单位。
4

Enable 'Bill Usage in Credits'

在 Meter 配置中开启 Bill usage in Credits,以显示 credit 设置:
启用信用计费使用的仪表配置切换

Toggle 'Bill usage in Credits' to switch from currency-based to credit-based deduction.

string
必填
选择此 Meter 要从中扣除的 credit entitlement。
number
必填
每扣除 1 个积分所需的使用单位数量。例如:
  • 1 = 每个计量器事件扣除 1 个积分
  • 100 = 100 个计量器事件扣除 1 个积分
  • 1000 = 1,000 次 API 调用消耗 1 个积分
5

Free Threshold and Credits

Free Threshold 适用于以货币计费的 Meter,不适用于以 credits 计费的 Meter。当 Meter 以 credits 计费时,每个单位都会计入 credit 扣除。示例:当 meter-units-per-credit 为 1 时,发起 2,500 次 API 调用的客户将扣除 2,500 credits。

积分扣除如何运作

配置完成后,扣除管道会自动运行:
  1. 事件到达 — 你的应用通过 Event Ingestion API 发送用量事件。
  2. Meter 聚合 — 根据 Meter 配置聚合事件(Count、Sum、Max、Last)。
  3. 后台 worker 处理 — worker 每分钟获取自上次 checkpoint 以来的新事件。
  4. 扣除 credits — 聚合后的用量根据 meter_units_per_credit 比率转换为 credits,并使用 FIFO 顺序扣除(最先过期的 grant 优先消耗)。
  5. 跟踪超额用量 — 如果余额降至零,后续用量会记录为超额用量,并根据配置的行为进行处理(重置时免除、在下一张发票中计费,或作为 deficit 结转)。Dodo Payments 不会在余额耗尽时阻止用量。若要在余额为零时停止访问,请在你的应用中检查余额。
Credit 扣除以异步方式运行(约每 1 分钟一次)。从事件摄取到余额扣除之间可能会有短暂延迟。请设计你的应用以处理此延迟,不要依赖实时余额检查来控制单个请求的访问权限。

多计量器,共用一个积分池

你可以将同一产品上的多个 Meter 关联到同一个 credit entitlement。所有 Meter 都从一个共享余额中扣除。 示例:一个 AI 平台包含两个 Meter:
  • text.generation — 每 1,000 个 Token 消耗 1 credit
  • image.generation — 每张图片消耗 10 credits
两者均从同一个“AI 积分”池中扣除。客户在其门户中看到一个统一的余额。
在不同计量器间使用不同的 meter_units_per_credit 费率以表达相对成本。昂贵的操作(图像生成)每积分所需的计量器单位比廉价的操作(文本补全)少。

List Customer Ledger

查看客户的完整积分扣除历史。

Get Customer Balance

通过 API 检查客户当前的积分余额。

故障排除

  • 事件名称必须完全匹配(区分大小写)
  • 检查 Meter 筛选条件是否排除了事件
  • 确认客户 ID 存在于你的账户中
  • 暂时禁用筛选条件进行测试
  • 确认 Over Property 与元数据键完全匹配
  • 使用数字而非字符串:tokens: 150,而不是 tokens: "150"
  • 在所有事件中包含必需属性
  • 完全匹配大小写
  • 针对数据类型使用正确的运算符
  • 确保事件包含经过筛选的属性
  • 检查 Events 标签页,统计实际收到的事件
  • 确认聚合类型(Count 与 Sum)
  • 确保 Sum 和 Max 使用的值为数字

下一步

Send Events

开始从您的应用向计量器发送使用事件。

View Blueprints

使用现成的计量器配置满足常见用例。
最后修改于 2026年9月26日