京东E卡核验验证码签名
<p>[TOC]</p>
<h5>业务背景</h5>
<ul>
<li>京东E卡直充商品,京东要求在下单充值前,用户侧要在下单前,直充京东E卡的手机号先调用接口获取京东下发的手机短信验证码。</li>
<li>接口请求链路:合作方 --> 福禄 --> 京东</li>
</ul>
<h5>接口描述</h5>
<ul>
<li>本接口专用于京东E卡直充下单前,充值账号为手机号时,调用核验验证码签名</li>
</ul>
<h5>接口地址</h5>
<ul>
<li><code>/api/Sms/JdECardVerifyCodeSign</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>POST</li>
</ul>
<h5>公共请求参数</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必传</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">app_key</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>开放平台分配给商户的app_key</td>
</tr>
<tr>
<td style="text-align: left;">encrypt_data</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>加密的业务报文,采用[AES加密](<a href="https://www.showdoc.com.cn/fuluapichannelservice/11558549786573526">https://www.showdoc.com.cn/fuluapichannelservice/11558549786573526</a> "AES加密")</td>
</tr>
</tbody>
</table>
<h5>业务报文参数</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必传</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">phone</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>手机号</td>
</tr>
<tr>
<td style="text-align: left;">verify_code</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>短信验证码</td>
</tr>
<tr>
<td style="text-align: left;">sms_sign</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>短信sgin</td>
</tr>
</tbody>
</table>
<h5>业务报文参数示例</h5>
<pre><code>{
&quot;phone&quot;: &quot;17620132013&quot;,
&quot;verify_code&quot;: &quot;482198&quot;,
&quot;sms_sign&quot;: &quot;8kM3DVKEJVOMT8sGqu44VoUdg&quot;
}</code></pre>
<h5>公共请求参数示例</h5>
<pre><code>{
&quot;app_key&quot;: &quot;i4esv1l+76l/7NQCL3QudG90Fq+YgVfFGJAWgT+7qO1Bm9o/adG/1iwO2qXsAXNB&quot;,
&quot;encrypt_data&quot;: &quot;Xik5F60nwXy+dgU5gWNAwCC0piaSYf1g6+Ph+R1BtT0QJ5waIP3v2bBbQ/Zi7g7XqxIJlZMiG05w2qX0Dk5YBrl5zYTZNsn5ZHqfyNhbViNUvX2iGgBK0BM6Sqj9cEWc&quot;
}</code></pre>
<h5>响应参数</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必传</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">int</td>
<td>返回码,详见底部《业务错误码》</td>
</tr>
<tr>
<td style="text-align: left;">message</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>返回码描述,详见底部《业务错误码》</td>
</tr>
<tr>
<td style="text-align: left;">result</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>响应结果,json字符串</td>
</tr>
</tbody>
</table>
<h5>成功响应示例</h5>
<pre><code> {
&quot;code&quot;: 0,
&quot;message&quot;: &quot;接口调用成功&quot;,
&quot;result&quot;: &quot;&quot;
}</code></pre>
<h5>失败响应示例</h5>
<pre><code> {
&quot;code&quot;: 4014,
&quot;message&quot;: &quot;验证码无效,请重新获取&quot;,
&quot;result&quot;: &quot;&quot;
}</code></pre>
<h5>业务错误码</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">返回码</th>
<th style="text-align: left;">返回码描述</th>
<th>解决方案</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">0</td>
<td style="text-align: left;">接口调用成功</td>
<td>接口调用成功,按正常流程处理</td>
</tr>
<tr>
<td style="text-align: left;">1005</td>
<td style="text-align: left;">必须传入app_key</td>
<td>请检查请求参数app_key是否为空</td>
</tr>
<tr>
<td style="text-align: left;">1006</td>
<td style="text-align: left;">无效的app_key</td>
<td>1、检查appkey是否复制错误;<br>2、沙箱环境与生产环境数据不互通;<br>3、沙箱环境只能使用沙箱数据;</td>
</tr>
<tr>
<td style="text-align: left;">1020</td>
<td style="text-align: left;">接口权限验证失败,请联系接口提供方</td>
<td>请联系接口提供方</td>
</tr>
<tr>
<td style="text-align: left;">1021</td>
<td style="text-align: left;">Api渠道未启用</td>
<td>请联系接口提供方启用Api渠道</td>
</tr>
<tr>
<td style="text-align: left;">1022</td>
<td style="text-align: left;">应用加解密Key未配置</td>
<td>请联系接口提供方配置应用加解密Key,并提供给您</td>
</tr>
<tr>
<td style="text-align: left;">1023</td>
<td style="text-align: left;">接口权限未配置</td>
<td>请联系接口提供方配置接口权限</td>
</tr>
<tr>
<td style="text-align: left;">1024</td>
<td style="text-align: left;">加密的业务报文为空</td>
<td>请检查请求参数encrypt_data是否为空</td>
</tr>
<tr>
<td style="text-align: left;">1025</td>
<td style="text-align: left;">业务参数:手机号不能为空</td>
<td>请检查加密前的业务报文中phone是否为空</td>
</tr>
<tr>
<td style="text-align: left;">1026</td>
<td style="text-align: left;">业务参数:手机号不符合格式</td>
<td>请检查加密前的业务报文中phone格式是否正确</td>
</tr>
<tr>
<td style="text-align: left;">1027</td>
<td style="text-align: left;">业务参数:验证码不能为空</td>
<td>请检查加密前的业务报文中verify_code是否为空</td>
</tr>
<tr>
<td style="text-align: left;">1028</td>
<td style="text-align: left;">业务参数:短信sgin不能为空</td>
<td>请检查加密前的业务报文中sms_sign是否为空</td>
</tr>
<tr>
<td style="text-align: left;">4008</td>
<td style="text-align: left;">校验验证码失败</td>
<td>提供请求报文,联系接口提供方排查</td>
</tr>
<tr>
<td style="text-align: left;">4014</td>
<td style="text-align: left;">验证码无效,请重新获取</td>
<td>请确认调用本接口是否超过5分钟,重新调用获取验证码</td>
</tr>
<tr>
<td style="text-align: left;">4015</td>
<td style="text-align: left;">短信sgin不一致,请重新获取</td>
<td>请检查加密前的业务报文中sms_sign是否正确</td>
</tr>
<tr>
<td style="text-align: left;">5001</td>
<td style="text-align: left;">系统异常</td>
<td>提供请求报文,联系接口提供方排查</td>
</tr>
</tbody>
</table>