拼多多打印组件交互协议相关介绍如下:
1、打印组件下载地址
2、socket连接端口
如果是http的话,端口是5000
socket = new WebSocket('ws://127.0.0.1:5000');
如果是https的话,端口是18653
socket = new WebSocket('wss://127.0.0.1:18653');
3、组件使用说明
- 拼多多打印组件通过windows系统打印驱动与打印机进行交互;
- 多多打印组件客户端通过Websocket协议进行外部通信;
- 拼多多打印组件Websocket地址:ws://127.0.0.1:5000;wss://127.0.0.1:18653。
4、请求协议头格式说明
请求协议头:
{
"cmd": "command",
"requestID": "unique requestID",
"version": "1.0"
}
字段说明:
响应协议头:
{
"cmd": "command",
"requestID": "unique requestID"
}
字段说明:
5、getPrinters = 获取打印机列表
请求协议格式如下:
{
"cmd": "getPrinters",
"requestID": "123458976",
"version": "1.0"
}
响应协议格式如下:
{
"cmd": "getPrinters",
"requestID": "123458976",
"defaultPrinter": "XX 快递打印机",
"printers":
[{
"name": "XX 快递打印机"
},
{
"name": "YY 物流打印机"
}]
}
字段说明:
6、getPrinterConfig = 获取打印机配置
请求协议格式如下:
{
"cmd":"getPrinterConfig",
"printer":"PDD 打印机",
"version":"1.0",
"requestID":"123456789"
}
响应协议格式如下:
{
"cmd": "getPrinterConfig",
"requestID": "123456789",
"status": "success/failed",
"msg": "如果出错,错误原因",
"printer": {
"name": "打印机名称",
"PrintTopLogo": true,
"PrintBottomLogo": true,
"horizontalOffset": 1,
"verticalOffset": 2
}
}
字段说明:
7、setPrinterConfig = 设置打印机配置
请求协议格式如下:
{
"cmd": "setPrinterConfig",
"requestID": "123458976",
"version": "1.0",
"printer": {
"name": "PDD打印机",
"PrintTopLogo": true,
"PrintBottomLogo": false,
"horizontalOffset": 2,
"verticalOffset": 2
}
}
注:参数说明参考获取打印机配置(getPrinterConfig)
响应协议格式如下:
{
"cmd": "setPrinterConfig",
"requestID": "123458976",
"status": "success",
"msg": "err msg"
}
字段说明
注:如果要保持某个配置不变,应省略对应的配置字段。
8、print = 发送打印数据协议
请求协议格式(加密)如下
{
"ERPId":"isv id",
"ISVName":"isv name",
"cmd":"print",
"requestID":"90E06437",
"task":{
"documents":[
{
"contents":[
{
"addData":{
"sender":{
"address":{
"city":"上海市",
"detail":"陕西面馆",
"district":"长宁区",
"province":"上海市"
},
"mobile":"333333333333",
"name":"ceshi"
}
},
"encryptedData":"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?v=10&pv=1",
"signature":"PAPe5OYetWzKlZD3Wnvi4BPKI6CeCybLmYgzZioIw0XAs7dOdosozY9XXoYDf4cnByiza/JuDvoYQvgh+HYqaCNnJ0G1WnScQ7MSoWGkIcE6FBOxFhsbokLNX2ixiOQ4ERCuozajDsSYpDyOpqvDB4vT5AALyQjXAfnR8GyR/B4=",
"templateUrl":"https://file-link.pinduoduo.com/zto_one",
"userid":"480261061",
"ver":"10"
},
{
"data":{
"height":240,
"list":[
{
"fontSize":31.2,
"height":45.68,
"left":2.08,
"text":"[备注: 没有什么备注]",
"top":2.08,
"width":413.52
}
],
"waterdata":{
"text":""
},
"width":560
},
"templateURL":"http://pinduoduoimg.yangkeduo.com/logistics/2019-07-14/5d7e8b5969d954539fcfba3268bbeb3a.xml"
}
],
"documentID":"5520010649869215"
}
],
"notifyType":[
"print"
],
"preview":false,
"previewType":"image",
"printer":"",
"taskID":"03281843"
},
"version":"1.0"
}
针对部分商家在打单后需要变更收发件人信息,方案提供内容变更的支持:改发件人信息、发件地址:云打印提供addData字段可修改发货信息
字段说明
9、PrintResultNotify = 打印结果通知
通知协议格式如下:
{
"cmd": "PrintResultNotify",
"printer": "PDD打印机",
"taskID": "1",
"taskStatus": "printed",
"printStatus": [{
"documentID”:”9890000112011”,
"status": "success",
"msg": "if failed,some tips, if success ,nothing”,
"detail": "错误信息的补充描述"
}]
}
字段说明
10、 getTaskStatus = 获取任务打印任务状态
请求协议格式如下:
{
"cmd": "getTaskStatus",
"requestID": "123458976",
"version": "1.0",
"taskID": [
"12311",
"12312"
]
}
字段说明
响应协议格式如下:
{
"cmd": "getTaskStatus",
"requestID": "123458976",
"printStatus": [{
"taskID": "12312",
"detailStatus": [{
"documentID": "9890000112011",
"status": "success",
"msg": "错误信息",
"printer": "PDD打印机"
}]
}]
}
字段说明
11、getGlobalConfig = 获取全局配置
请求协议格式如下:
{
"cmd": "getGlobalConfig",
"requestID": "12345678901",
"version": "1.0"
}
响应协议格式如下:
{
"cmd": "getGlobalConfig",
"requestID": "12345678901",
"status": "success",
"msg": "return nothing when success, return some tips when failed",
"TaskFailedNotify": true
}
字段解释:
12、setGlobalConfig = 设置全局配置
请求协议格式如下:
{
"cmd": "setGlobalConfig",
"requestID": "12345678901",
"version": "1.0",
"TaskFailedNotify": true
}
响应协议格式如下:
{
"cmd": "setGlobalConfig",
"requestID": "12345678901",
"status": "success",
"msg": "return nothing when success, return some tips when failed"
}
字段解释:
13、getAppInfo = 获取客户端版本信息
请求协议格式如下:
{
"cmd": "getAppInfo",
"requestID": "12345678901",
"version": "1.0"
}
响应协议格式如下:
{
"cmd": "getAppInfo ",
"requestID": "12345678901",
"status": "success",
"msg": "错误信息",
"AppVersion": "1.0.1"
}
字段解释: