数美天网-渠道假量识别#


版权所有 翻版必究


渠道假量识别

渠道假量识别#

具体接口#

请求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,用于区分相同公司的不同应用必传参数该参数传递值可与数美协商
eventIdstring事件ID,用于标识事件类型。必传参数不同的事件对应不同的策略,不同的事件输入参数可能会有细微的差别,请对应按照各事件详细传参说明
datajson_object请求的数据内容,事件特有参数可以放入data下传入必传参数请求的数据内容,最长10MB,详见data参数
其中,data的内容如下:
参数名称类型参数说明是否必传规范
tokenIdstring用户账号标识,建议使用贵司用户UID(可加密)自行生成 , 标识用户唯一身份用作灌水和广告等行为维度风控。如无用户uid的场景建议使用唯一的数据标识传值必传参数该ID为用户的唯一标识,且与其它数美接口的tokenId保持一致
isTokenSeperateint是否区分账号体系 同公司不同app接入,未统一账号体系,不同app,不同用户出现相同账号需要区分账号体系,0,不区分,1,区分。必传参数默认为0,如传为1,则token会自动处理为appid_token用以区分不同账号体系
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用户代理强烈建议
countryCodestring手机用户的国家代码强烈建议中国大陆区手机号填写0086非中国大陆区手机号填写国家代码例如:美国填写0001、安道尔0376、巴哈马1242
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请求标识请求唯一标识,用于排查问题和后续效果优化,强烈建议保存
riskevelstring当前事件的处置建议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规范
通用套利-渠道流量反作弊激活activation参数详情
通用套利-渠道流量反作弊首次活跃firstActive参数详情
通用套利-渠道流量反作弊注册register参数详情
通用套利-渠道流量反作弊游客注册guestRegister参数详情
通用套利-渠道流量反作弊登录login参数详情
通用套利-渠道流量反作弊下实物商品订单order参数详情
通用套利-渠道流量反作弊下虚拟商品订单(充值)virtualOrder参数详情
通用套利-渠道流量反作弊下服务订单serviceOrder参数详情
通用套利-渠道流量反作弊提现withdraw参数详情
通用套利-渠道流量反作弊浏览browse参数详情
通用套利-渠道流量反作弊点赞like参数详情
通用套利-渠道流量反作弊收藏collect参数详情
通用套利-渠道流量反作弊分享share参数详情
通用套利-渠道流量反作弊关注follow参数详情
通用套利-渠道流量反作弊签到signIn参数详情
通用套利-渠道流量反作弊做任务task参数详情
通用套利-渠道流量反作弊进入房间enterRoom参数详情
通用套利-渠道流量反作弊评论comment参数详情
通用套利-渠道流量反作弊订阅subscribe参数详情
通用套利-渠道流量反作弊支付payment参数详情

事件详细API#

激活 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
advertisingIdstring广告计费的设备ID必传参数一般是安卓的IMEI或苹果设备的IDFA。可以传入哈希值
apputmstring本次激活来自的渠道标识必传参数客户自定义字段

首次活跃 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
guestIdstring游客账号强烈建议如果是游客首次活跃,只传入tokenId,不传guestId;在游客账号绑定成真实账号时,tokenId传入真实账号,guestId传入游客账号,长度限制在64个字符以内。
nickNamestring用户账户昵称建议
signupPlatformstring第三方来源平台,如果本平台直接注册,可以不传建议可选值:qq、weibo、weixin、alipay、taobao、facebook、twitter
emailstring注册使用邮箱建议
sexstring用户性别,没有则不传建议可选值:male,female

注册事件 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
typestring注册方式: 包括手机号码一键注册、手机号验证码注册、第三方授权、用户名密码注册必传参数可选值:
phoneOnePass:手机号一键注册、手机号验证码注册
signupPlatform、第三方授权
userPassword用户名密码注册
hashPasswordstring加密后的用户密码强烈建议可选择任意一种加密方式进行加密,但必须确保同一密码加密后是唯一的且一致的。
isPhoneExistint该手机号是否已经被注册强烈建议可选值:01若注册方式为手机号注册,且该手机号已经被注册过,则传入1,否则传入0.
guestIdstring游客账号强烈建议在游客账号绑定成真实账号时,tokenId传入真实账号,guestId传入游客账号,长度限制在64个字符以内。
nickNamestring用户账户昵称建议
clickIdstring点击id强烈建议(渠道假量场景,关联渠道点击事件使用)
腾讯平台:传入点击回调中的click_id即可
巨量平台:传入点击回调中的CALLBACK_PARAM即可
signupPlatformstring第三方注册平台,如果本平台直接注册,可以不传建议可选值:qq、weibo、weixin、alipay、taobao、facebook、twitter
emailstring注册使用邮箱建议
sexstring用户性别,没有则不传建议可选值:male,female
isSignupPlatformPhoneint该手机号是否是第三方授权平台手机号建议可选值:01若手机号为第三方授权平台绑定的手机号,则传入1,否则传入0.

游客注册 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
guestIdstring当前业务中用户的游客账号必传参数游客注册事件需要在生成用户的游客ID后调用,每个用户的游客ID是唯一的,且与其它数美接口的guestId保持一致性,长度限制在64个字符以内。
roleIdstring当前业务登录用户角色,游戏行业特殊字段强烈建议

登录事件 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
typestring登录方式,包括:本机号码一键登录、手机号密码登录、手机号验证码登录、用户名密码登录、生物识别(指纹、人脸、声音锁)登录必传参数可选值:
fastLogin:快速登录
phoneOneLogin:本机号码一键登录
phonePassword:手机号密码登录
phoneMessage:手机号验证码登录signupPlatform:第三方授权登录
userPassword:用户名密码登录
biometric:生物识别
hashPasswordstring加密后的用户密码强烈建议可选择任意一种加密方式进行加密,但必须确保同一密码加密后是唯一的且一致的。
subTokenIdstring账号的子账号强烈建议某些特殊的场景主账号有多个子账号(游戏场景不同区服)
roleIdstring当前业务登录用户角色,游戏行业特殊字段强烈建议
validint用户名密码验证结果建议可选值:
1:成功
0:失败

下实物订单 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
productsjson array订单商品信息,详情见下文必传参数
orderIdstring订单ID强烈建议该商品订单唯一标识
paymentIdstring付款ID强烈建议用户进行一次下单付款动作的标识;该标识标记了用户发起的一次下单付款行为。
orderNotesstring订单备注信息建议用户在此订单上备注的信息
paymentMethodstring付款方式强烈建议可选值:
CASH_ON_DELIVERY:货到付款
ONLINE_PAYMENT:在线支付
intervalint64商品发布到下单时间,单位毫秒(ms)强烈建议主要用于商品秒杀
phonestring用户下单使用的手机号或者该手机号MD5加密字符串强烈建议中国大陆区手机号请填写11位数字例如:13800138000MD5加密字符串格式为32位小写
receiverPhonestring收货人手机号强烈建议中国大陆区手机号请填写11位数字例如:13800138000
receiverPhoneMd5string收货人手机号Md5值强烈建议MD5加密字符串格式为32位小写例如:d0213fde1643000949161dcb1ed0e605
countryCodestring手机用户的国家代码强烈建议中国大陆区手机号填写0086非中国大陆区手机号填写国家代码例如:美国填写0001、安道尔0376、巴哈马1242
shippingFeefloat64物流/快递费用强烈建议例如:0.00, 6.00
currencystring货币强烈建议参考货币代码表(ISO4217)
activityIdstring活动ID建议营销活动的ID
pricefloat64下单优惠前的金额建议货币计量单位为中国大陆法定货币人民币(CNY),单位:元例如:88.69
discountfloat64该订单享受的优惠金额建议商品订单原价–商品订单实际支付的价格
nickNamestring用户账户昵称建议
groupIdstring拼团的团ID建议用户自定义唯一标识
discountTypestring优惠来源建议可选值:
NEW_USER:新用户优惠
REWARD_TASK:奖励任务优惠
PURCHASE:购买
receiverCountrystring收货人地址的国家建议国际域名缩写,若不存在传国家英文全称例如:CN
receiverProvincestring收货人地址的省建议中文例如:山东省
receiverCitystring收货人地址的市建议中文例如:北京市
receiverDistrictstring收货人地址的区建议中文例如:朝阳区
receiverAddressstring收货人地址的详细地址建议中文
deliverTypestring配送方式建议可选值:SELF_PICKUP:自提
EXPRESS:快递
groupOwnerIdString用户参与拼团的发起人的账号Id建议用户参与拼团的发起人的唯一标识
shopIdstring门店编号建议
shopCountrystring门店(自提点)归属国家建议用于社区团购场景若不存在传国家英文全称,如:CN
shopProvincestring门店(自提点)归属省建议中文如:山东省
shopCitystring门店(自提点)归属市建议中文如:北京市
shopDistrictstring门店(自提点)归属区建议中文如:朝阳区
shopAddressstring门店(自提点)详细地址建议
discountsjson array券信息强烈建议例如:
[{"type":"券","id":"xxx","activityId":"xxx", "amount":5.00},{"type":"下单立减","id":"","activityId":"xxx", "amount":10.00},{"type":"积分","id":"","activityId":"xxx", "amount":2.50}]

products的内容如下:

参数名称类型参数说明是否必传规范
productIdstring商品ID,SPU标准化产品单元必传参数
productCountint商品数量必传参数
productTypestring商品类型建议用于需要特殊处理的商品,根据需要传入即可,具体值可参考为:“贵金属”
merchantIdstring商户ID必传参数若无法区分第三方(自营)传特定值“自营”
senderCountrystring发货人地址的国家建议国际域名缩写,若不存在传国家英文全称例如:CN
senderProvincestring发货人地址的省建议中文例如:山东省
senderCitystring发货人地址的市建议中文例如:北京市
senderDistrictstring发货人地址的区建议中文例如:朝阳区
senderAddressstring发货人地址的详细地址建议中文例如:望京诚盈中心1号楼3A或北京市朝阳区望京诚盈中心1号楼3A
productBrandstring商品品牌建议productBrand
productNamestring商品名称建议productName
productPricefloat商品价格建议productPrice
currencystring计价货币建议currency

discounts的内容如下:

参数名称类型参数说明是否必传规范
typestring券类型强烈建议
idstring券ID强烈建议标记优惠的唯一ID
activityIdstring券对应的活动ID强烈建议营销活动的ID
amountfloat券金额强烈建议

下虚拟商品订单 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
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)

下服务订单 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
orderIdstring订单ID必传参数
productsjson array订单服务信息,详情见下文强烈建议
intervalint64服务商品发布到下服务订单时间,单位毫秒(ms)强烈建议
serviceTokenIdstring提供服务的账号ID强烈建议
pricefloat64下单优惠前的金额建议货币计量单位为中国大陆法定货币人民币(CNY,单位:元例如:88.69
discountfloat64该订单享受的优惠金额建议商品订单原价–商品订单实际付款的价格
discountTypestring优惠来源建议可选值:
NEW_USER:新用户优惠
REWARD_TASK:奖励任务优惠
PURCHASE:购买
serviceNamestring服务商品名称建议例如:专车、拼车、出租车、送外卖、送咖啡等
currencystring计价货币建议价值的单位:人民币,美元,金币,智慧币等

products的内容如下:

参数名称类型参数说明是否必传规范
productIdstring商品ID,SPU标准化产品单元必传参数
productCountint商品数量必传参数
merchantIdstring商户ID必传参数若无法区分第三方(自营)传特定值“自营”
senderCountrystring发货人地址的国家建议国际域名缩写,若不存在传国家英文全称例如:CN
senderProvincestring发货人地址的省建议中文例如:山东省
senderCitystring发货人地址的市建议中文例如:北京市
senderDistrictstring发货人地址的区建议中文例如:朝阳区
senderAddressstring发货人地址的详细地址建议中文例如:望京诚盈中心1号楼3A或北京市朝阳区望京诚盈中心1号楼3A

提现 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
withdrawAmountfloat64提现金额必传参数货币计量单位为中国大陆法定货币人民币(CNY),单位:元例如:88.69
withdrawAccountIdstring提现账户ID必传参数例如:支付宝账户ID
withdrawPhonestring提现时使用的手机号或者该手机号MD5加密字符串强烈建议中国大陆区手机号请填写11位数字例如:13800138000MD5加密字符串格式为32位小写
phoneMd5string用户取消订单的手机号或者该手机号MD5加密字符串强烈建议中国大陆区手机号请填写11位数字例如:13800138000MD5加密字符串格式为32位小写
withdrawAccountTypestring提现账户类型,银行卡/微信/支付宝强烈建议可选值:bank:银行卡
weixin:微信
alipay:支付宝others:自由支付渠道
currencystring货币强烈建议参考货币代码表(ISO4217)

浏览/观看/阅读 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
guestIdstring当前业务中浏览的游客账户ID,当用户以游客身份进入时传入guestId强烈建议每个游客账号ID是唯一的,且与其它数美接口guestId保持一致性,长度限制在64个字符以内。
referIdstring前一个内容或页面ID,可以是URI强烈建议
contentOwnerIdstring被浏览内容的拥有者账号ID强烈建议平台自己发布的内容传空字符串
levelint用户等级,针对不同等级的用户可配置不同拦截策略强烈建议可选值:0,1,2,3,4分别对应:
0:最低级用户,典型如新注册、完全不活跃或等级为0的用户等
1:较低级用户,典型如低活跃或低等级用户等
2:中等级用户,典型如具备一定活跃或等级中等的用户等
3:较高级用户,典型如高活跃或高等级用户等
4:最高级用户,典型如付费用户、VIP用户、可考虑放过的用户等
productIdstring商品ID强烈建议浏览商品详情页是传入
productTypestring商品类别强烈建议浏览商品详情页是传入
商品的分类,例如:手机、电脑配件、化妆品、电脑笔记本等
productNamestring商品名称强烈建议浏览商品详情页是传入
productBrandstring商品品牌强烈建议浏览商品详情页是传入
productPricefloat商品单价强烈建议浏览商品详情页是传入
currencystring计价货币强烈建议浏览商品详情页是传入
参考货币代码表(ISO4217)
referTypestring前一个页面类型强烈建议可选值:首页、商品分类页,详情页,列表页
searchKeyWordsstring搜索关键词建议适用于通过搜索进入页面
browseLengthint64本次浏览时长,单位为毫秒(ms)建议适用电商场景
nickNamestring用户账户昵称建议
eventNamestring浏览页面的类型建议例如:首页、关注页、搜索页、推荐页等
contentIdstring内容或页面id,可以是URI建议当前页面Id,需要去掉可变参数
contentTypestring视频、文章、书籍小说建议可选值:
video:视频
article:文章
book:书籍
ad:广告
contentLengthint64内容长度
1.对于视频,是以ms为单位的时间;
2.对于文章,为空
3.对于小说,以字为单位的字数
建议
watchLengthint64本次观看时长,单位为毫秒(ms)建议
inviteTokenIdstring分享或邀请人的的tokenId建议
getCouponint激励事件标注建议如果此次事件是行为激励的一种任务形式,传入 1;否则传入0

点赞 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
receiveTokenIdstring点赞行为对象的ID强烈建议被点赞内容的拥有者ID
nickNamestring用户账户昵称建议
contentIdstring被点赞内容的ID建议被点赞内容的ID
getCouponint激励事件标注建议如果此次事件是行为激励的一种任务形式,传入1;否则传入0
shoppingMallIdstring商场Id建议线下场景,被点赞商户所在商场

收藏 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
receiveTokenIdstring收藏行为对象的ID强烈建议被收藏内容的拥有者ID
nickNamestring用户账户昵称建议
contentIdstring被收藏内容的ID建议被收藏内容的ID
getCouponint激励事件标注建议如果此次事件是行为激励的一种任务形式,传入1;否则传入0
productIdstring商品ID建议
productBrandstring商品品牌建议
productNamestring商品名称建议
productPricefloat商品价格建议
currencystring计价货币建议

分享 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
receiveTokenIdstring分享行为对象的ID强烈建议被分享的目标对象ID
nickNamestring用户账户昵称建议
contentIdstring被分享内容的ID建议被分享内容的ID
contentOwnerIdstring被分享内容的拥有者ID建议被分享内容的拥有者ID
getCouponint激励事件标注建议如果此次事件是行为激励的一种任务形式,传入1;否则传入0

关注 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
receiveTokenIdstring关注行为对象的ID强烈建议被关注的目标对象ID
nickNamestring用户账户昵称建议
contentIdstring被关注内容的ID建议被关注内容的ID
getCouponint激励事件标注建议如果此次事件是行为激励的一种任务形式,传入1;否则传入0

评论 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
commentstring用户评论的内容强烈建议用户评论的内容
commentIdstring评论内容的Id强烈建议用户评论内容的id
flightNumstring被评论的航班号强烈建议用户评论的航班号(特殊行业字段)
orderIdstring发表商品评论关联的订单号强烈建议
productIdString发表商品评论关联的商品强烈建议

签到 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
nickNamestring用户账户昵称建议
getCouponint激励事件标注建议如果此次事件是行为激励的一种任务形式,传入1;否则传入0

做任务 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
roleIdstring当前业务登录用户角色,游戏行业特殊字段强烈建议
subTokenIdstring账号的子账号强烈建议某些特殊的场景主账号有多个子账号(游戏场景不同区服)
taskIdstring任务ID强烈建议任务唯一标识
inviteTokenIdstring邀请人的tokenId强烈建议用在任务是由其他用户邀请做时传这个字段
invitationCodestring邀请用户的邀请码强烈建议接受邀请人填写的邀请码,或在二维码、链接中隐含的邀请码
getCouponint激励事件标注建议如果此次事件是行为激励的一种任务形式,传入1;否则传入0
eventNamestring事件名,表示当前事件类型下的具体事件建议例如:签到、玩游戏、记账、走路
taskCostTimeint64任务时长,以毫秒(ms)为单位的时间签到:0玩游戏:游戏时长记账:0走路:走路消耗时长建议
taskAmountint64任务内计数签到:留空玩游戏:留空记账:留空走路:走路步数建议
nickNamestring用户账户昵称建议
extrajson用户自定义数据或者数美要求传的特定数据如无必要,不传

进入房间 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
roomIdString房间号必传参数用户进入的房间号
enterFromstring进入房间来源强烈建议从哪个页面进入直播间,可选值:搜索结果,推荐页面,自动浏览,其他

订阅 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
contentIdstring用户订阅的文章id强烈建议用户订阅的文章id
receiveTokenIdstring用户订阅文章的作者id强烈建议用户订阅文章的作者id

支付 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
methodstring支付方式强烈建议可选值:
qrscan:二维码支付,主动扫码
qrshow:二维码支付,被动扫码(展示付款码给别人)
phone:手机Pay支付
widget:控件支付
wechatQr: 微信扫码支付
aliPay: 支付宝扫码/登录付款
debitCard:借记卡支付
creditCard:信用卡支付
huaweiPay:华为钱包支付
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:“平台自身”

示例:#

请求示例:#

{
"accessKey": "XXXXXXXX",
"appId": "default",
"data": {
"deviceId": "202202110150160d1404c60f8a645c49786a53435c6b64010242529c497de4",
"ip": "87.119.224.144",
"isTokenSeperate": 0,
"timestamp": 1647570483887,
"tokenId": "1157893898",
"email": "iGa.mie.123+test@gmail.com",
"phoneMd5": "788abf53c451e0e7f6ff772b79784af3",
"nickName": "hhh"
},
"eventId": "register"
}

同步返回示例:#

{
"code": 1100,
"message": "成功",
"requestId": "4176ccb9803096b26b51e5d33e38838d",
"riskLevel": "PASS",
"score": 0,
"tokenRiskLabels": [
{
"label1": "ad_scam_token",
"label2": "ad_diversion_token",
"label3": "ad_diversion_token",
"description": "诈骗&引流账号:广告导流账号:广告导流账号",
"timestamp": null
},
{
"label1": "other_risk_token",
"label2": "high_frequency_token",
"label3": "high_frequency_token",
"description": "其他可疑账号识别:异常高频账号:异常高频账号",
"timestamp": null
},
{
"label3": "abnormal_active_token",
"description": "其他可疑账号识别:异常活跃账号:异常活跃账号",
"timestamp": null,
"label1": "other_risk_token",
"label2": "abnormal_active_token"
},
{
"timestamp": null,
"label1": "other_risk_token",
"label2": "discrete_region_token",
"label3": "discrete_region_token",
"description": "其他可疑账号识别:地域离散账号:地域离散账号"
},
{
"label1": "other_risk_token",
"label2": "abnormal_relation_token",
"label3": "abnormal_relation_token",
"description": "其他可疑账号识别:异常关联账号:异常关联账号",
"timestamp": null
},
{
"description": "其他可疑账号识别:机器操控账号:机器操控账号",
"timestamp": null,
"label1": "other_risk_token",
"label2": "monkey_token",
"label3": "monkey_token"
},
{
"label3": "monkey_register_token",
"description": "风险注册登录账号识别:机器注册账号:机器注册账号",
"timestamp": null,
"label1": "risk_register_login_token",
"label2": "monkey_register_token"
}
],
"tokenProfileLabels": [],
"detail": {
"description": "正常",
"model": "M1000"
}
}

账号查询接口#

请求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['圣诞岛']

在线咨询