对接规则
<h2>简介</h2>
<p>本平台为客户提供各类API服务,例如:下单购买、订单处理、商品数据等。本文档说明了开放平台的技术规范、传输协议等信息,供接入平台的商家使用,作为程序设计开发的指导。</p>
<h3>协议架构</h3>
<ol>
<li>传输采用HTTP协议。</li>
<li>商家使用POST方法将请求发送到接口地址,经服务端处理后,将请求结果返回。</li>
<li>传输数据采用UTF-8编码。</li>
<li>将参数放入HTTP请求体(body)中,不要使用url参数,中文无需url编码。</li>
</ol>
<h3>接口约定</h3>
<p>每次请求需传入以下参数:</p>
<table>
<thead>
<tr>
<th><strong>参数名</strong></th>
<th>类型</th>
<th><strong>说明</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>int</td>
<td>用户编号</td>
</tr>
<tr>
<td>timestamp</td>
<td>int</td>
<td>当前时间戳(单位:秒)</td>
</tr>
<tr>
<td>sign</td>
<td>string</td>
<td>签名(计算规则见下方说明)</td>
</tr>
</tbody>
</table>
<h3>签名计算方式</h3>
<p>为了防止请求被伪造、篡改,每一次接口请求都需传入根据本次请求参数与key(密钥)计算获得的sign(签名)。</p>
<p>sign生成规则: <code>md5(key + 参数1名称 + 参数1值 + 参数2名称 + 参数2值...)</code></p>
<p>+表示字符串连接运算,参数按照参数名的字典升序排列,<strong>md5加密后转为32位小写格式</strong>。</p>
<p>举例:某接口传入参数为a、z、b,传入值分别为1、2、3,那么sign值为: <code>md5({key}a1b3timestamp{timestamp}z2) //(需用key值替换{key},时间戳替换{timestamp})</code></p>
<h4><strong>计算sign说明</strong></h4>
<p>由于参数recharge_template_input_items[*]可能出现中文,不同编程语言、字符集的排序算法可能不一致。例如对“一”和“二”两个汉字排序,按照utf-8编码排序,“一”排在“二”前面;而按照拼音排序,“二”排在“一”前面,服务端同时支持这两种排序方式。</p>
<p><strong>注意:接入接口时不要将key值通过网络明文传输,请妥善保管,以免泄漏造成损失。</strong></p>
<h3>API通用返回格式</h3>
<pre><code>{
code: 200,
message: &quot;查看成功&quot;,
data: {
...
}
}</code></pre>
<p>code为服务器处理结果状态码,200为成功,其它为失败.</p>