银联商务天满服务平台
Java PHP Python



import com.chinaums.open.api.OpenApiCache;
import com.chinaums.open.api.OpenApiContext;
import com.chinaums.open.api.constants.ConfigBean;
import com.chinaums.open.api.internal.util.http.HttpTransport;
import java.util.UUID;

public class OpenApiSdkTest {
    public static void main(String[] args) throws Exception{
        String url = "/v1/datacenter/smartverification/encrypted/mobile/3factor/verify";
        //开发者ID
        String appId = "平台分配";
        //开发者秘钥
        String appKey = "平台分配";
        //实例化客户端
        ConfigBean configBean = new ConfigBean();
        OpenApiContext context = new OpenApiContext();
        String request = "{\"data\":\"\"}";
        context.setStartTime(System.currentTimeMillis());
        context.setRequestId(UUID.randomUUID().toString().replace("-", ""));
        context.setOpenServUrl(url.split("/v")[0].concat("/"));
        context.setApiServiceUrl(url);
        context.setVersion(url.split("/")[3]);
        context.setAppId(appId);
        context.setAppKey(appKey);
        context.setConfigBean(configBean);
        context.setServiceCode(url.split("/v")[1].substring(1));
        OpenApiCache.getCurrentToken(context);
        System.out.println(HttpTransport.getInstance().doPost(context, request));
    }
}
<?php
require_once "../utils/Log.php";
require_once "../utils/Tools.php";
require_once "../DefaultOpenApiClient.php";
class DataRequest

{
    public $url = "";
    public $serviceCode = "";
    public $apiVersion ="";
    public $needToken = true;
    public $needDataTag = false;
    public $data;

    function __construct($data, $url)
    {
        $this->data = $data;
        $apiVersion = preg_split("/[/]+/s",$url)[2];
        $this->apiVersion = $apiVersion;
        $serviceCode = strstr($url,$apiVersion);
        $this->url = strstr($url,"/".$apiVersion,true);
        $this->serviceCode = preg_replace("/^" . preg_quote($apiVersion, "/") . "/", "", $serviceCode);
    }
}

class DataDemo{
    public function main(){
        $appid = "平台分配";
        $appkey = "平台分配";
        $url = "/v1/datacenter/smartverification/encrypted/mobile/3factor/verify";
        $data = json_encode(array("data"=>""));
        $reqiest = new DataRequest($data,$url);
        $client = new DefaultOpenApiClient();
        $content = $client->execute($reqiest,$appid,$appkey);
        $obj = json_decode($content);
        print_r($obj->errCode);
        print_r($obj->errInfo);
    }
}
$p = new DataDemo();
$p->main();
?>
# -*- coding: utf-8 -*-
from webapi.DefaultOpenApiClient import DefaultOpenApiClient

url = "/v1/datacenter/smartverification/encrypted/mobile/3factor/verify"

class DataRequest(object):
    def __init__(self, data: dict) -> dict:
        self.data = data
        self.serviceCode = url[len(url.split("/v")[0])+len(url.split("/")[3])+1: len(url)]
        self.apiVersion = url.split("/")[3]
        self.needToken = True
        self.needDataTag = True

appId="平台分配"
appKey="平台分配"
client = DefaultOpenApiClient(appId, appKey)
cls = DataRequest({\"data\":\"\"})
response = client.execute(cls)
print(str(response.get("data")))
print(response.get("errCode"))
print(response.get("errInfo"))
print(response.get("resultCode"))
print(response.get("resultInfo"))

运营商三要素验证

URL

  • 生产环境: POST https://api-mop.chinaums.com/v1/datacenter/smartverification/encrypted/mobile/3factor/verify

描述:进行运营商三要素验证操作

ContentType:HTTP(S) + JSON

请求头

名称 必填 描述 示例值
Authorization 认证内容
Content-Type application/json;charset=utf-8

请求参数

名称 类型 必填 最大长度 描述 示例值
data stringObject 对下面转换的Json字符串用SM2公钥进行加密,然后对加密后的报文用base64编码

响应示例

{
  "errCode":"",
  "errInfo":"",
  "data":""
}

响应参数

名称 类型 必填 最大长度 描述 示例值
errCode string - 错误代码 详见错误码说明
errInfo string - 错误说明
data stringObject 对返回加密报文用base64解码后,用SM2对应的私钥解密
   phoneNo string 64 手机
   certType string 64 证件类型
   certNo string 64 证件号码
   name string 64 用户姓名
   operatorType string 64 运营商类型 移动CMCC、联通CUCC、电信CTCC
   respCode string 64 应答码
   respMsg string 64 应答码描述
   detailRespCode string 64 细分应答码
   detailRespMsg string 64 细分应答码解释

错误码

错误码 错误描述 解决方案
00 验证一致 应答码
01 验证不一致 应答码
02 不支持验证 应答码
03 验证要素格式错误 应答码
04 系统异常 应答码
1000 手机号码、证件号码、用户姓名一致 细分应答码
1001 手机号码、证件号码、用户姓名不完全一致 细分应答码
4009 验证要素格式错误 细分应答码
1005 用户未实名或不存在 细分应答码
1014 上游接口报错,请稍后重试 细分应答码
1002(兰铂旺详版) 姓名、证件号均与手机号实名信息不一致 细分应答码
1003(兰铂旺详版) 姓名不正确,请核实后重试 细分应答码
1004(兰铂旺详版) 证件类型或号码不正确,请核实后重试 细分应答码