请求示例:
{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