跳至主要内容

Marketing Consent Webhooks

Aghanim's marketing consent webhooks notify your game about changes to a player's marketing consent, allowing you to keep your marketing lists in sync.

Webhook events

Use these webhook events to manage your marketing lists.

EventWhen it firesWhat you should do
player.marketing_consent.updatedA player's marketing consent state changesUpdate your marketing lists accordingly

Requirements

To use marketing consent webhooks from Aghanim, you should have the webhook server configured as follows:

  • HTTPS endpoint, accepting POST webhook requests.
  • Listen for events, generated and signed by Aghanim.
  • Handle the idempotency_key included in the webhook payload to prevent processing duplicate webhooks.
  • Respond with 2xx status codes if the event was processed successfully, and 4xx or 5xx for errors.

Configuration

  1. Develop a function for marketing consent webhook processing.
  2. Make your endpoint available.
  3. Register your endpoint within Aghanim account → GameWebhooksNew Webhook by choosing the marketing consent event types you want to handle.

Alternatively, you can register your endpoint within Aghanim using the Create Webhook API method.

Request schema

下面是一个 player.marketing_consent.updated Webhook 请求示例:

POST /your/webhook/uri HTTP/1.1
Content-Type: application/json
Host: your-webhook-endpoint.com
User-Agent: Aghanim/0.1.0
X-Aghanim-Signature: 2e45ed4dede5e09506717490655d2f78e96d4261040ef48cc623a780bda38812
X-Aghanim-Signature-Timestamp: 1725548450

{
"event_type": "player.marketing_consent.updated",
"event_data": {
"player_id": "2D2R-OP3C",
"email": {
"address": "player@example.com",
"granted_at": 1704067200,
"revoked_at": null
}
},
"event_time": 1725548450,
"event_id": "whevt_eCacGbJVbvToOgzjXUgOCitkQE",
"idempotency_key": null,
"request_id": "d1593e9c-c291-4004-8846-6679c2e5810b",
"sandbox": false,
"trigger": "hub.purchase",
"transaction_id": "whtx_eCacGbJVbvT",
"context": null,
"game_id": "gm_exTAyxPsVwh"
}

事件 Schema

键名类型描述
event_idstring阿哈利姆生成的唯一事件标识符。
game_idstring您的游戏在阿哈利姆中的唯一标识符。
event_typestring事件的类型, player.marketing_consent.updated 在此情境下。
event_timenumber以 Unix 时间戳表示的事件发生日期。
event_dataEventData包含事件特定数据的字段,其中可能包含用于继承对象的各种键值。
idempotency_keystring|null即使出现重试情况,也能确保 Webhook 操作只执行一次。 可以是 null 具体取决于事件类型。
request_idstring|null如果事件是通过 API 请求触发的,此字段将包含对应的请求 ID。
sandboxboolean标识事件是否来自沙盒测试环境的指示器。
triggerstring|nullThe trigger that caused the event to be sent.
transaction_idstring阿哈利姆生成的交易标识符。在同一交易过程中触发的多个事件可能共享相同的交易 ID。
contextobject|null事件的相关上下文信息。

The EventData schema

KeyTypeDescription
player_idstringThe unique Player ID chosen for player authentication.
emailEmailChannel|nullEmail channel consent. Present when email consent changed.

The EmailChannel schema

KeyTypeDescription
addressstringThe player's email address.
granted_atnumberUnix timestamp when consent was granted.
revoked_atnumber|nullUnix timestamp when consent was revoked. null if consent has not been revoked.

The Trigger values

ValueDescription
hub.purchaseWhen a player opts in to marketing during checkout.
s2s.player.marketing_consent.grantWhen consent is granted via the Grant Email Marketing Consent S2S API.
s2s.player.marketing_consent.revokeWhen consent is revoked via the Revoke Email Marketing Consent S2S API.
dashboard.player.marketing_consent.revokeWhen consent is revoked through the Aghanim Dashboard.
testWhen using the "Send test event" in the Dashboard.

需要技术支持?
联系我们的集成技术团队: integration@aghanim.com