数美天网-交易风控#


版权所有 翻版必究


交易风控

交易风控#

事件接口#

请求URL:#

集群URL支持产品列表
北京http://api-skynet-bj.fengkongcloud.com/v4/event天网风险识别
美国(弗吉尼亚)http://api-skynet-fjny.fengkongcloud.com/v4/event天网风险识别
新加坡http://api-skynet-xjp.fengkongcloud.com/v4/event天网风险识别
欧洲(法兰克福)http://api-skynet-eur.fengkongcloud.com/v4/event天网风险识别

请求方法:#

POST

字符编码:#

UTF-8

建议超时时间:#

1s

请求参数:#

请求body = 通用请求参数 + 事件特有参数 (放在data字段下)

通用的请求参数#

放在HTTP Body中,采用Json格式,具体参数如下:

请求参数名类型参数说明是否必传规范
accessKeystring接口认证密钥
用于权限认证,开通账号服务时由数美提供或使用开通邮箱登录数美后台右上角相关文档处查看
必传参数数美分配
appIdstring应用ID,用于区分相同公司的不同应用必传参数该参数传递值可与数美协商。
当公司app存在多个马甲包,分下面两种情况:
1. 马甲包账号互通,不同马甲包数据传入不同的appId,tokenId保持一致
2. 马甲包账号独立,不同马甲包数据传入不同的appId,tokenId必须不同
eventIdstring事件ID,用于标识事件类型。必传参数不同的事件对应不同的策略,不同的事件输入参数可能会有细微的差别,请对应按照各事件详细传参说明
datajson_object请求的数据内容,事件特有参数可以放入data下传入必传参数请求的数据内容,最长10MB,详见data参数
其中,data的内容如下:
请求参数名类型参数说明是否必传规范
tokenIdstring用户账号标识,建议使用贵司用户UID(可加密)自行生成 , 标识用户唯一身份用作灌水和广告等行为维度风控。如无用户uid的场景建议使用唯一的数据标识传值必传参数注意点:
1. tokenId传入业务系统中的用户ID,务必保证接入数美全部事件相同用户传入的用户ID值一致且唯一
2. 如果公司主体下存在多个应用且需要按应用区分账号,即相同用户ID在不同应用中代表不同用户。则建议在传入的用户ID之前拼接应用标识作为tokenId传入,达到区分账号体系的目的。
3. 如果没有区分需求,则直接将用户ID传入tokenId字段即可
4. 如果传入错误,会导致系统认为是不同账号,账号的行为无法关联,导致识别不准确
ipstring当前业务事件发生时的客户端公网ipv4地址必传参数非内网ip
timestampint64当前业务事件发生时的时间戳,单位为毫秒(ms)必传参数
deviceIdstring数美设备指纹标识,由数美SDK生成强烈建议数美设备指纹标识,用于用户行为分析。
注:
1. 接入数美SDK前的版本,无法获取到deviceId的情况下,deviceId传空“”即可;
2. 直接传输getDeviceId获取到的原始字段,不需要解密
osstring应用端操作系统类型强烈建议可选值:android、harmony、ios、weapp、web、aliapp:支付宝小程序、ttapp:抖音小程序、tmapp:天猫小程序
appVersionstring应用版本号强烈建议传入当前应用或服务正在使用的版本号,格式为3个点4段数字,每段数字最多4位,例如3.2.1.1234。不足4段的请补0,例如2.1.5传入2.1.5.0。多于4段的取前4段,例如2.1.5.1.1传入2.1.5.1
activityIdstring营销活动id建议建议传入对应营销活动标识id
activityTypestring活动类型,主要分为线下活动和线上活动。根据不同活动类型可以调用不同策略建议可选值:online_activity、offline_activity。online_activity为线上活动,如线上签到等;offline_activity为线下活动,如地推拉新活动等;
userAgentstring用户代理强烈建议
phoneMd5string手机号的Md5,32位小写加密串建议
phoneSha256string手机号的Sha256加密串建议
newCountryCodestring手机号国家码建议该字符串规范为四位字符串,默认为中国手机号国家码0086,传入规范详见国家码与国家对应关系
rolestring角色强烈建议可选值(强校验取值只能为空、ADMINHOST);HOST代表主播,针对主播,将会放开多开、PC模拟器规则以及关联频度策略阈值,以保证主播的正常体验和使用。
levelint用户等级,针对不同等级的用户可配置不同拦截策略强烈建议可选值:0,1,2,3,4分别对应:
0:最低级用户,典型如新注册、完全不活跃或等级为0的用户等
1:较低级用户,典型如低活跃或低等级用户等
2:中等级用户,典型如具备一定活跃或等级中等的用户等
3:较高级用户,典型如高活跃或高等级用户等4:最高级用户,典型如付费用户、VIP用户、可考虑放过的用户等
vdatajson微行为数据传入字段建议
extrajson用户自定义数据建议如无必要,不传
passThroughjson用户自定义透传字段建议如无必要,不传
counterInfojson_object事件关联柜台信息可选参数事件与柜台具有关联时,强烈建议接入,否则部分策略无法使用,详见counterInfo参数
counterInfo的内容如下:
参数名称类型参数说明是否必传规范
counterNamestring柜台名称可选参数
counterProvincestring柜台所在省份可选参数
counterCitystring柜台所在城市可选参数
counterIdstring柜台唯一ID可选参数注意点:
1. counterId传入业务系统中柜台ID,务必保证接入数美全部事件相同柜台传入的counterID值一致且唯一
2. 如果传入错误,会导致系统认为是不同柜台,导致识别不准确
counterDistrictstring柜台所在地区可选参数
counterAddressstring柜台详细地址可选参数

返回结果#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称类型参数说明是否必返规范
codeint返回码1100:成功
1901:QPS超限
1902:参数不合法
1903:服务失败
1911:图片下载失败
9101:无权限操作
3000:运营商错误
除message和requestId之外的字段,只有当code为1100时才会存在
messagestring返回码描述和code对应:成功 QPS超限 参数不合法 服务失败 余额不足 无权限操作
requestIdstring请求标识请求唯一标识,用于排查问题和后续效果优化,强烈建议保存
riskLevelstring当前事件的处置建议PASS:通过
REVIEW:审核
REJECT:拒绝
VERIFY:验证
detailjson_object风险详情信息,详情见下文详见detail结果详情
tokenProfileLabelsjson_array账号属性标签仅在服务开通时返回,详见tokenProfileLabels结果详情
tokenRiskLabelsjson_array账号风险标签仅在服务开通时返回,详见tokenRiskLabels结果详情
detail结果的详情内容
返回结果参数名参数类型参数说明规范
descriptionstring当前事件的风险描述
modelstring规则标识,命中的最高优先级规则标识
hitsJson array事件命中的所有规则标识hits中每个字段都是一个object,详见hits结果详情
ip_countrystringip归属地国家
ip_provincestringip归属地省份
ip_citystringip归属地城市
verifyTypestring当处置建议为VERIFY时,返回verifyTypeUPSMS:上行短信验证码
DOWNSMS:下行短信验证码
CAPTCHA:验证码(点选或滑动等)
SEQUENCE:语序验证(点选或输入)
SPATIAL:空间逻辑推理
FACE:人脸检测
DELAY:延时交易
machineAccountRiskjson账号历史打黑信息只有当前账号历史被打入账号黑库后,账号的相关流水才会返回该结构体,详见machineAccountRisk结果详情
smidstring设备唯一标识需要传入deviceId字段且联系数美开通配置后,才会返回该字段
matchedListsjson_arrar功能名单内容详见matchedLists结果详情
matchedLists字段下每个对象包含以下信息
返回结果参数名参数类型参数说明规范
namestring名单名称
riskLevelstring处置建议
wordsjson_array敏感词命中信息;该json_array下的每个item代表一个敏感词的一次命中该名单下命中的敏感词风险详情,用于解释命中的敏感词位置等信息,详见words结果详情
words字段下每个对象包含以下信息
返回结果参数名参数类型参数说明规范
wordstring敏感词组合词返回 “服务|社会”;返回的是添加名单时添加的敏感词内容
checkItemstring配置匹配字段名单配置时的匹配字段
hits结果详情的内容
返回结果参数名参数类型参数说明规范
descriptionstring当前事件的风险描述
modelstring规则标识
riskLevelstring当前事件的处置建议PASS:通过
REVIEW:审核
REJECT:拒绝
VERIFY:验证
verifyTypestring当处置建议为VERIFY时,返回verifyTypeUPSMS:上行短信验证码
DOWNSMS:下行短信验证码
CAPTCHA:验证码(点选或滑动等)
SEQUENCE:语序验证(点选或输入)
SPATIAL:空间逻辑推理
FACE:人脸检测
DELAY:延时交易
machineAccountRisk详情的内容
返回结果参数名参数类型参数说明规范
tokenSampleLastTsint64最近打黑时间,毫秒级如:"tokenSampleLastTs": 1683026613000
tokenSampleDescstring历史打黑策略的description如:"tokenSampleDesc": "高风险设备:IP异常聚集"

其中标签类返回字段

tokenProfileLabels详情的内容
返回结果参数名参数类型参数说明规范
label1string一级标签展示账号属性标签的一级标签。
label2string二级标签展示账号属性标签的二级标签。
label3string三级标签展示账号属性标签的三级标签。
descriptionstring风险描述展示账号属性标签的中文描述。
timestampint64最近一次命中策略的时间最近一次命中策略的时间
detailjson_object证据描述证据细节
tokenRiskLabels详情的内容
返回结果参数名参数类型参数说明规范
label1string一级标签展示账号风险标签的一级标签。
label2string二级标签展示账号风险标签的二级标签。
label3string三级标签展示账号风险标签的三级标签。
descriptionstring风险描述展示账号风险标签的中文描述。
timestampint64最近一次命中策略的时间最近一次命中策略的时间
detailjson_object证据描述证据细节

事件列表#

事件eventId规范
下虚拟商品订单virtualOrder参数详情
完成订单finishOrder参数详情
支付payment参数详情
绑卡addCard参数详情
交易结果notify参数详情
转账transfer参数详情
实名认证identityVerify参数详情
存入deposit参数详情
销户cancelAccount参数详情
应用内购买退款申请refundApplication参数详情
应用内购买退款成功refundSuccess参数详情
争议dispute参数详情
拒付chargeback参数详情
开户openAccount参数详情

事件详细API#

下虚拟商品订单 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
productstring虚拟商品名称必传参数例如:金币、道具、会员等机票(航班号+“-”+日期,CA288-20180101)
orderIdstring订单ID强烈建议该商品订单唯一标识
intervalint64商品发布到下单时间,单位毫秒(ms)强烈建议主要用于商品秒杀
pricefloat64下单总金额(优惠前)强烈建议货币计量单位为中国大陆法定货币人民币(CNY),单位:元例如:88.69
discountfloat64该订单享受的优惠金额强烈建议商品订单原价–商品订单实际支付的价格
accountfloat64购买商品后账户余额强烈建议购买金币、Q币等虚拟商品后账户余额(增加),单位:元,例如:10.5
groupIdstring拼团的团ID建议用户自定义唯一标识
discountTypestring优惠来源建议可选值:
NEW_USER:新用户优惠
REWARD_TASK:奖励任务优惠
PURCHASE:购买
currencystring货币强烈建议参考货币代码表(ISO4217)
orderSourcestring订单来源的枚举值,分为两类:
1、用户购买官方的虚拟商品/充值;
2、用户间的虚拟商品交易,如游戏道具、NFT藏品等
建议枚举值:
mall: 订单来自官方商城,用来记录用户平台商城购买虚拟商品或充值;
exchange: 订单来自玩家交易所,用来记录用户间的虚拟商品交易

完成订单 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
orderTypestring订单类型必传参数可选值:offline:线下订单online:线上订单
orderIdstring订单ID强烈建议该商品订单唯一标识
paymentOpenIdstring支付账户的唯一标识强烈建议
paymentAccountTypestring支付账户类型,银行卡/微信/支付宝强烈建议可选值:
bank:银行卡
weixin:微信
alipay:支付宝
others:自由支付渠道
voucherTimestampint64付款凭证上的付款时间戳强烈建议
orderResultint订单成功或失败(例如订单超时未支付;如果是订单取消则不要调用此接口)强烈建议可选值:1:失败;0:成功
nickNamestring用户账户昵称建议
visitSubTypestring扫描枪的类型必传参数传入扫描枪的类型,例如:CPC、IBM、SELF_CHECKOUT
productsJson_array订单商品信息,详情见下文必传参数
paymentIdstring付款 ID强烈建议用户进行一次下单付款动作的标识;该标识标记了用户发起的一次下单付款行为。
pricefloat64下单优惠前的金额建议货币计量单位为中国大陆法定货币人民币(CNY),单位:元例如:88.69
discountfloat64该订单享受的优惠金额建议商品订单原价 – 商品订单实际支付的价格
discountTypestring优惠来源建议可选值:
NEW_USER:新用户优惠
REWARD_TASK:奖励任务优惠
PURCHASE:购买
shopIdstring门店编号建议
shopCountrystring门店归属国家建议用于社区团购场景若不存在传国家英文全称,如:CN
shopProvincestring门店归属省建议中文如:山东省
shopCitystring门店归属市建议中文如:北京市
shopDistrictstring门店归属区建议中文如:朝阳区
shopAddressstring门店详细地址建议

products 的内容如下:

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
productIdstring商品 ID,SPU 标准化产品单元必传参数
productCountint商品数量必传参数
productTypestring商品类型 建议用于需要特殊处理的商品,必传参数根据需要传入即可,具体值可参考为:“贵金属”
merchantIdstring商户 ID必传参数若无法区分第三方(自营) 传特定值“自营”
productBrandstring商品品牌强烈建议productBrand
productNamestring商品名称强烈建议productName
productPricefloat商品价格强烈建议productPrice

支付 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
methodstring支付方式强烈建议可选值:
qrscan:二维码支付,主动扫码
qrshow:二维码支付,被动扫码(展示付款码给别人)
phone:手机Pay支付
widget:控件支付
wechatQr: 微信扫码支付
aliPay: 支付宝扫码/登录付款
debitCard:借记卡支付
creditCard:信用卡支付
huaweiPay:华为钱包支付
amountdouble支付金额强烈建议
currencystring计价货币强烈建议参考货币代码表(ISO4217)
channelstring支付渠道强烈建议
cvvResultCodestringcvv验证结果强烈建议参考http://www.emsecommerce.net/avs_cvv2_response_codes.htm
avsResultCodestring地址验证结果强烈建议参考http://www.emsecommerce.net/avs_cvv2_response_codes.htm
cardBinstring卡bin,银行卡前六位强烈建议
bankCardstring支付银行卡号强烈建议当支付方式为借记卡支付或信用卡支付时传入该字段
XXXX-XXXX-XXXX-4242, 除后四位外,其余可用X代替
orderIdstring订单编号强烈建议当前支付的订单编号
bankCardPhonestring银行卡绑定的手机号强烈建议当支付方式为借记卡支付或信用卡支付时传入该字段
prcidstring银行卡所属人身份证号码的MD5强烈建议
merchantTypestring收款商户类型强烈建议可选值为:
1. normal: “普通商户”,商户资质要求较高,商户需要三证一表注册入网;
2. micro:“小微商户”,商户不需要提供三证一表,提供普通身份信息注册商户;
3. individual:“个人转账”,对收款方没有任何限制
4. platform:“平台自身”

绑卡 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
simVrfyRststring本机号校验结果必传参数取值:0: 不一致;1: 一致2: 本机号校验开关关闭 3: Token未取到 4: 设备指纹超时 5: 该用户手机号无法验证,包含境外手机号或取不到手机号的情况。若设备指纹后台本机号校验并落地接口中respCD返回其他非0000的应答码,直接通过此字段透传给数美
bankCardstring银行卡号必传参数
bankCardPhonestring银行卡绑定的手机号必传参数
simTypestringsim卡所属运营商强烈建议0-移动;1 -电信 2-联通当tokenStatus为000000时,type字段取值在上述0、1、2之间,其他情况type只能取9
deviceFPstring设备指纹id建议该字段由客户自行采集,用于跨数据源的数据关联等
cardTypestring银行卡类型强烈建议可选值:debit:借记卡credit:信用卡(贷记卡)combine:借贷合一semicredit:准贷记卡prepaid:预付卡
accountTypestring账户类型强烈建议可选值:I:一类户,II:二类户;III:三类户
pidTypestring银行卡所属人证件类型必传参数可选值:
prc:身份证
milc:军官证
passport:护照
hrc:回乡证
mtp:台胞证
polc:警官证
solc:士兵证
other:其它(境外)
pidstring银行卡所属人证件号码必传参数
validint四要素、公安部等标准验证是否都成功。必传参数可选值:1:成功0:失败,任意标准验证失败
elemsValidint四/五要素验证是否成功。有4/5要素验证时传入,没有不传。强烈建议可选值:1:成功0:失败
smsValidint银行预留手机号短信验证是否成功。有预留手机号短信验证时传入,没有时不传。强烈建议可选值:1:成功;0:失败
prcidValidint公安部验证是否成功。有公安部验证时传入,没有时不传强烈建议可选址:1:成功0:失败
countryCoderesstring预留手机号区号强烈建议传入当前绑卡交易的预留手机号区号

交易结果 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
notifyResultint交易结果必传参数可选值:
1:成功0:失败
notifyEventstring被返回交易结果的事件必传参数可选值(被返回交易结果事件的eventId):transferpayment
triggerReqIdstring触发当前事件的事件流水号。必传参数即,被返回交易结果的事件流水号
Issuerstring返回机构(发卡行)强烈建议取不到时传入空字符串。(注意,不是空白字符,而是长度为0的字符串)
IssuerIdstring返回机构代码(发卡行代码)强烈建议

转账 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
notifyResultint交易结果必传参数可选值:
1:成功0:失败
notifyEventstring被返回交易结果的事件必传参数可选值(被返回交易结果事件的eventId):transferpayment
triggerReqIdstring触发当前事件的事件流水号。必传参数即,被返回交易结果的事件流水号
Issuerstring返回机构(发卡行)强烈建议取不到时传入空字符串。(注意,不是空白字符,而是长度为0的字符串)
IssuerIdstring返回机构代码(发卡行代码)强烈建议

实名认证 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
simTypestringsim卡所属运营商强烈建议0-移动;1 -电信 2-联通当tokenStatus为000000时,type字段取值在上述0、1、2之间,其他情况type只能取9
openIdstring微信openId,APP端:为空强烈建议没有可不传
faceCertNumInt人脸识别次数,如果没有人脸识别则传为-1强烈建议
faceCertDurationInt操作人脸视频录制时长,如果没有人脸视频录制则传为-1强烈建议
ageInt身份证年龄强烈建议
prcidAddressstring身份证地址强烈建议
prcidCountrystring身份证归属国家强烈建议
prcidProvincestring身份证归属省份强烈建议若无法解析,可不传
prcidCitystring身份证归属城市强烈建议若无法解析,可不传
bankCardstring银行卡卡号强烈建议不加密
bankCardPhonestring银行卡预留手机号强烈建议
birthdaystring出生日期强烈建议
nameOCRstringOCR识别的身份证姓名强烈建议
prcidOCRstringOCR识别的申请人身份证号强烈建议
prcidValidTimestampStartOCRstringocr身份证生效日期强烈建议
prcidValidTimestampEndOCRstringocr身份证到期日期强烈建议
prcidIssuingOrgstring签发机关强烈建议
smsValidint短信动态验证码验证结果强烈建议1.有短信验证时传入;2:无短信验证时不传;可选值:1:成功
0:失败
faceValidInt人脸识别验证结果1:有人脸验证时传入2:无人脸验证时不传可选值:1:成功
0:失败

存入 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
prodTypestring产品编号必传参数产品编号,互金产品信息查询接口返回
buyBaseAcctNostring购买账号必传参数
tranAmtdouble购买金额必传参数单位:元
payCodestring支付方式(只有W)必传参数S凭印鉴支取
P凭密码支取
W无密码无印鉴支取
B凭印鉴和密码支取
O凭证件支取
realRatedouble执行利率强烈建议
couponCodestring单卡券码强烈建议使用卡券是需要输入卡券号码
acctExecstring推荐人强烈建议
tranDatestring交易日期必传参数ESB接口字段,格式为YYYYMMDD
tranTimestampstring交易时间必传参数ESB接口字段,格式为HHMMSSNNN
sourceTypestring渠道类型必传参数ESB接口字段,各系统提供渠道类型说明
seqNostring渠道流水号必传参数ESB接口字段
systemIdstring上游系统标识强烈建议ESB接口字段
partnerIdstring合作方标识强烈建议ESB接口字段
logIdstring全局流水号强烈建议ESB接口字段
transNostring交易流水码必传参数
transIostring转入/转出必传参数I转入O转出
payerNmstring付款方姓名或名称强烈建议
payerAccNostring付款方账号强烈建议
payerBankNostring付款方开户行行号强烈建议
payerBankNmstring付款方开户行行名强烈建议
payeeNmstring收款方姓名或名称强烈建议
payeeAccNostring收款方账号强烈建议
payeeBankNostring收款方开户行行号强烈建议
payeeBankNmstring收款方开户行行名强烈建议

销户 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
baseAcctNostring账号/卡号必传参数
othBaseAcctNostring提现账号/卡号必传参数
ccystring预授权币种必传参数
tranDatestring交易日期必传参数ESB接口字段,格式为YYYYMMDD
tranTimestampstring交易时间必传参数ESB接口字段,格式为HHMMSSNNN
sourceTypestring渠道类型必传参数ESB接口字段,各系统提供渠道类型说明,渠道表见下表
seqNostring渠道流水号必传参数ESB接口字段
systemIdstring上游系统标识强烈建议ESB接口字段
partnerIdstring合作方标识强烈建议ESB接口字段
logIdstring全局流水号强烈建议ESB接口字段
accNostring账号强烈建议反洗钱黑名单接口字段
custNostring客户号强烈建议反洗钱黑名单接口字段
genderstring性别强烈建议反洗钱黑名单接口字段M男F女N不填

应用内购买退款申请 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
orderIdstring退款订单号必传同下订单/下虚拟商品订单事件中的orderId
applicationReasonint退款原因强烈建议可选值:
1:未到账
2:未成年人购买
3:家庭成员误购
4:功能不符合预期
5:意外点击购买
6:不想要了
7:其他
applicationTimeint64申请退款时间,单位毫秒(ms)必传

应用内购买退款成功 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
orderIdstring退款订单号必传同下订单/下虚拟商品订单事件中的orderId
refundTimeint64退款成功时间,单位毫秒(ms)必传
applicationReasonint退款原因强烈建议可选值:
1:未到账
2:未成年人购买
3:家庭成员误购
4:功能不符合预期
5:意外点击购买
6:不想要了
7:其他

争议 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
orderIdstring订单ID必传
resultstring争议结果必传可选值:
won 成功
lost 失败
disputeTimeint64争议发送的时间必传
disputeTypestring争议类型必传可选值:
first_dispute
second_dispute
arbitrary_court

拒付 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
chargebackTimeint64发起拒付的事件戳,毫秒必传
chargebackCurrencystring拒付货币单位
chargebackAmountfloat拒付金额
reasonCodestring拒付原因码
typestring类型可选值:
NoF: Notification of fraud, 卡组织的欺诈提醒,还未发生cb
RFI: requirement for information, 还未发生cb,需要跟多的信息,需要及时回应
NoC:notification of chargeback,cb已经发起
gatewaystring支付网关
reasonDescriptionstring拒付原因描述
cardCompanystring信用卡卡组织VISA, Mastercard, AMEX, JCB,Discovery, UnionPay
issuerstring发卡行
respondDeadlineint64响应拒付的最后期限
feefloat拒付产生的费用可选
feeCurrencystring拒付费用计费货币可选

开户 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求

示例:#

请求示例:#

{
"accessKey": "XXXXXXX",
"eventId": "order",
"appId": "default",
"data": {
"ip": "",
"deviceId": "BQ144b7Xd4TAejWdbWOrB4SI0Gn7vaYxEybz2q22851RoABghw4evlXwXBlPjwY89Iv5kBZjE+nR7WDWFB94IPA==",
"phoneMd5": "67e7fec84d482447595eff4109f87c58",
"appVersion": "4.5.9",
"tokenId": "8ddbb939193651b7a38f5fe33ab14e53",
"isTokenSeperate": 0,
"os": "android",
"paymentMethod": "ONLINE_PAYMENT",
"products": [
{
"merchantId": "",
"productCount": 1,
"productId": "60425"
}
],
"timestamp": 1652370840283,
"activityId": "",
"discountType": "PURCHASE"
}
}

同步返回示例:#

{
"requestId": "0acfaaebbc01001113d6ad0b8c11eeb8",
"riskLevel": "REJECT",
"tokenRiskLabels": [
{
"timestamp": 1652370941818,
"label1": "risk_device_token",
"label2": "multi_boxing_token",
"label3": "multi_boxing_by_app_token",
"description": "风险设备账号:多开设备账号:工具多开设备账号"
},
{
"label1": "risk_device_token",
"label2": "multi_boxing_apps_token",
"label3": "multi_boxing_apps_token",
"description": "风险设备账号:安装多开工具设备账号:安装多开工具设备账号",
"timestamp": 1652370941818
}
],
"detail": {
"ip_province": "江西",
"hits": [
{
"description": "高风险账号:账号异常聚集账号",
"model": "M002020112",
"riskLevel": "REJECT"
},
{
"description": "高风险账号:数美风险模型识别",
"model": "M002070002",
"riskLevel": "REJECT"
},
{
"riskLevel": "REJECT",
"description": "高风险账号:数美风险模型识别",
"model": "M00212001"
},
{
"description": "高风险设备:账号异常聚集",
"model": "M99120102",
"riskLevel": "REJECT"
}
],
"model": "M99120102",
"machineAccountRisk": {
"tokenSampleDesc": "账号异常聚集",
"tokenSampleLastTs": 1652370941818
},
"description": "高风险设备:账号异常聚集",
"ip_country": "中国",
"ip_city": "上饶"
},
"code": 1100,
"message": "成功"
}

账号查询接口#

请求URL:#

集群URL支持产品列表
北京集群http://api-tianxiang-bj.fengkongcloud.com/tianxiang/v4风险查询
新加坡集群http://api-tianxiang-xjp.fengkongcloud.com/tianxiang/v4风险查询
法兰克福集群http://api-tianxiang-eur.fengkongcloud.com/tianxiang/v4风险查询
弗吉尼亚集群http://api-tianxiang-fjny.fengkongcloud.com/tianxiang/v4风险查询

请求方法:#

POST

字符编码:#

UTF-8

建议超时时间:#

1s

请求参数:#

放在HTTP Body中,采用Json格式,具体参数如下:

请求参数名类型参数说明是否必传规范
accessKeystring接口认证密钥
用于权限认证,开通账号服务时由数美提供或使用开通邮箱登录数美后台右上角相关文档处查看
必传参数数美分配
datajson_object请求的数据内容必传参数请求的数据内容,最长10MB,详见data参数
其中,data的内容如下:
请求参数名类型参数说明是否必传规范
tokenIdstring用户账号标识,建议使用贵司用户UID(可加密)自行生成 , 标识用户唯一身份用作灌水和广告等行为维度风控。如无用户uid的场景建议使用唯一的数据标识传值不能为空该ID为用户的唯一标识,且与其它数美接口的tokenId保持一致

返回结果#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称参数类型参数说明是否必返规范
codeint返回码1100:成功
1901:QPS超限
1902:参数不合法
1903:服务失败
1911:图片下载失败
9101:无权限操作
3000:运营商错误
除message和requestId之外的字段,只有当code为1100时才会存在
messagestring返回码描述和code对应:成功 QPS超限 参数不合法 服务失败 余额不足 无权限操作
requestIdstring请求标识请求唯一标识,用于排查问题和后续效果优化,强烈建议保存
tokenLabelsjson_object账号标签信息见下面详情内容,仅在tokenId传入且服务开通时返回
tokenProfileLabelsjson_array账号属性标签见下面详情内容,仅在tokenId传入且服务开通时返回
tokenRiskLabelsjson_array账号风险标签见下面详情内容,仅在tokenId传入且服务开通时返回

其中

1)tokenLabels的详情内容

返回结果参数名参数类型参数说明规范
machine_account_riskjson_object机器控制相关风险
UGC_account_riskjson_objectUGC内容相关风险
scene_account_riskjson_object场景账号风险特殊场景才可取到,如航司等

machine_account_risk的详情内容如下:

返回结果参数名参数类型参数说明规范
b_machine_control_tokenidint机器账号0:非机器控制账号1:机器控制账号
b_machine_control_tokenid_last_tsint机器账号时间
b_offer_wall_tokenidint积分墙账号0:非积分墙账号1:积分墙账号
b_offer_wall_tokenid_last_tsint积分墙账号时间

UGC_account_risk的详情内容如下:

返回结果参数名参数类型参数说明规范
b_politics_risk_tokenidint涉政风险0:暂未发现涉政风险1:存在涉政风险
b_politics_risk_tokenid_last_tsint涉政风险时间
b_sexy_risk_tokenidint色情风险0:暂未发现色情风险1:存在色情风险
b_sexy_risk_tokenid_last_tsint色情风险时间
b_advertise_risk_tokenidint广告风险0:暂未发现广告风险1:存在广告风险
b_advertise_risk_tokenid_last_tsint广告风险时间

scene_account_risk的详情内容如下:

返回结果参数名参数类型参数说明规范
i_tout_risk_tokenidint航司占座账号0:非航司占座账号1:航司占座账号
i_tout_risk_tokenid_last_tsint航司占座时间

其中标签类返回字段

1)tokenProfileLabels的详情内容

返回结果参数名参数类型参数说明规范
label1string一级标签展示账号属性标签的一级标签。
label2string二级标签展示账号属性标签的二级标签。
label3string三级标签展示账号属性标签的三级标签。
descriptionstring风险描述展示账号属性标签的中文描述。
timestampint64最近一次命中策略的时间最近一次命中策略的时间
detailjson_object证据描述证据细节

2)tokenRiskLabels的详情内容

返回结果参数名参数类型参数说明规范
label1string一级标签展示账号风险标签的一级标签。
label2string二级标签展示账号风险标签的二级标签。
label3string三级标签展示账号风险标签的三级标签。
descriptionstring风险描述展示账号风险标签的中文描述。
timestampint64最近一次命中策略的时间最近一次命中策略的时间
detailjson_object证据描述证据细节

示例:#

请求示例:#

{
"accessKey": "xxxxxxxxxxxxxxxxxxxxxxxxx",
"data": {
"tokenId": "ceshitokenId"
}
}

同步返回示例:#

{
"code": 1100,
"message": "成功",
"profileExist": 1,
"requestId": "7a5445716f0581c2ab1d381a6af4d1b8",
"tokenLabels": {
"machine_account_risk": {
"b_machine_control_tokenid": 1,
"b_machine_control_tokenid_last_ts": 1587711321232,
"b_offer_wall_tokenid": 1,
"b_offer_wall_tokenid_last_ts": 1587711321232
},
"UGC_account_risk": {
"b_politics_risk_tokenid": 1,
"b_politics_risk_tokenid_last_ts": 1587711321232,
"b_sexy_risk_tokenid": 1,
"b_sexy_risk_tokenid_last_ts": 1587711321232,
"b_advertise_risk_tokenid": 1,
"b_advertise_risk_tokenid_last_ts": 1587711321232
},
"scene_account_risk": {
"i_tout_risk_tokenid": 1,
"i_tout_risk_tokenid_last_ts": 1587711321232
},
"account_active_info": {
"i_tokenid_first_active_timestamp": 1587711321232,
"i_tokenid_active_days_7d": 5,
"i_tokenid_active_days_4w": 5
},
"account_freq_info": {
"i_tokenid_login_cnt_1d": 5,
"i_tokenid_login_cnt_7d": 5
},
"account_relate_info": {
"i_tokenid_relate_smid_cnt_1d": 5,
"i_tokenid_relate_smid_cnt_7d": 5,
"i_tokenid_relate_ip_city_cnt_1d": 5,
"i_tokenid_relate_ip_city_cnt_7d": 5
},
"account_common_info": {
"s_tokenid_relate_smid_info_map_4w": [
{
"smid": "xxxx1",
"days": "3"
},
{
"smid": "xxxx2",
"days": "5"
},
{
"smid": "xxxx3",
"days": "10"
}
],
"s_tokenid_relate_ip_city_info_map_4w": [
{
"city": "北京",
"days": "3"
},
{
"city": "长沙",
"days": "5"
},
{
"city": "武汉",
"days": "10"
}
]
}
},
"tokenProfileLabels": [
{
"label1": "age_gender",
"lable2": "token_age",
"label3": "minor_token",
"description": "年龄性别:年龄:未成年人",
"timestamp": 1634732525000,
"detail": {
}
}
],
"tokenRiskLabels": [
{
"label1": "risk_device_token",
"label2": "b_cloud_token_device",
"label3": "b_cloud_token_device",
"description": "风险设备账号:云手机账号:云手机账号",
"timestamp": 1634732525000,
"detail": {
}
},
{
"label1": "risk_device_token",
"label2": "b_hook_token",
"label3": "b_hook_token",
"description": "风险设备账号:hook设备:hook设备",
"timestamp": 1634732525000,
"detail": {
}
}
]
}

加密传输#

在某些场景下,为保障数据安全,我们需要对请求体进行加密处理后再进行传输。若需开通加密传输方式,请联系数美科技客服人员。本节将详细介绍如何实现这一过程,重点聚焦于使用SM4国密算法进行加密的实践方法。

支持的加密方式#

目前系统支持的加密传输方式主要为:

  • SM4国密算法:适用于对安全性有较高要求的场景,符合国家密码管理局的相关标准。

配置与准备#

  1. 密钥管理:确保加密前,已根据规定配置好加密所需的密钥及组织唯一标识。这些密钥信息由系统管理员提供。
  2. 服务端配置:加密传输功能需预先在服务器端设置并上线。包括了密钥配置、组织唯一标识。

加密传输参数说明#

当决定采用加密传输时,请求中需包含特定参数以指示加密方式及加密内容,具体如下:

参数名称类型参数说明是否必传规范
encryptTypestring指定使用的加密方式。加密传输时必须提供;非加密传输可忽略。固定值 SM4 表示使用SM4国密算法进行加密。
encryptDatastring经过加密处理后的数据字符串。encryptType 相关联,加密传输时必填;否则无需提供。使用指定的加密算法(如SM4)对原始请求数据进行加密后得到的结果。

示例请求体结构#

一个采用SM4加密的数据传输请求实例,其请求体可能如下所示(仅展示加密相关参数):

注意: 在SM4加密的数据传输请求中,请求体要求加密内容为JSON格式字符串,例如:{\"field1\":\"敏感数据1\",\"field2\":\"敏感数据2\",\"field3\":\"敏感数据3\"} ,确保信息安全加密处理。

{
"accessKey": "xxx",
"appId": "xxx",
"eventId": "xxx",
"data": {
"encryptType": "SM4",
"encryptData": "ZGYwZTA2MmJhNTU5ZDhkMjBlZWY4MmYwZTYyNTU1OWFjYTI2OGM4ZGFjNjNiNzg4ZDU0MTljMDIzNDRiZDQ4MGU5ODMwYzhkZmI0YzBhMTQ5NWFiMmUxNWFkMjNmMTg1YmQ5YWEyNGM1ZTdkNTI0ZTVlYjc1ZTVhMjhkYTE5MjFiNDU0MzRjODI3NjY0YTgwZWEzMjMyNGQ2NDUyOGNjMQ=="
}
}

示例返回体结构#

{
"detail": {
"encryptType": "SM4",
"encryptData": "ZTY5M2E5YWIwZDIwYjU0OWJlYWVhNDg0NTMzYWIyMDU1N2RhZmQ0ZGM4OGY0NjNmMDFjZjI1MTA3YTdkMGY2ZmIyNzA2MDY0MDg1MGU2YmVhNGNmMjIyZjBhNGUyMGE2MWZkODNmYWNmZDA0YTFkNmI5Y2JhYWFmN2YzODVhYTk="
},
"code": 1100,
"message": "成功",
"requestId": "6f58f1d7540cfc6b5d7acc563d6efb6e",
"riskLevel": "PASS"
}

通过遵循上述指南,您可以确保敏感数据在传输过程中得到有效的保护,满足组织的安全合规要求。

附录: 国家码与国家对应关系表#

国家码(newCountryCode)国家(intl_phone_country)国家码(newCountryCode)国家(intl_phone_country)
0001['美国', '加拿大']0372['爱沙尼亚']
0007['俄罗斯', '哈萨克斯坦']0373['摩尔多瓦']
0020['埃及']0374['亚美尼亚']
0027['南非']0375['白俄罗斯']
0030['希腊']0376['安道尔']
0031['荷兰']0377['摩纳哥']
0032['比利时']0378['圣马力诺']
0033['法国']0379['梵蒂冈']
0034['西班牙']0380['乌克兰']
0036['匈牙利']0381['塞尔维亚']
0039['意大利']0382['黑山']
0040['罗马尼亚']0383['科索沃']
0041['瑞士']0385['克罗地亚']
0043['奥地利']0386['斯洛文尼亚']
0044['英国', '泽西岛', '马恩岛', '根西岛']0387['波黑']
0045['丹麦']0389['北马其顿']
0046['瑞典']0420['捷克']
0047['挪威', '斯瓦尔巴岛和扬马延岛']0421['斯洛伐克']
0048['波兰']0423['列支敦士登']
0049['德国']0500['福克兰群岛', '南乔治亚岛和南桑威奇群岛']
0051['秘鲁']0501['伯利兹']
0052['墨西哥']0502['危地马拉']
0053['古巴']0503['萨尔瓦多']
0054['阿根廷']0504['洪都拉斯']
0055['巴西']0505['尼加拉瓜']
0056['智利']0506['哥斯达黎加']
0057['哥伦比亚']0507['巴拿马']
0058['委内瑞拉']0508['圣皮埃尔和密克隆']
0060['马来西亚']0509['海地']
0061['澳大利亚', '赫德岛和麦克唐纳岛']0590['瓜德罗普', '圣巴泰勒米', '法属圣马丁']
0062['印尼', '印度尼西亚']0591['玻利维亚']
0063['菲律宾']0592['圭亚那']
0064['新西兰']0593['厄瓜多尔']
0065['新加坡']0594['法属圭亚那']
0066['泰国']0595['巴拉圭']
0081['日本']0596['马提尼克']
0082['韩国']0597['苏里南']
0084['越南']0598['乌拉圭']
0086['中国']0599['库拉索', '荷兰加勒比区', '荷属安的列斯']
0090['土耳其']0649['皮特凯恩']
0091['印度']0670['东帝汶']
0092['巴基斯坦']0673['文莱']
0093['阿富汗']0674['瑙鲁']
0094['斯里兰卡']0675['巴布亚新几内亚']
0095['缅甸']0676['汤加']
0098['伊朗']0677['所罗门群岛']
0210['西撒哈拉']0678['瓦努阿图']
0211['南苏丹']0679['斐济']
0212['摩洛哥']0680['帕劳']
0213['阿尔及利亚']0682['库克群岛']
0216['突尼斯']0683['纽埃']
0218['利比亚']0685['萨摩亚']
0220['冈比亚']0686['基里巴斯']
0221['塞内加尔']0687['新喀里多尼亚']
0222['毛里塔尼亚']0688['图瓦卢']
0223['马里']0689['法属波利尼西亚', '法属南部领地']
0224['几内亚']0690['托克劳']
0225['科特迪瓦']0691['密克罗尼西亚联邦']
0226['布基纳法索']0692['马绍尔群岛']
0227['尼日尔']0850['朝鲜']
0228['多哥']0852['中国']
0229['贝宁']0853['中国']
0230['毛里求斯']0855['柬埔寨']
0231['利比里亚']0856['老挝']
0232['塞拉利昂']0880['孟加拉国', '孟加拉']
0233['加纳']0886['中国']
0234['尼日利亚']0960['马尔代夫']
0235['乍得']0961['黎巴嫩']
0236['中非']0962['约旦']
0237['喀麦隆']0963['叙利亚']
0238['佛得角']0964['伊拉克']
0239['圣多美和普林西比']0965['科威特']
0240['赤道几内亚']0966['沙特阿拉伯']
0241['加蓬']0967['也门']
0242['刚果共和国', '刚果布']0968['阿曼']
0243['刚果民主共和国', '刚果金']0970['巴勒斯坦']
0244['安哥拉']0971['阿联酋']
0245['几内亚比绍']0972['以色列']
0246['英属印度洋领地']0973['巴林']
0248['塞舌尔']0974['卡塔尔']
0249['苏丹']0975['不丹']
0250['卢旺达']0976['蒙古']
0251['埃塞俄比亚']0977['尼泊尔']
0252['索马里']0992['塔吉克斯坦']
0253['吉布提']0993['土库曼斯坦']
0254['肯尼亚']0994['阿塞拜疆']
0255['坦桑尼亚']0995['格鲁吉亚']
0256['乌干达']0996['吉尔吉斯斯坦']
0257['布隆迪']0998['乌兹别克斯坦']
0258['莫桑比克']1242['巴哈马']
0260['赞比亚']1246['巴巴多斯']
0261['马达加斯加']1264['安圭拉']
0262['留尼汪']1268['安提瓜和巴布达']
0263['津巴布韦']1284['英属维尔京群岛']
0264['纳米比亚']1340['美属维尔京群岛']
0265['马拉维']1345['开曼群岛']
0266['莱索托']1441['百慕大']
0267['博茨瓦纳']1473['格林纳达']
0268['斯威士兰']1649['特克斯和凯科斯群岛']
0269['马约特', '科摩罗']1664['蒙塞拉特岛']
0290['圣赫勒拿']1670['北马里亚纳群岛']
0291['厄立特里亚']1671['关岛']
0297['阿鲁巴']1681['瓦利斯和富图纳']
0298['法罗群岛']1684['美属萨摩亚']
0299['格陵兰']1721['荷属圣马丁']
0350['直布罗陀']1758['圣卢西亚']
0351['葡萄牙']1767['多米尼克']
0352['卢森堡']1784['圣文森特和格林纳丁斯']
0353['爱尔兰']1787['波多黎各']
0354['冰岛']1809['多米尼加']
0355['阿尔巴尼亚']1868['特立尼达和多巴哥']
0356['马耳他']1869['圣基茨和尼维斯']
0357['塞浦路斯']1876['牙买加']
0358['芬兰', '奥兰']6721['南极洲']
0359['保加利亚']6722['科科斯(基林)群岛']
0370['立陶宛']6723['诺福克岛']
0371['拉脱维亚']6724['圣诞岛']

在线咨询