> >

verify接口文档

该接口用于业务方服务器查询极验模型识别的结果。

参数名称 是否必传 类型 描述
session_id String 查询结果的凭证, 从前一个接口返回
user_id String 用户的站内id
user_email String 用户的邮箱
phone_num String 用户的手机号码,支持MD5后的32位小写字符串
scene string 场景关键字,场景可参考场景约定
attr object 其他有助于风险分析的业务数据业务参数约定
flow_id int 处理流id,在account的处理流查看页面可以找到该id。未启用处理引擎的情况下不需要传该字段。

注意:所传参数需要用JWT进行编码,POST 内容为编码后的 JWT 串。签名方法为 HS256,可在极验后台获取监控秘钥(部署管理页面可见)进行签名。

接口参数示例如下:

{
"session_id" : "5d03ec51309cac984f5c3c0b699b78f5",
"user_id" : "user001",
"user_email": "user001@test.com",
"phone_num": "12345678902",
"flow_id": 1,//未启用处理引擎的客户不需传该字段
"scene": "login",
"attr":{
"nick_name": "geetest"
}
}

接口参数经 JWT 编码后如下:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uX2lkIjoiNWQwM2VjNTEzMDljYWM5ODRmNWMzYzBiNjk5Yjc4ZjUiLCJ1c2VyX2lkIjoidXNlcjAwMSIsInVzZXJfZW1haWwiOiJ1c2VyMDAxQHRlc3QuY29tIiwicGhvbmVfbnVtIjoiMTIzNDU2Nzg5MDIiLCJmbG93X2lkIjoxLCJzY2VuZSI6ImxvZ2luIiwiYXR0ciI6eyJuaWNrX25hbWUiOiJnZWV0ZXN0In19.KlLZD6mA7YFdO2WmAFQ2CsoNjYQ-eLzwoF83zLGkl2g

Python 客户端的 DEMO 示例如下:

import jwt  ##pip install PyJWT
import requests
url = "http://dkapi.geetest.com/deepknow/v2/verify"
secret = "some_secret_from_geetest_backend"
payload = {
"session_id": "6d0372e5-6ef8-4180-913d-109ebd06f828", ##该值要根据客户端返回的值来修改
"user_id": "user001", ##终端用的id
"user_email": "user001@test.com", ##终端用的的email
"phone_num": "12345678902", ##终端用户的手机号吗
"scene": "login", ##场景
"attr": {
"nick_name": "geetest"
}
}
code = jwt.encode(payload, secret, algorithm='HS256')
resp = requests.post(url, code)
print(resp.json())

verify 接口响应说明

verify 接口的返回响应为 JSON 格式,其内容说明如下:

参数名称 是否必须 类型 描述
status 必传 int 详细见错误码文档
message 必传 string status对应的消息
risk_code 必传 list 风险码(可能会有多个) ,风险码解释参考风险标识说明
risk_level 必传 int 风险等级(只返回最高风险等级)
challenge 必传 string 此次事件流水号
finger_print 必传 string 对应的设备的指纹
info 非必传 map 返回client_type, ip, refer, user_agent4个字段
private_action 非必传 list 针对当前业务定制的精准分析引擎识别结果字符串数组
action 非必传 string 处理流流分支命中后对应的action值,和入参flow_id对应
action_error 非必传 string 当处理流执行出错时显示的错误信息。

响应示例如下:

{
"challenge": "662a6a1b964f9d49f5ed1b3b6f046861",
"private_action": ['malicious_account_warn', 'debug_warn'],
"action": "block",
"finger_print": "DFBHNXLVUJCIFWZQY5SMCTMGQVN4J4EL",
"message": "ok",
"risk_code": [4006],
"risk_level": 7,
"status": 1,
"info": {
"client_type": "android",
"ip": "58.48.167.299",
"refer": "https://www.google.com/",
"ua": "Go-http-client/1.1"
}
}