在创建、交付、失败或撤销权限授予时发送到您的 webhook 端点的负载。
Documentation Index
Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
Use this file to discover all available pages before exploring further.
| Event | Description |
|---|---|
entitlement_grant.created | 新的授予行已创建。对于许可证密钥,状态立即为 delivered,对于每个其他集成则为 pending。 |
entitlement_grant.delivered | 授予已过渡到交付状态。客户现在可以访问被授予的平台、文件或许可证密钥。 |
entitlement_grant.failed | 交付失败且未重试。检查 error_code 和 error_message。 |
entitlement_grant.revoked | 访问权限已被撤销。检查 revocation_reason 以了解原因。 |
EntitlementGrantResponse 负载,如下模式所述。
id。使用此事件记录履行正在进行中。
对于 许可证密钥,行直接插入,并填充 status: "delivered" 和 delivered_at,因此单个 created 事件后没有进一步的状态更改,除非以后撤销授予。
对于 每个其他集成,行到达时为 status: "pending"。一旦交付完成,delivered 或 failed 事件随之而来:
oauth_url。在客户授权之前,授予保持为 pending。pending,然后移动到 delivered。pending 过渡到 delivered。客户现在拥有权限所描述的访问权限。使用此事件在您自己的系统中解锁相关功能,例如准备工作空间、发送定制欢迎电子邮件或标记为“已履行”的标志。
负载的 delivered_at 字段捕获交付完成时间。对于在创建时已达到 delivered 的授予,您将接收 created 和 delivered 事件。
error_code 和 error_message 字段解释了失败原因。常见原因包括撤销的 OAuth 令牌、被拒绝的平台权限或缺失的目标(例如,已删除的 Discord 公会)。
revocation_reason 字段记录了触发器。
revocation_reason | 触发器 |
|---|---|
subscription_cancelled | 客户的订阅被取消(subscription.cancelled 事件)。 |
subscription_on_hold | 由于续订失败,订阅处于暂停状态(subscription.on_hold)。可恢复:成功重试将重新授予。 |
subscription_expired | 订阅到达其期限的结尾(subscription.expired)。 |
plan_changed | 计划更改;旧的授予在发布新的授予之前被撤销(subscription.plan_changed)。 |
refund | 原始一次性付款处理了退款(refund.succeeded)。 |
manual | 商家通过 API 或仪表板撤销了授予。手动撤销不会在订阅续期时自动重新授予。 |
license_key_disabled | 许可证密钥授予背后的许可证密钥被禁用。如果密钥重新启用,授予将自动重新激活。 |
platform_external | 集成的平台方面不同步(例如,Discord 角色被手动移除,GitHub 应用程序失去储存库访问权限,或对账过程检测到了丢失的目标)。在底层平台问题解决之前,授予不会在订阅续期时自动重新授予。 |
data 字段始终是 EntitlementGrantResponse 对象。两种集成类型附加额外的嵌套对象:
license_key,则会包含 license_key。它包含生成的密钥、到期时间和激活使用情况。digital_files,则会包含 digital_product_delivery。它包含预签名下载 URL,选择性的 instructions 和选择性的 external_url。null;相关配置捕获在权限本身中,而不是授权中。
entitlement_grant.delivered)entitlement_grant.delivered)entitlement_grant.created)entitlement_grant.revoked)entitlement_grant.failed)entitlement_grant.delivered。 payment.succeeded 事件告诉您款项已结算;这并不意味着客户已经拥有 GitHub 库或 Discord 角色。delivered 事件是履行的实情来源。revocation_reason 映射到保留流程。 subscription_on_hold 撤销通常意味着客户的卡片失败,下次续约将重新授予访问权限。manual 或 subscription_cancelled 撤销是有意的。在客户消息中区别对待。id 作为您的幂等键。 单个授予最多发出一个 created 事件和最多一个终端事件(delivered 或 failed),以及最多一个 revoked 事件。Webhook 系统的重新交付可以重复事件;在授予 id 加上 type 上消除重复。license_key 和 digital_product_delivery 以识别集成类型。 授予负载本身不携带集成类型,但这两个嵌套对象中的一个正好会为许可证密钥和数字文件权限提供内容。oauth_url。 Discord、GitHub 或 Notion 订阅者流的 entitlement_grant.created 事件包括一个 oauth_url 和 oauth_expires_at。通过电子邮件发送给客户或在您的应用中展示,以解除交付阻碍。Detailed view of a single entitlement grant: who it's for, its lifecycle state, and any integration-specific delivery payload.
Identifier of the business that owns the grant.
Timestamp when the grant was created.
Identifier of the customer the grant was issued to.
Identifier of the entitlement this grant was issued from.
Unique identifier of the grant.
Arbitrary key-value metadata recorded on the grant.
Lifecycle status of the grant.
Pending, Delivered, Failed, Revoked Timestamp when the grant was last modified.
Timestamp when the grant transitioned to delivered, when applicable.
Digital-product-delivery payload, present when the entitlement
integration is digital_files.
Machine-readable code reported when delivery failed, when applicable.
Human-readable message reported when delivery failed, when applicable.
License-key delivery payload, present when the entitlement integration
is license_key.
Timestamp when oauth_url stops being valid, when applicable.
Customer-facing OAuth URL for OAuth-style integrations. Populated
during the customer-portal accept flow; null until the customer
completes that step, and on grants for non-OAuth integrations.
Identifier of the payment that triggered this grant, when applicable.
Reason recorded when the grant was revoked, when applicable.
Timestamp when the grant transitioned to revoked, when applicable.
Identifier of the subscription that triggered this grant, when applicable.