Skip to content

Latest commit

 

History

History
134 lines (115 loc) · 8.9 KB

File metadata and controls

134 lines (115 loc) · 8.9 KB

总体描述

本文说明腾讯广告反欺诈在线查询接口的使用方法和协议规范。通过本查询接口,可以实时查询广告流量的虚假欺诈嫌疑。

接口定义

接口总述

  • 接口采用 JSON + HTTP 协议,请求和响应数据均为 UTF-8 编码。
  • 使用 post 方法提交完整报文,HTTP 头部无特殊校验逻辑,报文内容均在 HTTP 消息体中。
  • 接口请求域名:api.telesafe.qq.com
  • 接口名:BlackLibQuery。
  • 查询请求报文内容包含:请求消息头 + 请求消息体。
  • 查询响应报文内容包含:响应消息头 + 响应消息体。

请求报文

  • 请求消息头部 req_header 参数说明:
参数 是否必选 类型 说明
appid String 请求方唯一 ID,16个字符,每次请求时传递,用于身份识别。
timestamp Int 从格林威治时间1970年01月01日00:00:00起至现在的总秒数,精确到秒,与标准时间偏差5分钟之内。
v String 接口版本,此处填1.1。
nonce String 单次值,随机字符串,每次请求都必须不同,防止重放攻击。
echostr String 随机字符串,服务器原样带回,客户端校验,长度16个字节。
sign String 请求参数签名,以下两种字符串拼接后,经 MD5 计算出的32个字符的后16个字符:
  • 1. header 按必选字段 key 以字典序排序后,value 拼接(不包括 sign 字段)
  • 2. secret(固定密钥,16位),服务端分配
    • 请求消息体 req_body 参数说明: req_body 是对请求内容 json 结构的加密字符串,其中请求内容定义如下:
    参数名 是否必选 类型 说明
    sub_appid int 子业务 ID。
    scene int 业务场景ID,详情请参见下文业务场景 ID 说明
    query_info string 查询信息,详情请参见下文 query_info 参数说明
    • 业务场景 ID 说明:
    场景 ID 场景描述
    1007
  • 查询时机:登录/注册/营销活动等。
  • 查询目的:识别垃圾流量,真机假用户,小号等。
  • 1010 查询时机:微信 OpenID(仅针对微信场景)。
  • 查询目的:识别垃圾流量,小号等。
    • query_info 参数说明: query_info 是一个 json 结构,定义如下:
    参数名 必选 类型 说明
    phone_num String 手机号。
    id_num String 身份证号,建议提供。
    ip String IP。
    os_type Int 操作系统类型:
  • 0:未知。
  • 1:Android。
  • 2:iOS。
  • 3:Windows。
  • os_ver String 操作系统版本号,建议提供。
    imei String Andriod 设备的 IMEI。
    imsi String imsi。
    mac String 设备的 MAC 地址。
    access_mode String 入网方式,可取值有:wifi、4g、3g、2g。
    name String 姓名。
    card_no String 银行卡号。
    qq String QQ 号。
    wechat String 微信号。
    email String 邮箱。
    tel String 固定电话。
    address String 所在地址。
    contact String 联系人电话号码。
    url String 需要检测的页面链接。
    context String 上下文信息。
    sub_scene Int 子场景(由客户自定义。
    idfa string iOS 的 idfa。
    idfa_md5_encrypted Int idfa 是否 MD5 加密。
    imei_md5_encrypted Int IMEI 是否 MD5 加密。
    mac_md5_encrypted Int MAC 是否 MD5 加密。
    • 加密过程:
    1. 对请求内容用 AES 加密,加密模式 ECB ,填充方式全0,密钥为分配的 secret。
    2. 对加密后的数据经 Base64 编码后,得到的字符串作为 req_body 的最终值。

    响应报文

    • 响应消息头 rsp_header 参数说明:
    参数 是否必选 说明
    status 返回结果码:
  • 0:请求处理成功。
  • 100:错误的 post 数据格式。
  • 101:错误的请求消息头。
  • 102:错误的请求参数 - appid。
  • 103:错误的请求参数 - timestamp。
  • 104:错误的请求参数 - body。
  • 105:错误的请求参数 - v。
  • 106:错误的请求参数 - nonce。
  • 107:错误的请求参数 - sign。
  • 108:错误的请求类型 - echostr。
  • 109:错误的请求消息体。
  • 110:错误的加解密方式。
  • 201:访问量超过限制。
  • 500:未知处理状态。
  • 501:服务处理错误。
  • msg 结果/原因描述。
    echostr 随机字符串,服务器原样带回,客户端校验,长度16个字节。
    • 响应消息体 rsp_body 参数说明: rsp_body 是对响应内容 json 结构加密后的字符串,加密方式参照请求体 req_body 加密过程,解密过程与加密过程逆向即可。解密后的 json 结构如下:
    参数 是否必选 类型 说明
    tag String 标签,表示识别为欺诈的主要原因。详情请参见下文标签字段说明
    evil_level String 欺诈分,取值0 - 100,值越大表示欺诈概率越高。
    • 标签字段说明:
    标签名 说明
    疑似垃圾流量 结合设备与帐号的历史数据表现,判断该帐号/设备历史用互联网业务作恶行为,其产生的互联网行为对于其他业务来说属于作弊或垃圾流量。
    疑似新客户 通过帐号互联网行为(社交,浏览等)是否异常判断为小号或接码平台帐号。
    疑似假机 根据设备的一些数据表现,系统判定为模拟器或虚假设备 ID。
    疑似真用户假行为 根据设备的用户使用情况,系统判定该用户存在使用脚本、外挂、病毒等作弊行为。
    疑似真机假用户 根据设备的一些数据表现,系统判定为群控设备。

    示例代码

    • Request 示例:
    {
    	"Header": {
    		"Service": "PhoneNumber",
    		"AppId": "XXXX"
    	},
    	"Data": {
    		"PhoneNumber": "13072402195",
    		"Ip": "103.227.172.251",
    		"Imei": "xxxxxx"
    	}
    }
    • Response 示例:
    {
    	"Header": {
    		"Message": "OK",
    		"Service": "PhoneNumber"
    	},
    	"Data": {
    		"Score": 80.0,
    		"Tags": "疑似垃圾流量"
    	}
    }

    接口使用

    1. 申请接口使用权限。
    2. 调用对应的接口即可查询。