春风物流合作商API技术接口规范
Version: 1.2.152505; Author: GAN
Mr.GAN
QQ: 3467088; Mail: gan@spring56.com
Tel: 021-31083456-8069; Mobile: 13816984330
日期↓ |
版本号 |
作者 |
说明 |
2014-08-04 17:12 |
1.0.140804 |
GAN |
|
2015-04-06 12:58 |
1.1.150406 |
GAN |
|
2015-04-12 11:14 |
1.2.150412 |
GAN |
|
2015-04-22 15:06 |
1.2.150420 |
GAN |
- 增加在未下单前通过地址及箱数获取运单号及箱号
- 修正、优化其他部分接口
|
2015-07-13 14:41 |
1.2.150713 |
GAN |
|
2015-12-03 18:09 |
1.2.151203 |
GAN |
|
2020-08-04 14:35 |
1.2.152503 |
huhaiwei |
|
2020-08-19 09:35 |
1.2.152504 |
huhaiwei |
|
2021-08-10 15:55 |
1.2.152505 |
huhaiwei |
|
前言
- 请参阅人员严格遵循手册中的各项规范及要求,并同时做好相关的保密工作,谢谢配合。
- 版本号命名规则:
- 版本号以主、子、序列三级递增。
- 主版本代表整个软件或者体系进行革命性的升级行为。
- 子版本代表功能性的升级行为。
- 序列版本代表BUG修复或者小幅度调整行为,以修改的年月日记录。如150412表示为2015年04月12日所做调整。
一、功能结构
二、数据交互说明
- 所有接口为标准的 HTTP POST 协议。
- 数据编码采用UTF-8。
- 数据接口统一访问地址:http://sync.spring56.com/port/interface.php
- 在连接服务器接口时,以下参数必须提供:
- style: 该参数指明请求和返回的数据格式,目前仅支持json,暂不支持xml或csv等其他格式。
- func: 该参数指明需要请求的功能,具体请参考各项接口说明。
- partner: 该参数指明合作方代码,由春风物流提供,一般为合作方官方网站域名,请合作方在申请时提供。(测试阶段代码为test)
- datetime: 请求接口时的时间,格式为:“20150412132533”,春风接口程序会控制在2小时内有效,超过范围会被服务器拒绝。如果错误在可控范围内,将来可能会减少有效时间在半小时内,因此特别提醒合作商需要随时关注服务器时间,最好采取互联网同步时间的方式,减少与春风服务器的时间差异。
- content: 数据内容,需要先进行url编码,再进行BASE64编码,以下算法中假设content数据内容为:{"mailno":650400012345,"mode":"simple"}
- verify: 数据效验码,用于效验数据是否正确完整,该码生成规则:md5(partner + datetime + func + content + pass),其中pass在测试阶段为123456。开发时应将pass定义为可设置。
代码参考:md5("test20150412132533order.submiteyJtYWlsbm8iOjY1MDQwMDAxMjM0NSwibW9kZSI6InNpbXBsZSJ9123456")
- 注意在生成效验码时,传入的content是经过base64编码后的字符串。
- 最后,为了安全传递,所有参数都需要经过url编码(一般也就 content 需要进行编码)。
- POST 传递的最终数据内容如下(仅供参考,需要了解更多可参考平台中提供的联调测试工具):
style=json&func=order.submit&partner=test&datetime=20150412132533&content=eyJtYWlsbm8iOjY1MDQwMDAxMjM0NSwibW9kZSI6InNpbXBsZSJ9&verify=d2d9df78882e57d27104371716f9b6eb&
- PHP参考代码如下:(C# 等语言请自行百度) JAVA参考代码
<?php
//账号信息(最好可在配置文件中进行配置)
$url = 'http://sync.spring56.com/port/interface.php';
$partner = 'test';
$pass = '123456';
//自定义POST函数功能(调用file_get_contents函数进行POST,如服务器支持CURL,建议用CURL,性能更好)
function post($url, $content){
$options = array(
'http'=>array(
'timeout'=>5
,'user_agent'=>'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0'
,'method'=>'POST'
,'header'=>'Content-Type: application/x-www-form-urlencoded; charset=utf-8'."\r\n".'Content-Length: '.strlen($content)
,'content'=>$content
)
);
$context = stream_context_create($options);
//
$return = array('content'=>file_get_contents($url, false, $context));
$return['header'] = trim(implode("\r\n", $http_response_header));
return $return;
}
//自定义函数功能结束
//当前服务器时间
$datetime = date('YmdHis');
//需要访问的功能
$func = 'mail.trace';
//数据内容
$content = '{"mailno":650400012345,"mode":"simple"}';
//数据内容先经过 url 编码
$url = urlencode($content);
//然后再经过 BASE64 编码
$base64 = base64_encode($url);
//生成效验码
$verify = md5($partner.$datetime.$func.$base64.$pass);
//POST前的数据拼装
$data = 'style=json'
.'&func='.$func
.'&partner='.$partner
.'&datetime='.$datetime
.'&content='.$base64
.'&verify='.$verify;
//调用自定义函数POST数据
$response = post($url, $data);
print_r($response);
//后续代码省略 ...
?>
- 通常情况下,客户端提交数据,服务器进行处理,并返回处理结果,样式如下:
执行正确时:
{
"result":true,
"error_code":"",
"remark":"",
"info":{
}
}
发生错误时:
{
"result": false,
"code": "s05",
"remark": "缺少必要的参数"
}
- 如有单独定义的情况,请参照该类别下的数据返回,如订单查询、获取列表、获取数据等。
- 其他的如未特别定义,服务器返回的结果均参照以上格式进行解析。
三、数据安全及调试
- 数据编码一律采用UTF-8,如发生乱码情况,请注意检查编码是否不正确。
- 已知JAVA的某些类在进行BASE64时,会在每超出该行后的第64位增加换行,请采用JAVA开发的同学在调试时特别注意。建议采用replace方法将换行进行清理。
- 如服务器无法连接或者没有得到正确格式的返回结果,应理解为网络异常。
- 如未得到业务级别的处理状态,均需要有重发机制,一般建议30至60分钟重发一次,重发次数不超过5次。
- 正式上线前,双方应交换配置的服务器IP地址,加入防火墙白名单,支持IP段或多个IP地址。
- 正式上线前,双方应联合进行各种业务场景测试,通过后方可上线运营。
四、接口说明
(一)运输信息查询
1. 批量查询 (mail.batch)
数据字段定义
字段(运单号) |
类型 |
必须 |
示例值 |
注释 / 说明 |
mailnos |
text |
是 |
50000000069,50000000070 |
运单号,多个号运单号用半角的逗号“,”进行分隔 |
content格式
{
"mailnos":"50000000069,50000000070"
}
服务器返回
{
"result":true,
"error_code":"",
"remark":"",
"info":{
"list":[
[{"time":"2017-06-13 10:53:00","mailno":"50000000069","state":"11","remark":"在【徐州一部】做 签收 操作,签收人为:历"}],
[{"time":"2017-06-11 12:53:47","mailno":"50000000070","state":"11","remark":"在【北京一部】做 签收 操作,签收人为:刘"}]
]
}
}
查询错误或者未找到相关数据时返回
请参照“二、数据交互说明”中的错误代码
(二)订单管理
1. 订单下发、修改接口 (order.submit)
数据字段定义
字段 |
类型 |
是否必须 |
示例值 |
注释 / 说明 |
下单时 |
修改时 |
id |
string(32) |
是 |
是 |
15041201234567 |
订单号,由合作商系统产生,具有系统唯一性。 |
type |
enum('simple') |
是 |
否 |
simple |
订单类型,目前仅支持 simple=普通订单。 |
mailno |
string(32) |
否 |
否 |
650400012345 |
托运单号,如下单时已有,请提供。 |
sendlist_id |
bigint(12) |
否 |
否 |
650400012345 |
清单号,如下单时已有,请提供。 |
way |
enum('truck','air','sea') |
否 |
否 |
truck |
默认truck,为汽运方式。如未提前约定,当前请勿选择其他方式。 |
deliver_type |
enum('deliver','selftake') |
否 |
否 |
deliver |
递送方式,deliver=配送;selftake=自提。 |
quantity |
int(10) |
是 |
是 |
7 |
订单中包含的总箱数,请注意并非指箱子里面的服装总件数。 |
quantity_large |
int(10) |
否 |
否 |
1 |
订单中包含的大箱数。 |
quantity_small |
int(10) |
否 |
否 |
3 |
订单中包含的小箱数。 |
pairs |
int(10) |
否 |
否 |
3 |
双数,此列暂仅用于鞋类客户 |
weight |
decimal(10,3) |
否 |
否 |
0.127 |
重量(千克) |
bulk |
decimal(10,3) |
否 |
否 |
0.006 |
体积(米³) |
price |
decimal(10,2) |
否 |
否 |
2736.12 |
货品声明价值 |
freight |
decimal(10,2) |
否 |
否 |
108.00 |
运费 |
premium |
decimal(10,2) |
否 |
否 |
56.00 |
保险费 |
pack_charges |
decimal(10,2) |
否 |
否 |
5.00 |
包装费 |
other_charges |
decimal(10,2) |
否 |
否 |
0.00 |
其他费用 |
sum |
decimal(10,2) |
否 |
否 |
2905.12 |
(到付、代收)总金额 |
paymode |
enum('','sender_prompt', 'receiver_prompt','sender_batch', 'receiver_batch','other_batch') |
否 |
否 |
sender_batch |
支付方式,默认为空字符串。sender_prompt=现付;receiver_prompt=到付;sender_batch=发货方月结;receiver_batch=到货方月结;other_batch=其他月结。 |
payer |
string(32) |
否 |
否 |
|
支付方。本列为支付方式选择other_batch=其他月结时才需录入。 |
goods |
string(255) |
否 |
否 |
|
货品类别或简单描述 |
dangerous |
enum('N','Y') |
否 |
否 |
N |
包含危险品 |
remark |
string(255) |
否 |
否 |
请勿摔货 |
订单备注 |
sender -> code |
string(32) |
否 |
否 |
13052 |
发件人在合作商系统中的ID号(可用于系统中的仓库编码等) |
sender -> name |
string(32) |
否 |
否 |
李琳 |
发件人姓名 |
sender -> company |
string(128) |
否 |
否 |
新南电子商务有限公司 |
发件公司名 |
sender -> mobile |
string(11) |
否 |
否 |
13912345678 |
发件人手机号码 |
sender -> phone |
string(128) |
否 |
否 |
021-87654321 |
发件人电话号码 |
sender -> city |
string(128) |
是 |
是 |
上海市,上海市,宝山区 |
发件人所在城市,必须逐级指定,用英文半角逗号分隔,目前至少需要指定到地市级,如能往下精确更好,如“上海市,上海市,宝山区,月浦镇,春和路,187号” |
sender -> address |
string(255) |
是 |
是 |
月浦镇春和路187号 |
发件人路名门牌等地址信息 |
receiver -> code |
string(32) |
否 |
否 |
130520142097 |
收件人在合作商系统中的ID号(可用于系统中的门店编码等) |
receiver -> name |
string(32) |
是 |
否 |
杨逸嘉 |
收件人姓名 |
receiver -> company |
string(128) |
否 |
否 |
逸嘉实业有限公司 |
收件公司名 |
receiver -> mobile |
string(11) |
至少其 中之一 |
否 |
13687654321 |
收件人手机号码 |
receiver -> phone |
string(128) |
否 |
010-22226789 |
收件人电话号码 |
receiver -> city |
string(128) |
是 |
是 |
四川省,成都市,武侯区 |
收件人所在城市,逐级指定,用英文半角逗号分隔 |
receiver -> address |
string(255) |
是 |
是 |
育德路497号 |
收件人路名门牌等地址信息 |
boxes[?] -> boxno |
string(32) |
是 |
是 |
1234567 |
箱条码,必须按照规则生成,具有系统唯一性。 |
boxes[?] -> remark |
string(255) |
否 |
否 |
请注意向上摆放 |
箱备注 |
boxes[?] -> items[?] -> id |
string(32) |
否 |
否 |
1234567 |
货品ID,可以为货品SKU |
boxes[?] -> items[?] -> name |
string(128) |
否 |
否 |
迷你风扇 |
货品名称 |
boxes[?] -> items[?] -> category |
string(64) |
否 |
否 |
电子产品 |
商品分类 |
boxes[?] -> items[?] -> material |
string(64) |
否 |
否 |
金属 |
商品材质 |
boxes[?] -> items[?] -> size |
string(64) |
否 |
否 |
12,11,23 |
大小(长,宽,高)(单位:厘米), 用半角的逗号来分隔长宽高 |
boxes[?] -> items[?] -> weight |
decimal(10,3) |
否 |
否 |
0.752 |
重量(单位:千克) |
boxes[?] -> items[?] -> unitprice |
decimal(10,2) |
否 |
否 |
79 |
单价 |
boxes[?] -> items[?] -> price |
decimal(10,2) |
否 |
否 |
1260.50 |
货箱中商品总价值 |
boxes[?] -> items[?] -> url |
string(256) |
否 |
否 |
http://www.abc.com/123.html |
商品链接 |
boxes[?] -> items[?] -> quantity |
int(10) |
否 |
否 |
1 |
本箱中货品的总数量(服装总件数或鞋类总双数) |
boxes[?] -> items[?] -> remark |
string(255) |
否 |
否 |
黑色大号 |
货品备注 |
content格式
{
"id": "C123456789"
,"type": "simple"
,"mailno": "1000000016"
,"sendlist_id": "650400012345"
,"way": "truck"
,"deliver_type": "deliver"
,"quantity": "7"
,"quantity_large": "1"
,"quantity_small": "3"
,"pairs": "20"
,"weight": "0.127"
,"bulk": "0.006"
,"price": "2736.12"
,"freight": "108.00"
,"premium": "56.00"
,"pack_charges": "5.00"
,"other_charges": "0.00"
,"sum": "2905.12"
,"paymode": "sender_batch"
,"payer": ""
,"goods": "服装"
,"dangerous": "N"
,"remark": "请勿摔货"
,"sender": {
"code": "130520142010"
,"name": "李琳"
,"company": "上海A公司"
,"mobile": "13912345678"
,"phone": "021-87654321"
,"area": "310118"
,"city": "上海市,上海市,宝山区"
,"address": "月浦镇春和路187号"
}
,"receiver": {
"code": "130520142097"
,"name": "杨逸嘉"
,"company": "四川B公司"
,"mobile": "13687654321"
,"phone": "010-22226789"
,"city": "四川省,成都市,武侯区"
,"address": "育德路497号"
}
,"boxes":[
{
"boxno": "1000000016001"
,"remark": "请注意向上摆放"
,"items": [
{
"id": "1234567"
,"name": "潮流女装"
,"category": "服装"
,"material": "棉质"
,"size": "12,11,23"
,"weight": "0.752"
,"unitprice": "79"
,"price": "1260.50"
,"url": "http://www.abc.com/123.html"
,"quantity": "16"
,"remark": "黑色中号"
}
,{
"name": "A类服装"
,"quantity": "50"
,"remark": ""
}
]
}
,{
"boxno": "1000000016002"
,"items": [
{
"name": "B类服装"
,"quantity": "50"
,"remark": ""
}
,{
"name": "C类服装"
,"quantity": "50"
,"remark": ""
}
]
}
]
}
{
"id": "C123456789"
,"sendlist_id": "20160609001"
,"type": "simple"
,"goods": "服装"
,"mailno": "1000000016"
,"quantity": "7"
,"sender": {
"name": "李琳"
,"company": "上海A公司"
,"mobile": "13564700877"
,"phone": "021-87654321"
,"city": "上海市,上海市,宝山区"
,"address": "月浦镇春和路187号"
}
,"receiver": {
"name": "杨逸嘉"
,"company": "四川B公司"
,"mobile": "13687654321"
,"phone": "010-22226789"
,"city": "四川省,成都市,武侯区"
,"address": "育德路497号"
}
,"boxes":[
{
"boxno": "1000000016001"
}
,{
"boxno": "1000000016002"
}
]
}
服务器返回
{
"result":true,
"error_code":"",
"remark":"下单成功",
"info": {
"mailno": "650400012345",
"quantity": "1"
}
}
请参照“二、数据交互说明”中的错误代码
2. 订单取消 (order.cancel)
content中包含的字段定义
字段 |
类型 |
必须 |
示例值 |
注释 / 说明 |
id |
string(32) |
是 |
15041201234567 |
订单ID |
remark |
string(255) |
否 |
信息错误,取消后重新下单 |
备注 |
content格式
{
"id": "15041201234567"
,"remark": "信息错误,取消后重新下单"
}
服务器返回
请参照“二、数据交互说明”中的错误格式
3. 获取运单号及箱号列表 (order.mailno)
重点注意:
- 箱条码生成规则:运单号+3位箱序号+星号+目的地编码。
- 货物标签打印时,请务必按照箱条码生成规则进行条码打印,否则对转运会造成较大障碍。
- 打印的箱标签请参考“七、附件参考 / (一)货箱标签”
content中包含的字段定义
字段 |
类型 |
必须 |
示例值 |
注释 / 说明 |
id |
string(32) |
是 |
HB1912000777 |
订单ID |
content格式
{
"id":"HB1912000777"
}
服务器返回
{
"result":"true",
"error_code":"",
"remark":"",
"info":{
"order":{
"id":"HB1912000777",
"mailno":"50000000069",
"branch_code": "330183",
"branch_name": "杭州子公司",
"quantity":"2",
"time":"2020-01-17 15:44:24",
"boxnos":[
"HX1912007056",
"HX1912007063"
]
}
}
}
查询错误或者未找到相关数据时返回
请参照“二、数据交互说明”中的错误格式
4. 订单查询接口 (order.query)
重点说明:
- 增加不同的显示模式,是为了节约网络流量及运行速度,应尽量做到满足需求后以最高性能为前提进行对接。
数据字段定义
字段 |
类型 |
必须 |
示例值 |
注释 / 说明 |
id |
string(32) |
是 |
HB1912000777 |
订单号 |
content格式
{
"id":"HB1912000777"
}
服务器返回
{
"result":"",
"error_code":"",
"remark":"",
"info":{
"order":{
"id":"HB1912000777",
"mailno":"50000000069",
"status":"input",
"quantity":"2",
"remark":"",
"time":"2020-01-17 15:44:24"
}
}
}
查询错误或者未找到相关数据时返回
请参照“二、数据交互说明”中的错误代码
5. 预先获取春风运单号 (order.getMailno)
数据字段定义
字段 |
类型 |
必须 |
示例值 |
注释 / 说明 |
getmailno |
boolean |
是 |
true |
该字段不为空即可 |
content格式
{
"getmailno": "true"
}
服务器返回
{
"result":"true",
"error_code":"",
"remark":"操作成功",
"info":{
"mailno":"6002852399"
}
}
查询错误或者未找到相关数据时返回
请参照“二、数据交互说明”中的错误代码
6. 运单签收图片 (order.image)
数据字段定义
字段 |
类型 |
必须 |
示例值 |
注释 / 说明 |
mailno |
string |
是 |
1890232529 |
订单下发时返回的运单号 |
content格式
{
"mailno": "1890232529"
}
{
"result":"true",
"error_code":"",
"remark":"",
"info":{
"mailno":"1890232529",
"image":"" //图片二进制流
}
}
查询错误或者未找到相关数据时返回
请参照“二、数据交互说明”中的错误代码
7. 获取运单费用 (order.fee)
数据字段定义
字段 |
类型 |
必须 |
示例值 |
注释 / 说明 |
mailno |
string |
是 |
1019781712 |
订单下发时返回的运单号 |
content格式
{
"mailno": "1019781712"
}
服务器返回
{
"result":"true",
"error_code":"",
"keys":"",
"remark":"操作成功",
"info":{
"mailno":"1019781712",
"price":"10"
}
}
查询错误或者未找到相关数据时返回
请参照“二、数据交互说明”中的错误代码
(三)地址解析
1. 通过收货地址获取网点及城市名称 (address.parse)
数据字段定义
字段 |
类型 |
必须 |
示例值 |
注释 / 说明 |
city |
string(128) |
是 |
上海市上海市宝山区 |
城市区域 |
address |
string(255) |
是 |
月浦镇春和路187号 |
详细地址 |
content格式
{
"city": "上海市上海市宝山区"
,"address": "月浦镇春和路187号"
}
服务器返回
{
"result":true,
"error_code":"",
"remark":"",
"info":{
"data":{
"area_id":"310113",
"area_names":"上海市,上海市,宝山区",
"branch_code":"310113",
"branch_name":"上海"
}
}
}
查询错误或者未找到相关数据时返回
请参照“二、数据交互说明”中的错误代码
2. 通过收货地址获取运单号及箱号列表 (address.mailno)
数据字段定义
字段 |
类型 |
必须 |
示例值 |
注释 / 说明 |
city |
string(128) |
是 |
上海市上海市宝山区 |
城市区域 |
address |
string(255) |
是 |
月浦镇春和路187号 |
详细地址 |
quantity |
int(10) |
否 |
4 |
箱数,请注意并非鞋盒数量,指打包后的货品包(箱)数,每一个货包(箱)应粘贴一张物流货箱标签。 |
content格式
{
"city": "上海市,上海市,宝山区"
,"address": "月浦镇春和路187号"
,"quantity": "4"
}
服务器返回
{
"result":true,
"error_code":"",
"remark":"",
"info":{
"order":{
"mailno":"6002852511",
"area_id":310113,
"area_names":"上海市,上海市,宝山区",
"branch_code":"310113",
"branch_showy":"310113",
"branch_name":"上海",
"quantity":"4",
"time":"13:56:45",
"boxnos":[
"6002852511001",
"6002852511002",
"6002852511003",
"6002852511004"
]
}
}
}
查询错误或者未找到相关数据时返回
请参照“二、数据交互说明”中的错误代码
五、常规值定义
重点注意:
(一)错误代码定义
代码 |
注释 / 说明 |
s00 | 严重未知错误 |
s01 | 服务器异常 |
s02 | 非法的IP来源 |
s03 | 无效的指令操作 |
s04 | 非法的数据签名 |
s05 | 缺少完整的参数 |
s06 | 非法的数据格式 |
s07 | 数据内容不符合要求 |
s30 | 图形验证码不正确 |
s31 | 短信验证码不正确 |
s50 | 没有指定有效的查询条件 |
s51 | 没有找到请求的数据 |
s52 | 未从数据源中获取到有效的数据内容 |
s53 | 无权操作指定的数据 |
s60 | 提交的数据与服务器中的数据一致,忽略更新 |
s70 | 数据保存失败 |
s90 | 重复操作 |
u01 | 用户未登录 |
u02 | 必须输入用户名和密码 |
u03 | 用户名或密码不正确 |
u04 | 账户已被停用 |
u05 | 账户信息需要完善 |
u06 | 用户名不能使用 |
e01 | 缺少业务所必须的数据内容 |
e02 | 业务所需要的数据内容不符合要求 |
注意:
- s01服务器异常,通常情况下该错误表明接口应用服务器正常,原因可能是后台缓存服务器或者数据库服务器发生了异常。因为接口应用服务器如果发生异常,客户端根本就无法连接,或者返回不了正确的数据格式。
- 如无法连接到服务器,或返回不了正确的数据格式,应该提示为网络连接异常。
(二)订单状态
代码 |
标题 |
1 |
提货 |
2 |
入站 |
3 |
录单 |
4 |
理货 |
5 |
干线配载 |
6 |
干线发车 |
7 |
到车 |
8 |
卸货 |
9 |
派送配载 |
10 |
转运 |
11 |
签收 |
(三)操作类型
代码 |
标题 |
注释 / 说明 |
input | 录单 | 运单已录入系统 |
got | 收件 | 已从客户那里成功揽收 |
in | 到站(卸车) | 货物进入站点 |
out | 出站(装车) | 货物从站点发出 |
store | 入库 | 放入库位 |
freed | 出库 | 出库 |
dispatch | 派件 | 货物进行派送 |
signed | 已签收 | 货物已被客户签收 |
bill_goback | 单据返回 | |
bill_signed | 单据返回确认 | |
unnormal | 异常 | 货物异常 |
backed | 退签 | 货品退回发件网点并已完成签收 |
goback | 退回 | 货品退回发件客户 |
relay | 转单/重发 | 由于某种原因,货品需要重新发送,或者需要转其他物流公司协助运送 |
(三)异常件类型
代码 |
标题 |
注释 / 说明 |
A01 | 破损 | 货品破损 |
A02 | 遗失 | 货品遗失 |
A03 | 拒签 | 收货人拒绝签收 |
A04 | 无法联系 | 无法联系到收货人 |
A05 | 要求退回 | 发货人要求退回 |
A06 | 缺件 | 包装内货品缺少 |
A99 | 其他 | 当选择其他原因时,必须输入备注。 |
六、附件参考
(一)货箱标签
说明:
- 标签尺寸为:100mm * 70mm
- 为防止部门热敏打印头坏死以后打印出来的条码不能识别,特将标签及条码设计成以上图案,且旋转了90度,这不影响客户端的正确打印和识别。
- 在粘贴时,应旋转90度,保证标签的正确方向,方便操作工人识别。