用途:面向需要按实际消耗计费的场景,例如 API 调用、AI token、存储、带宽等,将用量事件上报到 Dodo Payments,由计量器聚合成可计费数量,再挂到产品价格上按单位收费。也可与订阅或一次性购买组合使用。
主要能力:事件(Events)由应用发送,按 event_name 匹配计量器,归属到 customer_id;计量器(Meters)定义匹配的事件名、聚合方式(count、sum、max、last)、计量单位与可选过滤条件;sum/max/last 需指定聚合的 metadata 属性。定价目前仅记录按单位计价:price_per_unit 为十进制字符串,free_threshold 为可选整数,计费公式为(用量 − 免费阈值)× 单价。计量器可创建、列出、检索、归档与取消归档,归档后停止接收新事件但保留历史数据。事件支持批量上报,每请求最多 1000 条,并可查询客户事件与订阅用量历史。用量事件还可与信用额度计费集成,按比例消耗信用。
使用方式:通过 Dodo Payments SDK 创建计量器并上报事件,例如 client.meters.create 与 client.usageEvents.ingest。event_id 必须由不可变的业务操作 ID 派生并在重试时复用,以保证幂等;同一请求内重复 ID 会拒绝整批,已上报过的 ID 会被静默忽略。timestamp 为 ISO-8601,默认当前 UTC,须在过去一小时至未来五分钟内。metadata 最多 50 对,键长 100、值长 500,不支持嵌套对象或数组。建议先持久化事件再返回成功,由可重试的后台 worker 上报,避免丢失用量。
适用场景:AI 服务、SaaS 平台、基础设施产品的计量功能。
限制:分层、阶梯、批量等定价模型当前未在 API 中记录,暂用按单位计价加免费阈值;事件名区分大小写;不得在客户端上报以免泄露 API 密钥;需注意服务器时钟同步。信用计费、Webhook 等细节见对应技能文档。