接口文档SDK业务专题开发者工具

转化归因——API自归因接口

1. 请求参数

参数仅适用于使用新转化归因专区的API自归因接口上报。
原有上报方式请参考:《原应用类API接口

2. 请求参数及示例

名称 是否必填 类型 描述
user_id hash_imei Android 必填
IOS不填
string IMEI设备号保持小写,进行MD5编码字段长度为32字节
hash_idfa IOS必填
Android 不填
string IDFA设备号保持大写,进行MD5编码
字段长度为32字节
hash_phone 选填 string 电话号码直接 MD5 编码,如 md5(13500000000)
字段长度为32节
oaid Android 选填,推荐使用

IOS不填
string 移动安全联盟(简称MSA)制定的匿名设备标识符,保留原始值,不需要MD5编码。具体OAID介绍以及最新覆盖厂商范围请详见
[MSA官网]
hash_oaid Android 选填,推荐使用

IOS不填
string oaid原值进行MD5编码
hash_android_id Android 选填

IOS不填
string 对 android_id 进行 MD5 编码
字段长度为 32 字节
CALLBACK 必填 string 直接从点击转发出去的__CALLBACK__字段中URLDecode获得,每次点击唯一,作为上报地址使用
curl -X POST \
  http://tracking.e.qq.com/conv?cb=YWRzX3NlcnZpY2UsMTU4NDUxMDI3OSwyNjg5MzNhMzc5MTM0YzBjMDQ4ZGZjMGQyNGYzMTk0NWYzMzJiOWNi&conv_id=10001 \ //这里请求的url&path 直接从点击转发出去的__CALLBACK__字段中URLDecode获得,左边是示例请求,请勿直接上报
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
    "actions":[
        {
            "outer_action_id":"outer_action_identity",// 选填,若上报可能有重复请填写该id,系统会根据该ID进行去重
            "action_time":1492998081,
            "user_id":{// 必填 user_id,可采集到的设备标示
                "hash_imei":"f9efca36a3c30e1cf28170d86ecbf5e9",
                "hash_idfa":"f9efca36a3c30e1cf28170d86ecbf5e9",
                "hash_android_id":"",
                "oaid":""
                "hash_oaid":""
            },
            "action_type":"ACTIVATE_APP", // 必填 行为类型
            "action_param":{
                "value":123,// 选填,用作付费/下单金额等上报
                "int_example":456,// 选填,int类型参数示例
                "int_array_example":[
                    123,
                    456
                ],// 选填,int类型数组示例
                "string_example":"aaa",// 选填,string类型参数示例
                "string_array_example":[
                    "aaa",
                    "bbb"
                ]// 选填,string类型数组示例
            }
        }
    ]
}'

当请求API后,收到返回值为{"code":0, "message":""} 表示广告平台成功收到数据
注意上报地址CALLBACK是直接从点击转发出去的CALLBACK字段中URLDecode获得,上面示例中的url&path是示例请求,请勿直接上报

3. 优化目标上报方式说明

优化目标名称 标准行为(action_type) 行为参数(action_param) 投放端指标 备注
激活 ACTIVATE_APP 激活总量
次日留存 START_APP length_of_stay=1 次日留存量
注册 REGISTER 注册量
付费 PURCHASE 付费行为量 若要上报金额请在param中添加参数“value”:123
首次付费 PURCHASE 首次付费人数 系统会依据设备号进行去重,若要上报金额请在param中添加参数“value”:123
下单 COMPLETE_ORDER 下单量 若要上报金额请在param中添加参数“value”:123
关键页面浏览 VIEW_CONTENT 关键页面浏览量
商品页浏览 VIEW_CONTENT object=PRODUCT 商品页浏览量
发货 DELIVER 订单发货量 若要上报金额请在param中添加参数“value”:123
加入购物车 ADD_TO_CART 加入购物车量
首次会员购买 PURCHASE object=MEMBER_CARD APP/WEB 系统会依据设备号进行去重,若要上报金额请在param中添加参数“value”:123
完件 APPLY 完件量(金融)
预授信 PRE_CREDIT 预授信量(金融) 若要上报金额请在param中添加参数“value”:123
授信 CREDIT 授信量(金融) 若要上报金额请在param中添加参数“value”:123
提现 WITHDRAW_DEPOSITS 提现量(金融) 若要上报金额请在param中添加参数“value”:123

4. 转化上报常用参数列表(action_param)

参数名 类型 描述 是否必填 取值范围 备注
value int 订单价值,单位:分 体现转化带来的价值,在上报COMPLETE_ORDER或PURCHASE行为时可选填
object string 行为对象 ^.{0,200}$ 在上报VIEW_CONTENT行为时参数填写为object=product,表示上报的是商品页面浏览行为
length_of_stay int 停留时间,单位:天 在上报START_APP作为留存行为时必填。length_of_stay=1,表示上报的是次日留存行为。

5. 数据上报错误提示

错误码 中文提示 英文提示
20001 回调url内容错误 CB_CONTENT_ERROR
20002 没有与转化ID对应的转化规则 CONV_ID_ILLEGAL
20003 无效数据源ID ACTION_SET_ID_ABNORMAL
20004 无效账户ID ACCOUNT_ID_ABNORMAL
20005 编码base64密钥失败 ENCODE_B64_KEY_ERROR
20006 回调url base64解码失败 DECRYPT_B64_CB_ERROR
30000 Api访问失败 API_ERROR

6. 设备标识获取方式

IMEI

  • 描述:
    1. Android版本 < 6.0,只需要READ_PHONE_STATE静态权限(安装App时即可获取到该权限),即可通过系统API TelephonyManager#getDeviceId API获取准确值;
    2. 6.0 <= Android版本 <= 9.0,READ_PHONE_STATE升级为动态权限,安装App时不会获得该权限,需要在App运行时用户在弹窗确认授权后才可以获取
    3. Android版本 >= 10.0,设备不可变ID的隐私保护得到进一步升级,需要READ_PRIVILEGED_PHONE_STATE权限才可以获取IMEI,而该权限只有系统级别的应用才可以获得,因此一般App无法获取到IMEI。
  • 原始数据获取
    TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
    deviceId = tm.getDeviceId(); 
    // android版本>=10.0 不获取
  • 加密方式
    对IMEI设备号转成小写,再进行md5编码,再小写,32位。md5(imei.toLowerCase()).toLowerCase()
  • 示例
    • 原始值:868049039501257
    • MD5后:8d3ebd3654fb46a2832296669cf1b536

IDFA

  • 描述:
    目前iOS系统主流的广告获取设备标识符方式。用户可开启、关闭,每次切换会改变为新的取值。 10以下的版本关闭时也能取到唯一值, >=10的iOS版本关闭时取到的值为00000000000 ;系统大版本升级(如11 到 12) IDFA也会发生变化
  • 原始数据获取
    idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
  • 加密方式
    IDFA 设备号保持大写,进行 md5 编码,再小写,32位。md5(idfa.toUpperCase()).toLowerCase()

Android ID

  • 描述:
    1. Android版本 = 8.0,应用签名、用户(即系统上的用户账号)和设备的每个组合都具有唯一的 ANDROID_ID值,即使系统升级也不变。
  • 原始数据获取
    Settings.System.getString(context.getApplicationContext().getContentResolver(),
    Settings.System.ANDROID_ID);
  • 加密方式
    对 android_id 进行 md5 编码,再小写。 md5(androidId).toLowerCase()
  • 示例
    • 原始值:f40c5cf5100f9be3
    • MD5后:1995c8f7cec20632797539b68555752f

OAID

  • 描述:
    移动安全联盟(简称MSA)制定的匿名设备标识符,保留原始值,不需要MD5编码。可用于android系统的补充设备标示,通常android10以上的国内主流设备都可以获取。具体OAID介绍以及最新覆盖厂商范围请详见 [MSA官网]
  • 原始数据获取
    使用MSA官网提供的sdk
  • 加密方式
    无需加密

HASH_OAID

  • 描述:
    移动安全联盟(简称MSA)制定的匿名设备标识符,原始值进行MD5编码。可用于android系统的补充设备标示,通常android10以上的国内主流设备都可以获取。具体OAID介绍以及最新覆盖厂商范围请详见 [MSA官网]
  • 原始数据获取
    使用MSA官网提供的sdk
  • 加密方式
    OAID原值做MD5加密