verify接口文档

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

地址:https://dkapi.geetest.com/deepknow/v2/verify

版本:V2

METHOD: POST

参数
请求参数用json格式

参数名称 是否必传 类型 描述
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。未启用处理引擎的情况下不需要传该字段。

额外的attr参数,请按照以下格式传入:

###注意:所传参数需要用JWT进行编码,post内容为编码后的JWT串。签名方法为HS256,可在极验后台获取监控秘钥(部署管理页面可见)进行签名。
关于jwt请访问 https://jwt.io

参数示例

{
"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())

接口返回说明
极验返回的参数为JSON格式:

参数名称 是否必须 类型 描述
status 必传 int 1,2,3,4,5,99
1:成功
2:签名错误
3:缺必填参数
4:jwt相关错误
99:其他错误
message 必传 string status对应的消息
risk_code 必传 list 风险码(可能会有多个)
risk_level 必传 int 风险等级(只返回最高风险等级)
challenge 必传 string 此次事件流水号
finger_print 必传 string 对应的设备的指纹
info 非必传 map 返回client_type, ip, refer, user_agent4个字段
action 非必传 string 处理流流分支命中后对应的action值,和入参flow_id对应
action_error 非必传 string 当处理流执行出错时显示的错误信息。

示例:

{
"challenge": "662a6a1b964f9d49f5ed1b3b6f046861",
"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"
}
}