20.到付月结使用记录查询接口
<h3>功能描述</h3>
<ul>
<li>该接口用于:调用方通过二维码出示时间或运单号查询到付月结使用记录;客户按照时间维度查询到付月结信息,最多支持最近3个月数据查询</li>
</ul>
<h3>接口定义</h3>
<table>
<thead>
<tr>
<th style="text-align: center;">服务名称</th>
<th style="text-align: center;">批量交易</th>
<th style="text-align: center;">接口类型</th>
<th style="text-align: center;">接口uri</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">到付月结使用记录查询接口</td>
<td style="text-align: center;">不支持</td>
<td style="text-align: center;">接入/POST</td>
<td style="text-align: center;">/public/order/v2/freightCollect/monthlyCodeUsage</td>
</tr>
</tbody>
</table>
<h3>元素<请求></h3>
<table>
<thead>
<tr>
<th style="text-align: center;">序号</th>
<th style="text-align: center;">字段名</th>
<th style="text-align: center;">类型(约束)</th>
<th style="text-align: center;">必填</th>
<th style="text-align: center;">默认值</th>
<th style="text-align: left;">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">1</td>
<td style="text-align: center;">companyId</td>
<td style="text-align: center;">String(20)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">分配客户sendAppId</td>
</tr>
<tr>
<td style="text-align: center;">2</td>
<td style="text-align: center;">mailNo</td>
<td style="text-align: center;">String(32)</td>
<td style="text-align: center;">否</td>
<td style="text-align: center;">运单号(跟开始时间&结束时间2者,必填一项)</td>
</tr>
<tr>
<td style="text-align: center;">3</td>
<td style="text-align: center;">startTime</td>
<td style="text-align: center;">String(32)</td>
<td style="text-align: center;">否</td>
<td style="text-align: center;">开始时间(跟运单号两者,必填一项)</td>
</tr>
<tr>
<td style="text-align: center;">4</td>
<td style="text-align: center;">endTime</td>
<td style="text-align: center;">String(32)</td>
<td style="text-align: center;">否</td>
<td style="text-align: center;">结束时间(跟运单号两者,必填一项)</td>
</tr>
</tbody>
</table>
<h3>元素<响应></h3>
<table>
<thead>
<tr>
<th style="text-align: center;">序号</th>
<th style="text-align: center;">字段名</th>
<th style="text-align: center;">类型(约束)</th>
<th style="text-align: center;">必填</th>
<th style="text-align: center;">字段说明</th>
<th style="text-align: left;">描述</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">1</td>
<td style="text-align: center;">mailno</td>
<td style="text-align: center;">String(20)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">顺丰运单号,建议使用运单号作为筛选条件,用付款码出示时间(月结绑定时间)usageCreateTime为基准进行记录信息的更新,因为一个运单可能存在绑定多次到付月结二维码的情况</td>
</tr>
<tr>
<td style="text-align: center;">2</td>
<td style="text-align: center;">creator</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">付款人账号</td>
</tr>
<tr>
<td style="text-align: center;">3</td>
<td style="text-align: center;">creatorPhone</td>
<td style="text-align: center;">String(20)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">付款人手机号(密文)</td>
</tr>
<tr>
<td style="text-align: center;">4</td>
<td style="text-align: center;">creatorRealName</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">付款人姓名(密文)</td>
</tr>
<tr>
<td style="text-align: center;">5</td>
<td style="text-align: center;">organizationName</td>
<td style="text-align: center;">String(64)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">付款人姓名组织</td>
</tr>
<tr>
<td style="text-align: center;">6</td>
<td style="text-align: center;">senderContact</td>
<td style="text-align: center;">String(200)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">寄件人</td>
</tr>
<tr>
<td style="text-align: center;">7</td>
<td style="text-align: center;">senderMobile</td>
<td style="text-align: center;">String(20)</td>
<td style="text-align: center;">条件</td>
<td style="text-align: center;">寄件人手机(密文)</td>
</tr>
<tr>
<td style="text-align: center;">8</td>
<td style="text-align: center;">senderTel</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">条件</td>
<td style="text-align: center;">寄件人电话(密文)</td>
</tr>
<tr>
<td style="text-align: center;">9</td>
<td style="text-align: center;">senderAddress</td>
<td style="text-align: center;">String(600)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">寄件人地址(密文)</td>
</tr>
<tr>
<td style="text-align: center;">10</td>
<td style="text-align: center;">recipientAddress</td>
<td style="text-align: center;">String(600)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">收件人地址(密文)</td>
</tr>
<tr>
<td style="text-align: center;">11</td>
<td style="text-align: center;">totalFee</td>
<td style="text-align: center;">String(20)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">总运费</td>
</tr>
<tr>
<td style="text-align: center;">12</td>
<td style="text-align: center;">feeAmt</td>
<td style="text-align: center;">String(20)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">基础运费</td>
</tr>
<tr>
<td style="text-align: center;">13</td>
<td style="text-align: center;">vasFee</td>
<td style="text-align: center;">String(20)</td>
<td style="text-align: center;">否</td>
<td style="text-align: center;">增值费用,在特殊场景下(如优惠)可能为负值</td>
</tr>
<tr>
<td style="text-align: center;">14</td>
<td style="text-align: center;">meterageWeightQty</td>
<td style="text-align: center;">String(20)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">计费重量</td>
</tr>
<tr>
<td style="text-align: center;">15</td>
<td style="text-align: center;">packagesNo</td>
<td style="text-align: center;">String(10)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">件数</td>
</tr>
<tr>
<td style="text-align: center;">16</td>
<td style="text-align: center;">usageCreateTime</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">付款码出示时间,即到付月结码绑定时间</td>
</tr>
<tr>
<td style="text-align: center;">17</td>
<td style="text-align: center;">signTime</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">否</td>
<td style="text-align: center;">签收时间</td>
</tr>
<tr>
<td style="text-align: center;">18</td>
<td style="text-align: center;">thirdPlatformId</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">否</td>
<td style="text-align: center;">第三方平台id</td>
</tr>
<tr>
<td style="text-align: center;">19</td>
<td style="text-align: center;">recipientContact</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">否</td>
<td style="text-align: center;">收件人</td>
</tr>
<tr>
<td style="text-align: center;">20</td>
<td style="text-align: center;">recipientTel</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">否</td>
<td style="text-align: center;">收件电话(密文)</td>
</tr>
<tr>
<td style="text-align: center;">21</td>
<td style="text-align: center;">recipientMobile</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">否</td>
<td style="text-align: center;">收件手机(密文)</td>
</tr>
<tr>
<td style="text-align: center;">22</td>
<td style="text-align: center;">custid</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">否</td>
<td style="text-align: center;">月结卡号</td>
</tr>
<tr>
<td style="text-align: center;">23</td>
<td style="text-align: center;">companyId</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">公司id</td>
</tr>
<tr>
<td style="text-align: center;">24</td>
<td style="text-align: center;">companyName</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">公司名称</td>
</tr>
<tr>
<td style="text-align: center;">25</td>
<td style="text-align: center;">createTime</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">创建时间</td>
</tr>
<tr>
<td style="text-align: center;">26</td>
<td style="text-align: center;">depositumInfo</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">寄托物内容</td>
</tr>
<tr>
<td style="text-align: center;">27</td>
<td style="text-align: center;">feeDetails</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">费用详情</td>
</tr>
<tr>
<td style="text-align: center;">28</td>
<td style="text-align: center;">feeDetails</td>
<td style="text-align: center;">String(50)</td>
<td style="text-align: center;">是</td>
<td style="text-align: center;">费用详情</td>
</tr>
<tr>
<td style="text-align: center;">29</td>
<td style="text-align: center;">objString</td>
<td style="text-align: center;">String(100)</td>
<td style="text-align: center;">否</td>
<td style="text-align: center;">月结码加密串</td>
</tr>
</tbody>
</table>
<h3>报文范例</h3>
<ul>
<li>
<p><strong>请求报文</strong></p>
<pre><code>{
&quot;companyId&quot;:671611914917652343,
&quot;startTime&quot;:&quot;2023-03-17 00:00:00&quot;,
&quot;endTime&quot;:&quot;2023-06-01 00:00:00&quot;
}</code></pre>
</li>
<li><strong>响应报文</strong>
<ul>
<li>成功报文
<pre><code>{
&quot;result&quot;: [
{
&quot;companyId&quot;: &quot;671611914917609786&quot;,
&quot;companyName&quot;: &quot;测试公司&quot;,
&quot;createTime&quot;: &quot;2023-03-17 09:02:54&quot;,
&quot;creator&quot;: &quot;5585891&quot;,
&quot;creatorPhone&quot;: &quot;&quot;,
&quot;creatorRealName&quot;: &quot;&quot;,
&quot;custid&quot;: &quot;234942337&quot;,
&quot;depositumInfo&quot;: &quot;调解书等材料&quot;,
&quot;feeAmt&quot;: &quot;11.0&quot;,
&quot;feeDetails&quot;: &quot;&quot;,
&quot;getFeeTime&quot;: null,
&quot;getMailnoTime&quot;: null,
&quot;mailno&quot;: &quot;SF14392032234324&quot;,
&quot;meterageWeightQty&quot;: &quot;1.0&quot;,
&quot;organizationName&quot;: &quot;测试组织&quot;,
&quot;packagesNo&quot;: &quot;1.0&quot;,
&quot;receiptTime&quot;: &quot;2023-03-17 09:03:17&quot;,
&quot;recipientAddress&quot;: &quot;GCS+agxyTYEQnQ53SLIlk85XFpGfnRF7FI+qjIQctuwWEQOnjwl+ZHaDiJAfsRyOOTUlzYV4yIaK7QmTLOQIw==&quot;,
&quot;recipientContact&quot;: &quot;&quot;,
&quot;recipientMobile&quot;: &quot;&quot;,
&quot;recipientTel&quot;: &quot;&quot;,
&quot;senderAddress&quot;: &quot;GCS+agxyTYEQnQ53SLIlkzxAtI53fN0HolZfnWb7FCKdcFo6Mp4PSq4YGV2rh4zvE8qCMtGxfTwcVvyG6JygP+KTItvQ7FbFbastKTHJSuxO0YOHW4GYaxBXtH6DNAU&quot;,
&quot;senderContact&quot;: &quot;张三&quot;,
&quot;senderMobile&quot;: &quot;X1UcVhOrba/Ytk9+YpWkA==&quot;,
&quot;senderTel&quot;: &quot;X1UcVhOrKb/Ytk9+YpWkA==&quot;,
&quot;signTime&quot;: &quot;&quot;,
&quot;thirdPlatformId&quot;: &quot;lucy&quot;,
&quot;totalFee&quot;: &quot;11.0&quot;,
&quot;usageCreateTime&quot;: &quot;&quot;,
&quot;vasFee&quot;: &quot;0.0&quot;
}
],
&quot;succ&quot;: &quot;ok&quot;,
&quot;msg&quot;: null
}</code></pre></li>
<li>失败报文-范例1
<pre><code>{
&quot;result&quot;: null,
&quot;succ&quot;: &quot;ok&quot;,
&quot;msg&quot;: null
}</code></pre></li>
</ul></li>
</ul>
<h3>涉及密文字段的加解密说明</h3>
<ul>
<li>1、采用AES256方式加密后转Base64传输;</li>
<li>2、加密算法 CIPHER_ALGORITHM = "AES/CBC/PKCS5Padding";</li>
<li>3、key和向量值一样是客户编码对应的checkWork; 从前面截取16位,不足16位的在末尾补0;</li>
<li>4、解密参考代码:
public static String decrypt(String contentStr, String key, String ivStr) throws Exception {
byte[] iv = ivStr.getBytes();
SecretKey secretKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
cipher.init(Cipher.DECRYPT_MODE, secretKey, new IvParameterSpec(iv));
byte[] contentByte = java.util.Base64.getDecoder().decode(contentStr);
byte[] content = cipher.doFinal(contentByte);
return new String(content, StandardCharsets.UTF_8);
}</li>
</ul>