跳至主要内容

玩家资料更新 Webhook

当玩家在游戏枢纽修改个人资料信息时,系统会自动触发 player.update Webhook 事件通知。 这一事件提供了保持游戏与游戏枢纽玩家资料同步的有效方式,使您能够及时更新游戏数据库中的玩家昵称、电子邮件地址、头像图片等个人信息。

要求

如需接收玩家资料变更通知,请按照以下要求配置您的 Webhook 服务器:

  • HTTPS 端点,可接收 POST Webhook 请求。
  • 监听由阿哈利姆生成并 签名 的事件。
  • 接收到资料更新通知后,更新游戏系统中的相应用户信息,并可选择向玩家发送确认通知。
  • 当您的服务器成功接收并处理弹窗请求时,应返回 2xx 系列状态码;如遇请求无效或处理失败,则应返回适当的 4xx 或 5xx 状态码。

配置步骤

  1. player.update Webhook 处理开发一个函数。
  2. 部署您的端点使其可访问。
  3. 进入您的Aghanim账户后,依次导航至 GameWebhooksNew Webhook,然后在事件类型列表中选择玩家更新事件类型来注册您的端点。

您也可以参考 移动推送配置指南 设置玩家资料更新确认通知。

或者,您也可以使用 Create Webhook API 方法在阿哈利姆中注册您的端点。

Request Schema

下面是一个 player.update 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.update",
"event_data": {
"player_id": "2D2R-OP3C",
"email": "PlayerOne@aghanim.com"
},
"event_time": 1725548450,
"event_id": "whevt_eCacGbJVbvToOgzjXUgOCitkQE",
"idempotency_key": null,
"request_id": "d1593e9c-c291-4004-8846-6679c2e5810b",
"sandbox": false,
"trigger": "hub.profile_update",
"transaction_id": "whtx_eCacGbJVbvT",
"context": null,
"game_id": "gm_exTAyxPsVwh"
}

事件 Schema

键名类型描述
event_idstring阿哈利姆生成的唯一事件标识符。
game_idstring您的游戏在阿哈利姆中的唯一标识符。
event_typestring事件的类型, player.update 在此情境下。
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。
contextEventContext|null事件的相关上下文信息。

EventContext Schema

键名类型描述
orderOrderContext|null与事件相关的订单信息(如果适用)。
playerPlayerContext|null(可选)玩家信息。如需启用,请在webhook设置中选择“添加玩家上下文”。

EventData Schema

键名类型描述是否必需
player_idstring用于玩家身份验证的唯一 玩家 ID
namestring玩家昵称。
emailstring玩家的电子邮件地址。
avatar_urlstring玩家头像图片的 URL。

Response Schema

Webhook 响应示例

{
"status": "ok"
}

失败响应示例

即使是失败情况,也应返回 200 HTTP 状态码,同时在响应体中包含以下 JSON 内容:

{
"status": "error",
"code": "not_found",
"message": "系统中不存在该玩家记录"
}

可能出现的错误代码列表:

  • not_found:系统中不存在该玩家记录。
  • invalid_signature:请求的安全签名验证失败。
  • validation_error:请求中包含的数据格式或内容不符合要求。

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