隐私小号(停用)
<h2>概述</h2>
<p>隐私小号分为AX业务和AXB业务,AX业务为一对多呼叫,AXB为一对一呼叫
A表示真实号码,X表示小号,B表示对端号码</p>
<h3>AX业务</h3>
<h4>API清单</h4>
<p><a href="#隐私小号AX业务-绑定">1. 隐私小号AX业务-绑定</a>
<a href="#隐私小号AX业务-在线主叫">2. 隐私小号AX业务-在线主叫</a>
<a href="#隐私小号AX业务-查询绑定">3. 隐私小号AX业务-查询绑定</a>
<a href="#隐私小号AX业务-解绑">4. 隐私小号AX业务-解绑</a></p>
<h4>使用说明</h4>
<p>呼入:调用绑定API成功后,除A以外的任意号码(比如B)呼叫X,可以接通到A,来电号码显示B
呼出:调用绑定API成功后,再调用AX在线主叫API,传入subid与B号码(通知平台AXB关系),成功后用A号码呼叫X,可以接通到B,来电号码显示X</p>
<h3>AXB业务</h3>
<h4>API清单</h4>
<p><a href="#隐私小号AXB业务-绑定">1. 隐私小号AXB业务-绑定</a>
<a href="#隐私小号AXB业务-查询绑定">2. 隐私小号AXB业务-查询绑定</a>
<a href="#隐私小号AXB业务-解绑">3. 隐私小号AXB业务-解绑</a></p>
<h4>使用说明</h4>
<p>调用绑定API,成功后A呼叫X可以接通B,B呼叫X可以接通A,来电号码均显示X</p>
<h2>api接入说明</h2>
<h3>公用参数</h3>
<p>隐私小号所有API都需要以下公用参数</p>
<table>
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>varchar</td>
<td>服务商分配的唯一标识</td>
</tr>
<tr>
<td>timestamp</td>
<td>number</td>
<td>当前时间的毫秒数</td>
</tr>
<tr>
<td>sign</td>
<td>varchar</td>
<td>签名,详见签名算法说明</td>
</tr>
</tbody>
</table>
<p><a name="sign"></a></p>
<h3>签名算法</h3>
<pre><code>sign = sha256(appId + appSecret + timestamp)</code></pre>
<p>用服务商分配的 <strong>appId</strong>、服务商分配的 <strong>appSecret</strong>,当前时间毫秒数 <strong>timestamp</strong>,按上述顺序拼接成字符串,再进行 <strong>sha256</strong> 哈希得到。如下:</p>
<pre><code class="language-java">String appId = &quot;xyzxy2121zxyz&quot;;
String timestamp = &quot;1555378976238&quot;;
String appSecret = &quot;efcefcef1121cefcefc1212121&quot;;
String str = appId + appSecret + timestamp;
String sign = sha256(str);</code></pre>
<h3>code返回码说明</h3>
<table>
<thead>
<tr>
<th>code</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>200</td>
<td>成功</td>
</tr>
<tr>
<td>400</td>
<td>参数错误</td>
</tr>
<tr>
<td>404</td>
<td>请求地址不正确</td>
</tr>
<tr>
<td>500</td>
<td>系统维护,请稍候再试</td>
</tr>
<tr>
<td>601</td>
<td>接口未开通</td>
</tr>
<tr>
<td>602</td>
<td>账号停用</td>
</tr>
<tr>
<td>603</td>
<td>余额不足请充值</td>
</tr>
<tr>
<td>604</td>
<td>接口停用</td>
</tr>
<tr>
<td>701</td>
<td>查无记录</td>
</tr>
<tr>
<td>702</td>
<td>号码已有相关绑定关系</td>
</tr>
<tr>
<td>999</td>
<td>其他,以实际返回为准</td>
</tr>
</tbody>
</table>
<p>> 如具体API有特殊的返回码,请见以下具体API说明</p>
<h2>隐私小号AX业务</h2>
<p><a name="隐私小号AX业务-绑定"></a></p>
<h3>隐私小号AX业务-绑定</h3>
<h4>请求地址</h4>
<p><code>https://api.jumdata.com/virtual-ax/bind</code></p>
<h4>请求方式</h4>
<ul>
<li>POST</li>
</ul>
<h4>参数</h4>
<table>
<thead>
<tr>
<th>名称</th>
<th>必须</th>
<th><div style="width:470px">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>telA</td>
<td>是</td>
<td>真实号码</td>
</tr>
<tr>
<td>telX</td>
<td>是</td>
<td>隐私号码</td>
</tr>
<tr>
<td>name</td>
<td>是</td>
<td>姓名</td>
</tr>
<tr>
<td>idcard</td>
<td>是</td>
<td>身份证号码</td>
</tr>
<tr>
<td>expiration</td>
<td>否</td>
<td>过期时间,单位:秒, 自绑定时间开始后expiration 秒自动解绑;<br>不传表示不限制时间,不会自动解绑</td>
</tr>
<tr>
<td>areacode</td>
<td>否</td>
<td>区号,例如:北京(10);在平台分配X 号码模式中,平台从号码池中分配该地区的X 号码,避免产生呼叫长途费</td>
</tr>
<tr>
<td>callrecording</td>
<td>否</td>
<td>录音控制 默认0<br> 0-不录音<br>1-接通后录音<br>2-被叫响铃后录音</td>
</tr>
<tr>
<td>calldisplay</td>
<td>否</td>
<td>来电显示控制 默认0<br>0-显示真实号码<br>1-显示X号码</td>
</tr>
<tr>
<td>callunsub</td>
<td>否</td>
<td>解绑推送消息控制 默认0 <br>0-解绑不推送消息<br>1-解绑推送消息</td>
</tr>
<tr>
<td>callpickup</td>
<td>否</td>
<td>被叫接通推送事件控 默认0<br>0-不推送被叫接通事件<br>1-推送被叫接通事件</td>
</tr>
</tbody>
</table>
<p>> 注:公共参数必须,详见公共参数说明</p>
<h4>正确返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;成功&quot;,
&quot;code&quot;: 200,
&quot;charge&quot;: true, // 计费标志 ture计费 false 不计费
&quot;taskNo&quot;: &quot;09522434433117405247&quot;, // 本次请求号
&quot;data&quot;: {
&quot;subid&quot;:&quot;绑定id&quot;,// 绑定id
&quot;telX&quot;:&quot;17611223344&quot; // 隐私号码
}
}</code></pre>
<h4>失败返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;接口地址不正确&quot;,
&quot;code&quot;: 404
}</code></pre>
<p><a name="隐私小号AX业务-在线主叫"></a></p>
<h3>隐私小号AX业务-在线主叫</h3>
<h4>请求地址</h4>
<p><code>https://api.jumdata.com/virtual-ax/call</code></p>
<h4>请求方式</h4>
<ul>
<li>POST</li>
</ul>
<h4>参数</h4>
<table>
<thead>
<tr>
<th>名称</th>
<th>必须</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>subid</td>
<td>是</td>
<td>绑定id</td>
</tr>
<tr>
<td>telX</td>
<td>是</td>
<td>隐私号码</td>
</tr>
<tr>
<td>telB</td>
<td>是</td>
<td>被叫号码</td>
</tr>
</tbody>
</table>
<p>> 注:公共参数必须,详见公共参数说明</p>
<h4>正确返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;成功&quot;,
&quot;code&quot;: 200,
&quot;taskNo&quot;: &quot;09522434433117405247&quot;, // 本次请求号
&quot;data&quot;: {
&quot;result&quot;: &quot;0&quot; // 0:更新成功
}
}</code></pre>
<h4>失败返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;隐私小号不是有效的手机号&quot;,
&quot;code&quot;: 400
}</code></pre>
<p><a name="隐私小号AX业务-查询绑定"></a></p>
<h3>隐私小号AX业务-查询绑定</h3>
<h4>请求地址</h4>
<p><code>https://api.jumdata.com/virtual-ax/query</code></p>
<h4>请求方式</h4>
<ul>
<li>GET/POST</li>
</ul>
<h4>请求参数</h4>
<table>
<thead>
<tr>
<th>名称</th>
<th>必须</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>telX</td>
<td>是</td>
<td>隐私号码</td>
</tr>
</tbody>
</table>
<p>> 注:公共参数必须,详见公共参数说明</p>
<h4>正确返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;成功&quot;,
&quot;code&quot;: 200,
&quot;charge&quot;: true, // 计费标志 ture计费 false 不计费
&quot;taskNo&quot;: &quot;09522434433117405247&quot;, // 本次请求号
&quot;data&quot;: {
&quot;subid&quot;:&quot;绑定id&quot;, // 绑定id
&quot;telA&quot;:&quot;134****6228&quot;, // 真实号码
&quot;telX&quot;:&quot;131****5232&quot;, // 隐私号码
&quot;subts&quot;:&quot;20200717165840&quot;, // 绑定时间
&quot;expiration&quot;:&quot;0&quot;, // 过期时间,单位:秒, 自绑定时间开始后expiration 秒自动解绑;0 表示不限制时间,不会自动解绑
&quot;areacode&quot;:&quot;&quot;, // 区号
&quot;extra&quot;:{ // 扩展字段
&quot;callunsub&quot;:&quot;0&quot;, // 解绑推送消息控制 0-解绑不推送消息 1-解绑推送消息
&quot;ringpickup&quot;:&quot;0&quot;, // 主叫接通推送事件控制 0-解绑不推送消息 1-解绑推送消息
&quot;calldisplay&quot;:&quot;0&quot;, // 来显控制 0-显示真实号码 1-显示X号码 2-显示Z号码池中的号码
&quot;callpickup&quot;:&quot;0&quot;, // 被叫接通推送事件控制 0-不推送被叫接通事件 1-推送被叫接通事件
&quot;callrecording&quot;:&quot;0&quot; // 录音控制 0-不录音 1-接通后录音 2-被叫响铃后录音
}
}
}</code></pre>
<h4>失败返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;隐私小号不是有效的手机号&quot;,
&quot;code&quot;: 400
}</code></pre>
<p><a name="隐私小号AX业务-解绑"></a></p>
<h3>隐私小号AX业务-解绑</h3>
<h4>请求地址</h4>
<p><code>https://api.jumdata.com/virtual-ax/unbind</code></p>
<h4>请求方式</h4>
<ul>
<li>POST</li>
</ul>
<h4>参数</h4>
<table>
<thead>
<tr>
<th>名称</th>
<th>必须</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>subid</td>
<td>是</td>
<td>绑定id</td>
</tr>
<tr>
<td>telX</td>
<td>是</td>
<td>隐私号码</td>
</tr>
</tbody>
</table>
<p>> 注:公共参数必须,详见公共参数说明</p>
<h4>正确返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;成功&quot;,
&quot;code&quot;: 200,
&quot;charge&quot;: true, // 计费标志 ture计费 false 不计费
&quot;taskNo&quot;: &quot;09522434433117405247&quot;, // 本次请求号
&quot;data&quot;: {
&quot;result&quot;:0 // 解绑成功
}
}</code></pre>
<h4>失败返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;隐私小号不是有效的手机号&quot;,
&quot;code&quot;: 400
}</code></pre>
<h2>隐私小号AXB业务</h2>
<p><a name="隐私小号AXB业务-绑定"></a></p>
<h3>隐私小号AXB业务-绑定</h3>
<h4>请求地址</h4>
<p><code>https://api.jumdata.com/virtual-axb/bind</code></p>
<h4>请求方式</h4>
<ul>
<li>POST</li>
</ul>
<h4>参数</h4>
<table>
<thead>
<tr>
<th>名称</th>
<th>必须</th>
<th><div style="width:470px">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>telA</td>
<td>是</td>
<td>真实号码</td>
</tr>
<tr>
<td>telX</td>
<td>是</td>
<td>隐私号码</td>
</tr>
<tr>
<td>telB</td>
<td>是</td>
<td>隐私号码</td>
</tr>
<tr>
<td>expiration</td>
<td>是</td>
<td>过期时间,单位:秒, 自绑定时间开始后expiration 秒自动解绑。不传表示不限制时间,不会自动解绑</td>
</tr>
<tr>
<td>areacode</td>
<td>否</td>
<td>区号,例如:北京(10);在平台分配X 号码模式中,平台从号码池中分配该地区的X 号码,避免产生呼叫长途费</td>
</tr>
<tr>
<td>callrecording</td>
<td>否</td>
<td>录音控制 默认0<br> 0-不录音<br> 1-接通后录音<br> 2-被叫响铃后录音</td>
</tr>
<tr>
<td>calldisplay</td>
<td>否</td>
<td>来电显示控制,针对AXB 中的A或者B作为主叫时,是否在被叫上显示来话的真实号码 默认是0<br> 0-不显示真实号码<br> 1-显示真实号码</td>
</tr>
<tr>
<td>callunsub</td>
<td>否</td>
<td>解绑推送消息控制 默认0<br> 0-解绑不推送消息<br> 1-解绑推送消息</td>
</tr>
<tr>
<td>callpickup</td>
<td>否</td>
<td>被叫接通推送事件控 默认0<br> 0-不推送被叫接通事件<br> 1-推送被叫接通事件</td>
</tr>
</tbody>
</table>
<p>> 注:公共参数必须,详见公共参数说明</p>
<h4>正确返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;成功&quot;,
&quot;code&quot;: 200,
&quot;charge&quot;: true, // 计费标志 ture计费 false 不计费
&quot;taskNo&quot;: &quot;09522434433117405247&quot;, // 本次请求号
&quot;data&quot;: {
&quot;subid&quot;:&quot;绑定id&quot;,// 绑定id
&quot;telX&quot;:&quot;17611223344&quot; // 隐私号码
}
}</code></pre>
<h4>失败返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;接口地址不正确&quot;,
&quot;code&quot;: 404
}</code></pre>
<p><a name="隐私小号AXB业务-查询绑定"></a></p>
<h3>隐私小号AXB业务-查询绑定</h3>
<h4>请求地址</h4>
<p><code>https://api.jumdata.com/virtual-axb/query</code></p>
<h4>请求方式:</h4>
<ul>
<li>GET/POST</li>
</ul>
<h4>请求参数</h4>
<table>
<thead>
<tr>
<th>名称</th>
<th>必须</th>
<th><div style="width:450px">说明 </div></th>
</tr>
</thead>
<tbody>
<tr>
<td>telX</td>
<td>是</td>
<td>隐私号码</td>
</tr>
<tr>
<td>telA</td>
<td>否</td>
<td>真实号码 telA,telB,subid不能同时为空且只能选择其中一项查询</td>
</tr>
<tr>
<td>telB</td>
<td>否</td>
<td>对端号码 telA,telB,subid不能同时为空且只能选择其中一项查询</td>
</tr>
<tr>
<td>subid</td>
<td>否</td>
<td>绑定id telA,telB,subid不能同时为空且只能选择其中一项查询</td>
</tr>
</tbody>
</table>
<p>> 注:公共参数必须,详见公共参数说明</p>
<h4>正确返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;成功&quot;,
&quot;code&quot;: 200,
&quot;charge&quot;: true, // 计费标志 ture计费 false 不计费
&quot;taskNo&quot;: &quot;09522434433117405247&quot;, // 本次请求号
&quot;data&quot;: {
&quot;subid&quot;:&quot;绑定id&quot;, // 绑定id
&quot;telA&quot;:&quot;134****6228&quot;, // 真实号码
&quot;telX&quot;:&quot;131****5232&quot;, // 隐私号码
&quot;telB&quot;:&quot;131****5232&quot;, // 对端号码
&quot;subts&quot;:&quot;20200717165840&quot;, // 绑定时间
&quot;expiration&quot;:&quot;0&quot;, // 过期时间,单位:秒, 自绑定时间开始后expiration 秒自动解绑;0 表示不限制时间,不会自动解绑
&quot;areacode&quot;:&quot;&quot;, // 区号
&quot;extra&quot;:{ // 扩展字段
&quot;calldisplay&quot;:&quot;0&quot;, // 来显控制,针对AXB中的A或者B作为主叫时,是否在被叫上显示来话的真实号码 0-不显示真实号码 1-显示真实号码
&quot;callpickup&quot;:&quot;0&quot;, // 被叫接通推送事件控制 0-不推送被叫接通事件 1-推送被叫接通事件
&quot;callrecording&quot;:&quot;0&quot;, // 录音控制 0-不录音 1-接通后录音 2-被叫响铃后录音
&quot;callrestrict&quot;:&quot;0&quot; // 见callrestrict呼叫控制说明
}
}
}
</code></pre>
<h4>失败返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;隐私小号不是有效的手机号&quot;,
&quot;code&quot;: 400
}</code></pre>
<p><a name="隐私小号AXB业务-解绑"></a></p>
<h3>隐私小号AXB业务-解绑</h3>
<h4>请求地址</h4>
<p><code>https://api.jumdata.com/virtual-axb/unbind</code></p>
<h4>请求方式</h4>
<ul>
<li>POST</li>
</ul>
<h4>参数</h4>
<table>
<thead>
<tr>
<th>名称</th>
<th>必须</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>subid</td>
<td>是</td>
<td>绑定id</td>
</tr>
<tr>
<td>telX</td>
<td>是</td>
<td>隐私号码</td>
</tr>
</tbody>
</table>
<p>> 注:公共参数必须,详见公共参数说明</p>
<h4>正确返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;成功&quot;,
&quot;code&quot;: 200,
&quot;charge&quot;: true, // 计费标志 ture计费 false 不计费
&quot;taskNo&quot;: &quot;09522434433117405247&quot;, // 本次请求号
&quot;data&quot;: {
&quot;result&quot;:0 // 解绑成功
}
}</code></pre>
<h4>失败返回</h4>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;隐私小号不是有效的手机号&quot;,
&quot;code&quot;: 400
}</code></pre>