checkresult

概览

  • API URL:/api/v1/zoloz/location/checkresult
  • API 描述:该接口用于获取定位检测结果,包括IP地址信息、地理位置、VPN检测结果、模拟定位检测结果等信息。

说明:该接口支持重复调用,即符合幂等性。

请求参数

字段名称

数据类型

最大长度

是否必填

默认值

描述

示例值

bizId

String

32

-

业务ID,业务的唯一标识,用于追踪业务。例如,商户业务相关数据库中的序列号。

说明:ZOLOZ服务器不检查该字段的值是否唯一。为了更便捷地追踪业务,建议开启商户服务器,并确保业务ID的唯一性。

"2017839040588699"

transactionId

String

64

-

待查询的事务ID,由GeoTrust Locator initialize API返回。

"G000000005FID2020030400000000000157****"

返回参数

字段名称

数据类型

必须返回

描述

示例值

result

Result

API请求结果,包含结果状态、结果码和结果消息。

{

"resultCode": "SUCCESS",

"resultMessage": "Success",

"resultStatus": "S"

}

geoResult

String

定位检测总结果。

  • Success:定位检测成功。
  • Failure:定位检测失败。可能原因包括:
    • 用户设备开启了VPN或模拟定位,且客户设置了不允许使用。
    • 用户所在位置不在指定行政区范围内。
    • 未检测到定位信息。
    • ‌IP地址与经纬度信息不一致。

"Success"

ipLocation

Map

IP地址解析结果,包含国家和地区、经纬度等信息,详见IpLocation

{

"ip": "140.*.*.19",

"country": "中国",

"city": "浙江省",

"latitude": "30.2672",

"longitude": "120.1551"

}

matchedGeoFence

Boolean

地理围栏匹配结果。

  • true:在指定行政区范围内。
  • false:不在指定行政区范围内。

true

vpnDetected

Boolean

VPN连接检测结果。

  • true:检测到设备连接了VPN。
  • false:未检测到VPN连接。

false

mockDetected

Boolean

模拟定位检测结果。

  • true:检测到设备开启了模拟定位。
  • false:未检测到模拟定位。

false

IpLocation字段说明

字段名称

数据类型

必须返回

描述

示例值

ip

String

用户设备的IP地址。

"140.*.*.19"

country

String

所属国家,目前支持返回中文。

"中国"

city

String

所属地区,目前支持返回中文。

"浙江省"

latitude

String

经度坐标。

"30.2672"

longitude

String

纬度坐标。

"120.1551"

处理结果

根据请求结果执行下一步的响应动作,具体如下:

  • 当result.resultStatus的值为S时,表示调用ZOLOZ GeoTrust Locator checkresult API成功。
    • geoResult返回Success,表示定位检测成功。
    • geoResult返回Failure,表示定位检测失败,可根据返回的vpnDetectedmockDetectedmatchedGeoFence参数分析具体失败原因。
  • 当result.resultStatus的值为F时,表示调用ZOLOZ GeoTrust Locator checkresult API失败。请检查错误码获取有关该错误的更多信息,并分析导致该错误的原因。

API通用结果码

有关通用结果码的完整列表,请参见API通用结果码

代码示例

请求示例

copy
{
    "bizId": "2017839040588699", 
    "transactionId": "G000000005FID2020030400000000000157****"
}

返回示例

成功返回

copy
{
    "result": {
        "resultCode": "SUCCESS", 
        "resultMessage": "Success", 
        "resultStatus": "S"
    }, 
    "geoResult": "Success", 
    "ipLocation": {
        "ip": "140.*.*.19", 
        "country": "中国", 
        "city": "浙江省", 
        "latitude": "30.2672", 
        "longitude": "120.1551"
    }, 
    "matchedGeoFence": true, 
    "vpnDetected": false, 
    "mockDetected": false
}

失败返回:检测到VPN

copy
{
    "result": {
        "resultCode": "SUCCESS", 
        "resultMessage": "Success", 
        "resultStatus": "S"
    }, 
    "geoResult": "Failure", 
    "ipLocation": {
        "ip": "140.*.*.19", 
        "country": "中国", 
        "city": "浙江省", 
        "latitude": "30.2672", 
        "longitude": "120.1551"
    }, 
    "matchedGeoFence": true, 
    "vpnDetected": true, 
    "mockDetected": false
}

失败返回:未在指定行政区

copy
{
    "result": {
        "resultCode": "SUCCESS", 
        "resultMessage": "Success", 
        "resultStatus": "S"
    }, 
    "geoResult": "Failure", 
    "ipLocation": {
        "ip": "203.*.*.67", 
        "country": "Singapore", 
        "city": "Singapore", 
        "latitude": "1.3521", 
        "longitude": "103.8198"
    }, 
    "matchedGeoFence": false, 
    "vpnDetected": false, 
    "mockDetected": false
}