菜单

事件回调

一、功能概述

事件回调功能用于当用户在你的应用内触发指定事件时,系统自动将事件数据及用户归因信息回传到你配置的服务器地址。

适用场景

  • 实时获取用户行为事件数据
  • 与自有 BI/数据系统进行打通
  • 基于事件数据进行二次营销或分析

二、配置步骤

1.开启事件回调开关

在后台应用管理页面找到事件回调配置模块,打开开关以启用功能。

2.选择回调事件

在回调事件下拉框中,选择需要监听的事件类型(如激活、付费等)。

3.配置回调地址

注意:请确保该地址为可公网访问的域名,且服务稳定。

在回调地址输入框中,填写你的服务端接收数据的 URL。

4.配置回调参数(可选)

点击新增按钮,添加回调宏参数
系统会将这些参数追加到回调请求中,方便你在服务端进行识别。
参数类型 说明 示例
自定义参数 你自己定义的参数名 turbo_app_id
宏参数 系统预置宏参数变量,如引力 APPID 引力 APPID

5.设置请求方式

回调方法:固定为 POST

6.设置超时与重试

配置项 默认值 说明
超时时长 2000 毫秒 服务端需在此时限内响应,否则视为超时
重试次数 1 次 请求失败后会自动重试的次数

三、签名生成

引力在触发事件回调时,会携带签名参数,您可以考虑校验该值来避免接口被滥用,计算签名的步骤如下
def get_sign(params: dict , access_token: str) -> str:
"""
@param params: 请求体参数
@param access_token: 引力 App 的 access_token(该参数在应用管理界面可以获取)
"""
    param_list = []
    for k, v in params.items():
        if k == "sign":
            continue
        param_list.append(f"{k}={json.dumps(v,sort_keys=True)}")
    param_list.sort()
    sb = "&".join(param_list) + access_token
    current_str = sb.replace("\"", "").replace(" ", "")
    return hashlib.md5(current_str.encode("utf-8")).hexdigest()
 

四、回调数据结构说明

当事件触发后,引力服务端会以 POST 方式向你配置的回调地址发送以下 JSON 格式数据:

请求体格式

{ 
    "app_id": "your_app_id",
    "client_id": "your_client_id",
    "sign":"8bf4b8a9abadab70009b3f84cdd14eba",
    "events": [{
        "event": "eventname",
        "time": 1779439377000,
        "properties": {}
    }],
    "callback_params":{
         "key1": "value1",
         "key2": "value2"
     }
}

字段说明

字段 类型 必填 说明
app_id String 引力平台分配的应用 ID
client_id String 客户唯一标识 ID
sign String 签名,生成规则参考上方的签名生成
events Array 事件列表,可同时包含多个事件
events[].event String 事件名称(如 $UserAttribution,$PayEvent)
events[].time Number 事件发生时的毫秒级时间戳(Unix timestamp)
events[].properties Object 事件的事件属性,根据事件类型动态变化
callback_params Object 你在配置界面添加的宏参数和自定义参数

五、接入示例

回调请求示例

curl -X POST "https://your-server.com/callback" \
  -H "Content-Type: application/json" \
  -d '{
    "app_id": "your_app_id", // 引力的appID
    "client_id": "your_client_id", // 客户ID
    "sign":"8bf4b8a9abadab70009b3f84cdd14eba",//签名
    "events": [   //事件列表
        {
            "event": "eventname", //事件名称
            "time":1779439377000, //事件发生时的毫秒时间戳
            "properties": {       //事件属性
            }
        }
    ],
   //配置的宏参数和自定义参数
    "callback_params": {
        "key1" :"value1",
        "key2" :"value2"
    }
}'

服务端响应要求

您的服务端收到回调后,应在超时时间内返回 HTTP 200 状态码且响应结果为json格式{"code":0}表示成功。 若返回非 200状态码或响应结果不为json格式{"code": 0}或超时,系统将按照配置的重试次数进行重试。
 
 
 
上一个
联调指南
下一个
附录
最近修改: 2026-07-01Powered by