KDays API文档中心
App

WebHook事件

说明

在个人中心中,若开启WebHook的情况下,用户发生变更会向对应应用推送通知。

若http状态码返回200,我们则认为应用正确收到了通知。 如果是异步的状态变动通知,那系统则会在失败后仍然尝试推送,直到24小时未能推送的则会停止推送。

若您应用异常时,请注意根据字段中的create_at判断是否是最新的事件。 在一次事件推送中,会以POST的形式推送一个JSON格式的内容,这里以测试推送为例:

{
  "version": 1,
  "appid": "d126d0c20763dc864a307498cc6b5a789f4f5351",
  "open_id": "MDEwMzB4NA",
  "union_id": null,
  "event": "test.challenge",
  "data": {
    "challenge": "098f6bcd4621d373cade4e832627b4f6"
  },
  "create_at": 1727453226,
  "push_at": 1727453226,
  "retry": 0,
  "sign": "4a299055428a4a24ab46b723fd9f76dd399f598f"
}
字段说明
version推送事件类型的版本号
appid应用的API KEY
open_id触发用户的open_id。注意:有些事件没有用户时此字段为null
union_id触发用户的union_id,如果应用没有命名空间则为null
event事件类型
data事件具体内容
create_at事件创建的时间戳
push_at事件推送时的时间戳
retry重试次数
sign签名

签名计算方式

function calcSign($body, $secret) {
    $signStr = json_encode([$body['event'], $body['open_id'], $body['data'], $body['push_at']]);
    $signStr = sha1($config['secret'] . $signStr);
}

事件列表

test.challenge 推送测试

使用用户后台的推送测试按钮会立即向目标地址推送一条测试。

若要通过测试,应打印输出data中的challenge的内容,并以200状态码返回来通过。

字段类型说明
challengestring要返回的内容

user.update 用户字段更新

当用户的头像、名称、账户状态发生改变时,会进行推送。 只会推送变更的字段,若没有变化,则不会进行推送。

字段类型说明
avatarstring头像地址
thumb_avatarstring迷你头像地址
usernamestring用户名称
bannedinteger是否被封禁 1=被封禁 0=未被封禁

user.logout 用户登出

当用户密码被修改、被封禁、的时候,会触发本事件

remote.call_ret 应用远程同步调用申请

特定的一些应用对个人中心/其他应用有远程调用特殊需求时,可以使用此功能进行互相调用操作。 以减少不同应用间互相授权验证的麻烦。

此处的用户来源并非用户令牌授权,而是由请求应用手动填写。系统会自动将用户ID转换为目标应用ID请求。
请务必检查应用来源和签名有效性。

此请求为同步请求,会将返回的内容同步返回给请求应用。若应用10秒内未能完成相应的话,则会对调用方返回timeout

字段类型说明
from_app_idstring请求的应用KEY
from_app_nsstring请求的应用域(可能为空)
from_open_idstring请求应用侧的用户ID(可能为空)
from_union_idstring请求应用侧的Union ID(若没有union id则此字段不存在)
functionstring调用函数名
paramsarray参数

On this page