【API接口】隐私号对接文档(AXB)

2024-08-29 19:48:46 举报文章

请求示例:

{AppSecret}:签约后技术人员会提供

{url}:yinsihao.1oc.cn

{returnurl} 需要URL编码,通话记录结果会POST至此URL。

{mobphone} 车主手机号(被叫)

{bmobphone} 用户手机号(主叫)

{cph} 车牌号(建议填写,走运营商挪车专用线路「更稳定」,不填写走普通隐私号线路)(选填)

{bindtime} 绑定有效期,单位分钟(最大不超过20)(选填)

CURL

curl -i -k --get --include 'https://{url}/module/yinsihao/apibind.php?type=axb&action=getprivacynumber&mobphone={mobphone}&bmobphone={bmobphone}&cph={cph}&bindtime={bindtime}&returnurl={returnurl}'  -H 'Authorization:{AppSecret}'

PHP

   $host="https://{url}";
   $path="/module/yinsihao/apibind.php";
   $method="GET";
   $appsecret="{AppSecret}";
   $headers=array();
   array_push($headers,"Authorization:".$appsecret);
   $querys="type=axb&action=getprivacynumber&mobphone={mobphone}&bmobphone={bmobphone}&cph={cph}&bindtime={bindtime}&returnurl={returnurl}";
   $bodys="";
   $url=$host.$path."?".$querys;
   $curl=curl_init();
   curl_setopt($curl, CURLOPT_CUSTOMREQUEST,$method);
   curl_setopt($curl, CURLOPT_URL,$url);
   curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
   curl_setopt($curl, CURLOPT_FAILONERROR,false);
   curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
   curl_setopt($curl, CURLOPT_HEADER,true);
   if(1==strpos("$".$host,"https://"))
    {
       curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,false);
       curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,false);
    }
   var_dump(curl_exec($curl));

JAVA

public static void main(String[] args) {
        String host = "https://{url}";
        String path = "/module/yinsihao/apibind.php";
        String method = "GET";
        String appsecret = "{AppSecret}";
        Mapheaders = new HashMap();
        headers.put("Authorization",appsecret);
        Mapquerys = new HashMap();
        querys.put("type", "axb");
        querys.put("action", "getprivacynumber");
        querys.put("mobphone", "{mobphone}");
        querys.put("bmobphone", "{bmobphone}");
        querys.put("cph", "{cph}");
        querys.put("bindtime", "{bindtime}");
        querys.put("returnurl", "{returnurl}");//通话记录回调地址
        try {
            /**
            * 重要提示如下:
            * HttpUtils请从
            * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
            * 下载
            *
            * 相应的依赖请参照
            * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
            */
            HttpResponse response = HttpUtils.doGet(host, path, method, headers, querys);
            System.out.println(response.toString());
            //获取response的body
            //System.out.println(EntityUtils.toString(response.getEntity()));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

Python

import urllib, urllib2, sys
import ssl
host = 'https://{url}'
path = '/module/yinsihao/apibind.php'
method = 'GET'
appsecret = "{AppSecret}";
querys = 'type=axb&action=getprivacynumber&mobphone={mobphone}&bmobphone={bmobphone}&cph={cph}&bindtime={bindtime}&returnurl={returnurl}'
bodys = {}
url = host + path + '?' + querys
request = urllib2.Request(url)
request.add_header('Authorization',appsecret)
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
response = urllib2.urlopen(request, context=ctx)
content = response.read()
if (content):
print(content)

失败响应

{
    "code": 400, //指返回结果码,并非http状态码
    "msg": "域名校验失败",
}

成功响应

{
    "code": 200,
    "msg": "ok",
    "data": {
        "xmobphone": "17305150036",//隐私号
        "sbid": "17223184122084",//唯一id号
        "starttime": 1722318412,//号码绑定开始时间
        "endtime": 1722318532,//号码绑定结束时间
    }
}

通话记录POST至returnurl地址,数据如下:

{
   "sbid": 17223184122084,
   "cpid":"",
   "bmobphone": 17305150036,
   "mobphone": 17305150036,
   "thsc": 12,
   "mid": 1722318412,//通话录音中用到
   "startime": 1722318412,
   "endtime": 1722318424, // 假设通话时长为12秒,这里简单地将结束时间设为开始时间+12秒
   "status": 200,
   "noanswerreason":"失败原因"
}

客户端收到结果后返回:

success
如果你认为本文可读性较差,内容错误,或者文章排版错乱,请点击举报文章按钮,我们会立即处理!