运营商接口文档 (V1.0)

准备

content_copy
接入之前请在向商务同学获取接入需要的 appId 及 secret

请求

请求头

content_copy
REQUESTID 调用方的请求编号, 长度32位, 唯一代表此次请求
TIMESTAMP 请求的当前unix时间戳精确到毫秒,与当前时间差异不超过五分钟
AUTHID    C端客户授权标识: 1-已授权,0-未授权
ISCPT     终端产品是否合规: 1-合规,0-不合规
TMCNAME   终端商户名,必须与备案的终端商户名一致
SIGNATURE	本请求的签名,生成方式后面会提到

请求方式

content_copy
所有请求均通过POST, Content-Type: application/json 发送

签名方式

content_copy
SIGNATURE 生成方式 
REQUESTID、TIMESTAMP、AUTHID、ISCPT、TMCNAME、secret、请求体文本 使用","有序拼接组成字符串
按UTF8编码 取 MD5Hex 转大写

响应

content_copy
所有请求的响应均参照以下结构
{
    "reqId": "XXXXXXXX-XXXXX-XXXXX-XXXXXXXXX",
    "trxId": "XXXXXXXX-XXXXX-XXXXX-XXXXXXXXX",
    "code": 0,
    "feeFlag": 1,
    "msg": "SUCCESS",
    "detail": "",
    "data": {}
}

reqId  请求时的REQUESTID 一致
trxId  代表此次请求的受理id
code   响应码, 0为正常, 非0为异常
msg    响应的描述, "SUCCESS" 为成功, "FAIL" 为失败
detail 对异常返回的具体描述, code 不为0时返回
feeFlag 判断此次请求的计费状态, 1为计费, 0为不计费
data   为此次请求的业务数据,当且仅当code为0时返回

错误码

code detail
1000001 SIGNATURE(签名)不能为空
1000011 REQUESTID(请求编号)不能为空
1000021 TIMESTAMP(时间戳)不能为空
1000031 AUTHID(C端客户授权标识)不能为空
1000041 ISCPT(终端产品合规标识)不能为空
1000051 TMCNAME(终端商户名)不能为空
1000003 SIGNATURE(签名)验证失败
1000013 REQUESTID(请求编号)长度非法
1000023 TIMESTAMP(时间戳)非法
1000033 AUTHID(C端客户授权标识)不合法
1000043 ISCPT(终端产品合规标识)不合法
1000063 接口地址非法
1001001 产品为空
1001011 产品配置为空
1001002 产品已停用
1002001 应用为空
1002002 应用已停用
1003002 客户已停用
1003004 客户余额不足
1004004 数据处理失败
1005003 参数不合法
1005013 手机号不合法
1005023 身份证号不合法

产品-三网三要素验证

接口:

content_copy
/api/v1/3rd_check/{appId} POST

请求体(选一种入参即可):

content_copy
明文入参:
  {
    name          String  姓名
    idNo          String  身份证号
    phone         String  手机号
  }
  例: {"phone": "15038214902", "idNo":"43038119990707556X", "name":"张三"}
MD5入参:
  {
    nameMd5          String  姓名MD5(按UTF8编码,取MD5Hex)
    idNoMd5          String  身份证号MD5(按UTF8编码,取MD5Hex,含有X的身份证号X为大写)
    phoneMd5         String  手机号MD5(按UTF8编码,取MD5Hex)
  }
  例: {"idNoMd5": "c1654d2e5f0497b122c34edf5f84ca4d","phoneMd5":"c0bc9fc3d60b85ab7c4384ee4a64e39b","nameMd5":"ab2a0d28de6b77ffdd6c72afead099ab"}

响应:

content_copy
{
    "reqId": "XXXXXXXX-XXXXX-XXXXX-XXXXXXXXX",
    "trxId": "XXXXXXXX-XXXXX-XXXXX-XXXXXXXXX",
    "code": 0,
    "feeFlag": 1,
    "msg": "SUCCESS",
    "data": {
        result: "1",
        resultMsg: "一致",
        province: "北京",
        city:"北京",
        isp:"联通"
    }
}

产品-三网在网状态查询

接口:

content_copy
/api/v1/online_status/{appId} POST

请求体(选一种入参即可):

content_copy
明文入参:
  {
    name          String  姓名
    idNo          String  身份证号
    phone         String  手机号
  }
  例: {"phone": "15038214902", "idNo":"43038119990707556X", "name":"张三"}
MD5入参:
  {
    nameMd5          String  姓名MD5(按UTF8编码,取MD5Hex)
    idNoMd5          String  身份证号MD5(按UTF8编码,取MD5Hex,含有X的身份证号X为大写)
    phoneMd5         String  手机号MD5(按UTF8编码,取MD5Hex)
  }
  例: {"idNoMd5": "c1654d2e5f0497b122c34edf5f84ca4d","phoneMd5":"c0bc9fc3d60b85ab7c4384ee4a64e39b","nameMd5":"ab2a0d28de6b77ffdd6c72afead099ab"}

响应:

content_copy
{
    "reqId": "XXXXXXXX-XXXXX-XXXXX-XXXXXXXXX",
    "trxId": "XXXXXXXX-XXXXX-XXXXX-XXXXXXXXX",
    "code": 0,
    "feeFlag": 1,
    "msg": "SUCCESS",
    "data": {
        result: "1",
        resultMsg: "在网",
        province: "北京",
        city:"北京",
        isp:"移动"
    }
}

产品-三网在网时长验证

接口:

content_copy
/api/v1/online_duration/{appId} POST

请求体(选一种入参即可):

content_copy
明文入参:
  {
    name          String  姓名
    idNo          String  身份证号
    phone         String  手机号
  }
  例: {"phone": "15038214902", "idNo":"43038119990707556X", "name":"张三"}
MD5入参:
  {
    nameMd5          String  姓名MD5(按UTF8编码,取MD5Hex)
    idNoMd5          String  身份证号MD5(按UTF8编码,取MD5Hex,含有X的身份证号X为大写)
    phoneMd5         String  手机号MD5(按UTF8编码,取MD5Hex)
  }
  例: {"idNoMd5": "c1654d2e5f0497b122c34edf5f84ca4d","phoneMd5":"c0bc9fc3d60b85ab7c4384ee4a64e39b","nameMd5":"ab2a0d28de6b77ffdd6c72afead099ab"}

响应:

content_copy
{
    "reqId": "XXXXXXXX-XXXXX-XXXXX-XXXXXXXXX",
    "trxId": "XXXXXXXX-XXXXX-XXXXX-XXXXXXXXX",
    "code": 0,
    "feeFlag": 1,
    "msg": "SUCCESS",
    "data": {
        result: "1",
        resultMsg: "[0, 3)",
        province: "北京",
        city:"北京",
        isp:"电信"
    }
}

响应参数解释

参数 必选 类型 描述 说明
result String 响应结果值
resultMsg String 响应结果解释
province String
city String 城市
isp String 运营商

响应参数字典值

三要素校验字典值

result resultMsg 计费情况
-1 不支持该运营商 不计费
0 查无记录 不计费
1 一致 计费
2 不一致 计费

在网状态字典值

result resultMsg 计费情况
-1 不支持该运营商 不计费
0 查无记录 不计费
1 在网 计费
2 不在网 计费
3 停机 计费
4 关机 计费
5 在网但不可用 计费

在网时长字典值

result resultMsg 计费情况
-1 不支持该运营商 不计费
0 查无记录 不计费
1 [0, 3) 计费
2 [3, 6) 计费
3 [6, 12) 计费
4 [12, 24) 计费
5 [24, +) 计费