接入文档
<ul>
<li><a href="#gs">概述</a></li>
<li><a href="#jc">集成指南</a></li>
<li><a href="#cy">常用说明</a></li>
<li><a href="#jq">鉴权接口</a></li>
<li><a href="#xh">在线选号</a></li>
<li><a href="#hmzt">号码预占</a></li>
<li><a href="#zx">在线提单接口</a></li>
<li><a href="#genxin">更新下单订单</a></li>
<li><a href="#image">更新三证照片</a></li>
<li><a href="#query">查询订单信息</a></li>
<li><a href="#product">上游商品上下架状态查询</a></li>
<li><a href="#zt">订单状态说明</a></li>
</ul>
<p><span id="gs"></span></p>
<h3>概述</h3>
<p>该文档旨在介绍在线选号下单接口,通过调用文中的所述接口,可以帮助用户生产号码的业务。</p>
<p>全文包括两个部分:</p>
<p>第一部分常用说明:调用接口的字段解释、接口返回值编码说明</p>
<h2>第二部分接口说明:鉴权、下单、更单、查单等接口的使用方式
<span id="jc"></span>
集成指南</h2>
<h3>开通服务</h3>
<p>请联系管理员或在线申请开通服务</p>
<h3>新建应用</h3>
<p>请至个人中心授权应用,获取APPId,APPKey和APPSecret参数</p>
<h2>常用说明</h2>
<p><span id="cy"></span></p>
<h3>返回码说明</h3>
<p>鉴权和在线下单接口返回result字段的返回码说明:</p>
<table>
<thead>
<tr>
<th>错误码</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>20000</td>
<td>success</td>
</tr>
<tr>
<td>40004</td>
<td>app is unvalid</td>
</tr>
<tr>
<td>40026</td>
<td>sign error</td>
</tr>
<tr>
<td>40027</td>
<td>get auth_token error</td>
</tr>
<tr>
<td>40028</td>
<td>auth_token expired</td>
</tr>
<tr>
<td>40031</td>
<td>ip blocked</td>
</tr>
<tr>
<td>40032</td>
<td>params error</td>
</tr>
<tr>
<td>50000</td>
<td>other error</td>
</tr>
<tr>
<td>50001</td>
<td>other error</td>
</tr>
<tr>
<td>50002</td>
<td>other error</td>
</tr>
</tbody>
</table>
<p>在线下单接口返回每个pn对应发送结果的code说明:</p>
<table>
<thead>
<tr>
<th>错误码</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>20000</td>
<td>success</td>
</tr>
<tr>
<td>40000</td>
<td>send error</td>
</tr>
<tr>
<td>40006</td>
<td>ip error</td>
</tr>
<tr>
<td>40007</td>
<td>product does not exist</td>
</tr>
<tr>
<td>40008</td>
<td>understock </td>
</tr>
<tr>
<td>40009</td>
<td>risk control interception</td>
</tr>
<tr>
<td>50000</td>
<td>server error</td>
</tr>
</tbody>
</table>
<h2>鉴权接口</h2>
<p><span id="jq"></span></p>
<h3>接口描述</h3>
<p>该接口为鉴权接口,在调用业务接口之前,鉴权成功获得accessToken,后续接口传入accessToken进行授权API。</p>
<h3>使用场景</h3>
<p>用户调用业务接口,需上传鉴权成功后返回的accessToken,接口会对accessToken进行校验。</p>
<h3>接口说明</h3>
<p>请求地址: <a href="http://yunhaoka.vip/api/v1/auth/access_token"><a href="http://yunhaoka.vip/api/v1/auth/access_token">http://yunhaoka.vip/api/v1/auth/access_token</a></a> </p>
<p>请求方法:POST
Content-Type: application/json;charset=utf8</p>
<h3>具体参数</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>是否必传</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>String</td>
<td>是</td>
<td>由平台服务提供,每个应用都对应一个唯一的appId</td>
</tr>
<tr>
<td>sign</td>
<td>String</td>
<td>是</td>
<td>鉴权时的签名。</td>
</tr>
<tr>
<td>timestamp</td>
<td>String</td>
<td>是</td>
<td>毫秒时间戳(13位),<strong>请使用当前毫秒时间戳,误差太大可能出错</strong></td>
</tr>
</tbody>
</table>
<p>生成 sign 值:将 appkey、timestamp、appSecret 对应的字符串按此固定顺序拼接后,使用 SHA256 算法加密。<br />
示例 java 代码格式: String sign = sha256(appkey+timestamp+appSecret) |</p>
<h3>返回值说明</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>code</td>
<td>Integer</td>
<td>20000</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>success</td>
</tr>
<tr>
<td>message</td>
<td>String</td>
<td>success</td>
</tr>
<tr>
<td>data</td>
<td>Json</td>
<td>json格式</td>
</tr>
<tr>
<td>accessToken</td>
<td>String</td>
<td>临时访问令牌,作为调用授权API时的入参,过期时间为expiresIn值</td>
</tr>
<tr>
<td>expiresIn</td>
<td>String</td>
<td>accessToken过期时间,单位秒,默认为172800,即48小时</td>
</tr>
<tr>
<td>appId</td>
<td>String</td>
<td>用户对该开发者的唯一身份标识</td>
</tr>
</tbody>
</table>
<h3>请求示例</h3>
<p>Json示例, 具体请求需转Json格式</p>
<pre><code>{
&quot;appId&quot;: &quot;3glyb5man4w03srhsc7tdtdqujaz&quot;,
&quot;timestamp&quot;: &quot;16234567890000&quot;,
&quot;sign&quot;: &quot;zk7l0vy1uum2xtpexeuscd4697de&quot;
}</code></pre>
<h3>响应示例</h3>
<p>鉴权结果响应Json格式示例</p>
<pre><code>{
&quot;code&quot;: 20000,
&quot;msg&quot;: &quot;success&quot;,
&quot;message&quot;: &quot;success&quot;,
&quot;data&quot;: {
&quot;expiresIn&quot;: 172800,
&quot;appId&quot;: &quot;3glyb5man4w03srhsc7tdtdqujaz&quot;,
&quot;accessToken&quot;: &quot;yrwrlclvlyhr9l8kolu2hj44z9lp&quot;
}
}</code></pre>
<h3>注意事项</h3>
<p>鉴权生成的accessToken有效期为48个小时,若accessToken过期,需重新进行鉴权!</p>
<h2>在线选号接口</h2>
<p><span id="xh"></span></p>
<h3>接口描述</h3>
<p>根据上传有效数据,匹配渠道号码。 </p>
<p><strong>注意:该接口需认证accessToken</strong></p>
<h3>使用场景</h3>
<p>供用户提交对应信息,快速选号。默认返回最新100个号码</p>
<h3>接口说明</h3>
<p>请求地址: <a href="http://yunhaoka.vip/api/v1/listNumber"><a href="http://yunhaoka.vip/api/v1/listNumber">http://yunhaoka.vip/api/v1/listNumber</a></a> </p>
<p>请求方法:POST
Content-Type: application/json;charset=utf8</p>
<h3>具体参数</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>是否必传</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>String</td>
<td>是</td>
<td>由平台提供,每个应用都对应一个唯一的appId</td>
</tr>
<tr>
<td>accessToken</td>
<td>String</td>
<td>是</td>
<td>由鉴权接口返回</td>
</tr>
<tr>
<td>product</td>
<td>Long</td>
<td>是</td>
<td>商品ID</td>
</tr>
<tr>
<td>province</td>
<td>String</td>
<td>否</td>
<td>归属地 省 不传返回默认</td>
</tr>
<tr>
<td>city</td>
<td>String</td>
<td>否</td>
<td>归属地 市 不传返回默认</td>
</tr>
<tr>
<td>keyword</td>
<td>String</td>
<td>否</td>
<td>搜索关键词,只能是数字 例如:7788</td>
</tr>
<tr>
<td>beautiful</td>
<td>boolean</td>
<td>否</td>
<td>是否查询靓号</td>
</tr>
<tr>
<td>pageSize</td>
<td>int</td>
<td>否</td>
<td>返回数量,不传默认返回100个</td>
</tr>
<tr>
<td>mode</td>
<td>String</td>
<td>否</td>
<td>连号标签,aa,aaa,aaaa,abc,abcd,abab,abba,aabb</td>
</tr>
</tbody>
</table>
<h3>返回值说明</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>code</td>
<td>Integer</td>
<td>20000</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>success</td>
</tr>
<tr>
<td>message</td>
<td>String</td>
<td>success</td>
</tr>
<tr>
<td>data</td>
<td>String</td>
<td>Json格式</td>
</tr>
<tr>
<td>number</td>
<td>String</td>
<td>号码</td>
</tr>
<tr>
<td>beautiful</td>
<td>String</td>
<td>连号标签 aaa,aaaa,abc,adcd,aabb,abab,abba</td>
</tr>
<tr>
<td>positions</td>
<td>list</td>
<td>连号位置</td>
</tr>
<tr>
<td>expireTime</td>
<td>date</td>
<td>号码过期时间</td>
</tr>
</tbody>
</table>
<h3>请求示例</h3>
<p>Json示例, 具体请求需转Json字符串</p>
<pre><code>{
&quot;appId&quot;: &quot;3glyb5man4w03srhsc7tdtdqujaz&quot;,
&quot;accessToken&quot;: &quot;h5ogxm6cdpo4ymfk0bdwz5t2m8np&quot;,
&quot;product&quot;: 100010,
&quot;province&quot;: &quot;安徽省&quot;,
&quot;city&quot;: &quot;合肥市&quot;,
&quot;mode&quot;: &quot;aaa&quot;
}</code></pre>
<h3>响应示例</h3>
<p>Json示例</p>
<pre><code>{
&quot;code&quot;: 20000,
&quot;msg&quot;: &quot;success&quot;,
&quot;message&quot;: &quot;success&quot;,
&quot;data&quot;: {
&quot;beautiful&quot;: &quot;AAA&quot;,
&quot;positions&quot;: [1,3,7],
&quot;expireTime&quot;:&quot;2023-08-02 14:02:01&quot;,
&quot;number&quot;: &quot;188888888888&quot;
}
}</code></pre>
<h2>号码预占</h2>
<p><span id="hmzt"></span></p>
<h3>接口描述</h3>
<p>选号之后,号码预占30分钟。 </p>
<p><strong>注意:该接口需认证accessToken</strong></p>
<h3>使用场景</h3>
<p>选号下单的时候,可用于号码预占下单,成功返回 code 20000</p>
<h3>接口说明</h3>
<p>请求地址: <a href="http://yunhaoka.vip/api/v1/num/lock"><a href="http://yunhaoka.vip/api/v1/num/lock">http://yunhaoka.vip/api/v1/num/lock</a></a> </p>
<p>请求方法:POST
Content-Type: application/json;charset=utf8</p>
<h3>具体参数</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>是否必传</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>String</td>
<td>是</td>
<td>由平台提供,每个应用都对应一个唯一的appId</td>
</tr>
<tr>
<td>accessToken</td>
<td>String</td>
<td>是</td>
<td>由鉴权接口返回</td>
</tr>
<tr>
<td>product</td>
<td>Long</td>
<td>是</td>
<td>商品ID</td>
</tr>
<tr>
<td>selNum</td>
<td>String</td>
<td>是</td>
<td>下单号码</td>
</tr>
</tbody>
</table>
<h3>返回值说明</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>code</td>
<td>Integer</td>
<td>20000</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>success</td>
</tr>
<tr>
<td>data</td>
<td>String</td>
<td>Json格式</td>
</tr>
</tbody>
</table>
<h3>请求示例</h3>
<p>Json示例, 具体请求需转Json字符串</p>
<pre><code>{
&quot;appId&quot;: &quot;3glyb5man4w03srhsc7tdtdqujaz&quot;,
&quot;accessToken&quot;: &quot;h5ogxm6cdpo4ymfk0bdwz5t2m8np&quot;,
&quot;product&quot;: 100010,
&quot;selNum&quot;: &quot;1533898333&quot;
}</code></pre>
<h3>响应示例</h3>
<p>Json示例 成功实例 code 20000,其他不可用</p>
<pre><code>{
&quot;code&quot;: 20000,
&quot;msg&quot;: &quot;success&quot;,
&quot;data&quot;: null
}</code></pre>
<h2>创建订单接口</h2>
<p><span id="zx"></span></p>
<h3>接口描述</h3>
<p>根据上传有效数据,匹配渠道号码进行订单业务生产。 </p>
<p><strong>注意:该接口需认证accessToken</strong></p>
<h3>使用场景</h3>
<p>供用户提交对应信息,快速生产订单。</p>
<h3>接口说明</h3>
<p>请求地址: <a href="http://yunhaoka.vip/api/v1/order/create"><a href="http://yunhaoka.vip/api/v1/order/create">http://yunhaoka.vip/api/v1/order/create</a></a> </p>
<p>请求方法:POST
Content-Type: application/json;charset=utf8</p>
<h3>具体参数</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>是否必传</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>String</td>
<td>是</td>
<td>由平台提供,每个应用都对应一个唯一的appId</td>
</tr>
<tr>
<td>accessToken</td>
<td>String</td>
<td>是</td>
<td>由鉴权接口返回</td>
</tr>
<tr>
<td>product</td>
<td>Long</td>
<td>是</td>
<td>商品ID</td>
</tr>
<tr>
<td>outOrderNo</td>
<td>String</td>
<td>是</td>
<td>外部订单号</td>
</tr>
<tr>
<td>mobile</td>
<td>String</td>
<td>是</td>
<td>收件人联系电话</td>
</tr>
<tr>
<td>idCardNumber</td>
<td>String</td>
<td>是</td>
<td>身份证号码</td>
</tr>
<tr>
<td>idCardName</td>
<td>String</td>
<td>是</td>
<td>身份证姓名</td>
</tr>
<tr>
<td>name</td>
<td>String</td>
<td>是</td>
<td>收件人昵称</td>
</tr>
<tr>
<td>province</td>
<td>String</td>
<td>是</td>
<td>收件人 省</td>
</tr>
<tr>
<td>city</td>
<td>String</td>
<td>是</td>
<td>收件人 市</td>
</tr>
<tr>
<td>district</td>
<td>String</td>
<td>是</td>
<td>收件人 区县</td>
</tr>
<tr>
<td>address</td>
<td>String</td>
<td>是</td>
<td>收件人详细地址</td>
</tr>
<tr>
<td>selNum</td>
<td>String</td>
<td>否</td>
<td>下单购买的号码,不传自动选号</td>
</tr>
<tr>
<td>notifyUrl</td>
<td>String</td>
<td>否</td>
<td>客户用于接收发送回执的接口地址</td>
</tr>
<tr>
<td>fromTerminal</td>
<td>String</td>
<td>否</td>
<td>订单来源 例如:某某店铺</td>
</tr>
<tr>
<td>numArea</td>
<td>String</td>
<td>否</td>
<td>归属地 空格分开,如:安徽省 合肥市</td>
</tr>
<tr>
<td>pageUrl</td>
<td>String</td>
<td>否</td>
<td>下单链接</td>
</tr>
<tr>
<td>frontImage</td>
<td>String</td>
<td>否</td>
<td>身份证正面照 base64 不大于5M</td>
</tr>
<tr>
<td>backImage</td>
<td>String</td>
<td>否</td>
<td>身份证反面照 base64 不大于5M</td>
</tr>
<tr>
<td>headImage</td>
<td>String</td>
<td>否</td>
<td>真人照 base64 不大于5M</td>
</tr>
</tbody>
</table>
<h3>返回值说明</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>code</td>
<td>Integer</td>
<td>20000</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>success</td>
</tr>
<tr>
<td>message</td>
<td>String</td>
<td>success</td>
</tr>
<tr>
<td>data</td>
<td>String</td>
<td>Json格式</td>
</tr>
<tr>
<td>oid</td>
<td>String</td>
<td>平台订单号</td>
</tr>
<tr>
<td>outOrderNo</td>
<td>String</td>
<td>传入外部订单号</td>
</tr>
</tbody>
</table>
<h3>请求示例</h3>
<p>Json示例, 具体请求需转Json字符串</p>
<pre><code>{
&quot;appId&quot;: &quot;3glyb5man4w03srhsc7tdtdqujaz&quot;,
&quot;accessToken&quot;: &quot;h5ogxm6cdpo4ymfk0bdwz5t2m8np&quot;,
&quot;product&quot;: 100010,
&quot;outOrderNo&quot;: &quot;2030123011111111&quot;,
&quot;mobile&quot;: &quot;18888888888&quot;,
&quot;idCardNumber&quot;: &quot;520xxxxxxxxxxxx&quot;,
&quot;idCardName&quot;: &quot;张三&quot;,
&quot;name&quot;: &quot;张三&quot;,
&quot;province&quot;: &quot;安徽省&quot;,
&quot;city&quot;: &quot;合肥市&quot;,
&quot;district&quot;: &quot;包河区&quot;,
&quot;address&quot;: &quot;北京路32号幸福家园小区&quot;,
&quot;selNum&quot;: &quot;18888888833&quot;,
&quot;notifyUrl&quot;: &quot;http://xxxxxx&quot;
}</code></pre>
<h3>响应示例</h3>
<p>Json示例</p>
<pre><code>{
&quot;code&quot;: 20000,
&quot;msg&quot;: &quot;success&quot;,
&quot;message&quot;: &quot;success&quot;,
&quot;data&quot;: {
&quot;oid&quot;: &quot;202306081328817231&quot;,
&quot;outOrderNo&quot;: &quot;20230608133211131&quot;
}
}</code></pre>
<h3>注意事项</h3>
<p>接口中返回的订单号,代表该请求成功之后在平台业务的唯一标识,后续可通过该标识进行订单相关业务处理。</p>
<h2>更新订单接口</h2>
<h3>接口描述</h3>
<p>在线修改订单数据。 </p>
<p><strong>注意:该接口需认证accessToken</strong></p>
<h3>使用场景</h3>
<p>用户调用下单接口之后生成订单,需要修改订单数据。
<span id="genxin"></span></p>
<h3>接口说明</h3>
<p>请求地址: <a href="http://yunhaoka.vip/api/v1/order/update"><a href="http://yunhaoka.vip/api/v1/order/update">http://yunhaoka.vip/api/v1/order/update</a></a> </p>
<p>请求方法:POST
Content-Type: application/json;charset=utf8</p>
<h3>具体参数</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>是否必传</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>String</td>
<td>是</td>
<td>由平台提供,每个应用都对应一个唯一的appId</td>
</tr>
<tr>
<td>accessToken</td>
<td>String</td>
<td>是</td>
<td>由鉴权接口返回</td>
</tr>
<tr>
<td>oid</td>
<td>String</td>
<td>是</td>
<td>平台订单号</td>
</tr>
<tr>
<td>mobile</td>
<td>String</td>
<td>否</td>
<td>收件人联系电话</td>
</tr>
<tr>
<td>idCardNumber</td>
<td>String</td>
<td>否</td>
<td>身份证号码</td>
</tr>
<tr>
<td>idCardName</td>
<td>String</td>
<td>否</td>
<td>身份证姓名</td>
</tr>
<tr>
<td>province</td>
<td>String</td>
<td>否</td>
<td>收件人 省</td>
</tr>
<tr>
<td>city</td>
<td>String</td>
<td>否</td>
<td>收件人 市</td>
</tr>
<tr>
<td>district</td>
<td>String</td>
<td>否</td>
<td>收件人 区县</td>
</tr>
<tr>
<td>address</td>
<td>String</td>
<td>否</td>
<td>收件人详细地址</td>
</tr>
</tbody>
</table>
<h3>返回值说明</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>code</td>
<td>Integer</td>
<td>20000</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>success</td>
</tr>
<tr>
<td>data</td>
<td>String</td>
<td>Json格式</td>
</tr>
</tbody>
</table>
<h3>请求示例</h3>
<p>Json示例, 具体请求需转Json字符串</p>
<pre><code> {
&quot;appId&quot;: &quot;3glyb5man4w03srhsc7tdtdqujaz&quot;,
&quot;accessToken&quot;: &quot;h5ogxm6cdpo4ymfk0bdwz5t2m8np&quot;,
&quot;oid&quot;: &quot;2030123011111111&quot;,
&quot;mobile&quot;: &quot;18888888888&quot;,
&quot;idCardNumber&quot;: &quot;520xxxxxxxxxxxx&quot;,
&quot;idCardName&quot;: &quot;张三&quot;,
&quot;name&quot;: &quot;张三&quot;,
&quot;province&quot;: &quot;安徽省&quot;,
&quot;city&quot;: &quot;合肥市&quot;,
&quot;district&quot;: &quot;包河区&quot;,
&quot;address&quot;: &quot;北京路32号幸福家园小区&quot;
}</code></pre>
<h3>响应示例</h3>
<p>Json示例</p>
<pre><code>{
&quot;code&quot;: 20000,
&quot;msg&quot;: &quot;success&quot;,
&quot;data&quot;: {}
}</code></pre>
<h2>更新三证照片</h2>
<h3>接口描述</h3>
<p>下单成功5分钟以后,需要更新身份证正反面与真人照,用该接口</p>
<p>byte[] imageData = FileUtil.readBytes("C:\Users\Administrator\Desktop\123213.jpg");
String base64Image = Base64Encoder.encode(imageData);</p>
<p><strong>注意:该接口需认证accessToken</strong></p>
<h3>使用场景</h3>
<p>更新身份证正反面与真人照
<span id="image"></span></p>
<h3>接口说明</h3>
<p>请求地址: <a href="http://yunhaoka.vip/api/v1/order/uploadImg"><a href="http://yunhaoka.vip/api/v1/order/uploadImg">http://yunhaoka.vip/api/v1/order/uploadImg</a></a> </p>
<p>请求方法:POST
Content-Type: application/json;charset=utf8</p>
<h3>具体参数</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>是否必传</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>String</td>
<td>是</td>
<td>由平台提供,每个应用都对应一个唯一的appId</td>
</tr>
<tr>
<td>accessToken</td>
<td>String</td>
<td>是</td>
<td>由鉴权接口返回</td>
</tr>
<tr>
<td>oid</td>
<td>String</td>
<td>是</td>
<td>平台订单号</td>
</tr>
<tr>
<td>frontImage</td>
<td>String</td>
<td>是</td>
<td>身份证正面照 base64</td>
</tr>
<tr>
<td>backImage</td>
<td>String</td>
<td>是</td>
<td>身份证反面照 base64</td>
</tr>
<tr>
<td>headImage</td>
<td>String</td>
<td>是</td>
<td>真人照 base64</td>
</tr>
</tbody>
</table>
<h3>返回值说明</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>code</td>
<td>Integer</td>
<td>20000</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>success</td>
</tr>
<tr>
<td>message</td>
<td>String</td>
<td>success</td>
</tr>
<tr>
<td>data</td>
<td>String</td>
<td>Json格式</td>
</tr>
</tbody>
</table>
<h3>请求示例</h3>
<p>Json示例, 具体请求需转Json字符串</p>
<pre><code> {
&quot;appId&quot;: &quot;3glyb5man4w03srhsc7tdtdqujaz&quot;,
&quot;accessToken&quot;: &quot;h5ogxm6cdpo4ymfk0bdwz5t2m8np&quot;,
&quot;oid&quot;: &quot;2030123011111111&quot;,
&quot;frontImage&quot;: &quot;base64&quot;,
&quot;backImage&quot;: &quot;base64&quot;,
&quot;headImage&quot;: &quot;base64&quot;
}</code></pre>
<h3>响应示例</h3>
<p>Json示例</p>
<pre><code>{
&quot;code&quot;: 20000,
&quot;msg&quot;: &quot;success&quot;,
&quot;data&quot;: {}
}</code></pre>
<h2>查询订单详情接口</h2>
<h3>接口描述</h3>
<p>根据返回的平台订单号查询详情信息。 </p>
<p><strong>注意:该接口需认证accessToken</strong></p>
<h3>使用场景</h3>
<p><span id="query"></span>
用户调用下单接口之后生成订单,查询详情。</p>
<h3>接口说明</h3>
<p>请求地址: <a href="http://yunhaoka.vip/api/v1/order/query"><a href="http://yunhaoka.vip/api/v1/order/query">http://yunhaoka.vip/api/v1/order/query</a></a> </p>
<p>请求方法:POST
Content-Type: application/json;charset=utf8</p>
<h3>具体参数</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>是否必传</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>String</td>
<td>是</td>
<td>由俊子云服务提供,每个应用都对应一个唯一的appId</td>
</tr>
<tr>
<td>accessToken</td>
<td>String</td>
<td>是</td>
<td>由鉴权接口返回</td>
</tr>
<tr>
<td>oid</td>
<td>String</td>
<td>是</td>
<td>平台订单号</td>
</tr>
</tbody>
</table>
<h3>返回值说明</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>code</td>
<td>Integer</td>
<td>20000</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>success</td>
</tr>
<tr>
<td>data</td>
<td>String</td>
<td>Json格式</td>
</tr>
<tr>
<td>oid</td>
<td>String</td>
<td>平台订单号</td>
</tr>
<tr>
<td>outOrderNo</td>
<td>String</td>
<td>外部订单号</td>
</tr>
<tr>
<td>name</td>
<td>String</td>
<td>收件人昵称</td>
</tr>
<tr>
<td>state</td>
<td>Integer</td>
<td>订单状态,详见状态说明附录</td>
</tr>
<tr>
<td>remark</td>
<td>String</td>
<td>备注</td>
</tr>
<tr>
<td>expressCompany</td>
<td>String</td>
<td>快递公司</td>
</tr>
<tr>
<td>expressNo</td>
<td>String</td>
<td>快递单号</td>
</tr>
<tr>
<td>produceMobile</td>
<td>String</td>
<td>生产号码</td>
</tr>
<tr>
<td>rechargeAmount</td>
<td>Double</td>
<td>充值金额,单位元</td>
</tr>
<tr>
<td>createTime</td>
<td>String</td>
<td>创建时间</td>
</tr>
<tr>
<td>iccid</td>
<td>String</td>
<td>iccid</td>
</tr>
</tbody>
</table>
<h3>请求示例</h3>
<p>Json示例, 具体请求需转Json字符串</p>
<pre><code>{
&quot;appId&quot;: &quot;XXXXXXXXXXXXXX&quot;,
&quot;authToken&quot;: &quot;XXXXXXXXXXXXXX&quot;,
&quot;oid&quot;:&quot;202306081328817231&quot;
}</code></pre>
<h3>响应示例</h3>
<p>Json示例</p>
<pre><code>{
&quot;code&quot;: 20000,
&quot;msg&quot;: &quot;success&quot;,
&quot;message&quot;: &quot;success&quot;,
&quot;data&quot;: {
&quot;oid&quot;:&quot;202306081328817231&quot;,
&quot;outOrderNo&quot;:&quot;702306081328817231&quot;,
&quot;remark&quot;: &quot;下单地址重复&quot;,
&quot;expressCompany&quot;: &quot;顺丰速运&quot;,
&quot;expressNo&quot;: &quot;SF420123231&quot;,
&quot;produceMobile&quot;: &quot;18928164527&quot;,
&quot;rechargeAmount&quot;: 100,
&quot;rechargeTime&quot;: &quot;2023-06-20 18:00:00&quot;,
&quot;createTime&quot;: &quot;2023-06-20 18:00:00&quot;,
&quot;iccid&quot;: &quot;&quot;,
&quot;state&quot;: 60,
}
}</code></pre>
<h3>使用场景</h3>
<p><span id="product"></span>
用于查询上游商品是否上下架详情。</p>
<h3>接口说明</h3>
<p>请求地址: <a href="http://yunhaoka.vip/api/v1/product/state"><a href="http://yunhaoka.vip/api/v1/product/state">http://yunhaoka.vip/api/v1/product/state</a></a> </p>
<p>请求方法:POST
Content-Type: application/json;charset=utf8</p>
<h3>具体参数</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>是否必传</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>String</td>
<td>是</td>
<td>由俊子云服务提供,每个应用都对应一个唯一的appId</td>
</tr>
<tr>
<td>accessToken</td>
<td>String</td>
<td>是</td>
<td>由鉴权接口返回</td>
</tr>
<tr>
<td>productId</td>
<td>Long</td>
<td>是</td>
<td>商品ID</td>
</tr>
</tbody>
</table>
<h3>返回值说明</h3>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>code</td>
<td>Integer</td>
<td>20000</td>
</tr>
<tr>
<td>msg</td>
<td>String</td>
<td>success</td>
</tr>
<tr>
<td>data</td>
<td>String</td>
<td>Json格式</td>
</tr>
<tr>
<td>productTitle</td>
<td>String</td>
<td>商品名称</td>
</tr>
<tr>
<td>upState</td>
<td>Boolean</td>
<td>是否上架</td>
</tr>
</tbody>
</table>
<h3>请求示例</h3>
<p>Json示例, 具体请求需转Json字符串</p>
<pre><code>{
&quot;appId&quot;: &quot;XXXXXXXXXXXXXX&quot;,
&quot;authToken&quot;: &quot;XXXXXXXXXXXXXX&quot;,
&quot;productId&quot;:&quot;103666&quot;
}</code></pre>
<h3>响应示例</h3>
<p>Json示例</p>
<pre><code>{
&quot;code&quot;: 20000,
&quot;msg&quot;: &quot;success&quot;,
&quot;message&quot;: &quot;success&quot;,
&quot;data&quot;: {
&quot;productTitle&quot;:&quot;联通188G&quot;,
&quot;upState&quot;: false
}
}</code></pre>
<h2>订单状态说明</h2>
<h3>state说明</h3>
<p><span id="zt"></span>
返回说明:</p>
<table>
<thead>
<tr>
<th>状态码</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>待上传照片</td>
</tr>
<tr>
<td>10</td>
<td>待提交审核</td>
</tr>
<tr>
<td>20</td>
<td>待自动审核</td>
</tr>
<tr>
<td>30</td>
<td>待人工审核</td>
</tr>
<tr>
<td>40</td>
<td>待开卡</td>
</tr>
<tr>
<td>50</td>
<td>已领取</td>
</tr>
<tr>
<td>55</td>
<td>开卡中</td>
</tr>
<tr>
<td>60</td>
<td>待发货</td>
</tr>
<tr>
<td>61</td>
<td>待跟单</td>
</tr>
<tr>
<td>65</td>
<td>已发货</td>
</tr>
<tr>
<td>70</td>
<td>已激活</td>
</tr>
<tr>
<td>71</td>
<td>可结算</td>
</tr>
<tr>
<td>75</td>
<td>已完成</td>
</tr>
<tr>
<td>98</td>
<td>订单取消</td>
</tr>
<tr>
<td>99</td>
<td>开卡失败</td>
</tr>
</tbody>
</table>