调用该接口根据寄雁传书服务控制台创建的小票打印模板完成小票打印。
限制说明
调用该接口打印小票时,必须已经在寄雁传书控制台创建小票打印模板,否则将调用失败。
QPS限制
单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | PrintByTemplate |
系统规定参数。取值:PrintByTemplate。 |
TemplateBizCode | String | 是 | test |
模板标识,您可以在寄雁传书服务的控制台获取模板标识。 |
ParamsJsonString | String | 否 | { "orderTable": [ { "number": "1", "price": "33.00", "name": "糖醋排骨" } ], "orderTime": "2021-01-25 10:20:00", "address": "地址:浙江省杭州市西湖区阿里云飞天园区", "phone": "13********", "price": "? 74.00", "distributionFee": "5.00", "shopName": "XX食品商店", "title": "XX外卖单", "status": "--已在线支付--" } |
打印参数,您可以在寄雁传书服务控制台获取打印参数的数据模板,然后在数据模板中填入本次需要动态打印的内容。 重要 您需获取TemplateBizCode(模板标识)对应的数据模板。
|
IotId | String | 否 | 4de2c367****8c585e5992** |
设备ID。 重要 IotId作为设备唯一标识符,和ProductKey与DeviceName组合是一一对应的关系。如果传入该参数,则无需传入ProductKey和DeviceName。如果您同时传入IotId和ProductKey与DeviceName组合,则以IotId为准。
|
IotInstanceId | String | 否 | iot-****-v64***** |
实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 重要
实例的更多信息,请参见实例概述。 |
ProductKey | String | 否 | a1BwV**** |
产品的唯一标识。 重要 如果传入该参数,需同时传入DeviceName。
|
DeviceName | String | 否 | light |
设备名称。 重要 如果传入该参数,需同时传入ProductKey。
|
HistoryPrintTopic | Boolean | 否 | true |
是否下发历史的Topic给打印设备。
|
调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档。
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Code | String | iot.printservice.NotSigned |
调用失败时,返回的错误码。更多信息,请参见错误码。 |
Data | Struct |
打印结果。 |
|
DeviceErrorCode | String | 2 |
打印设备返回的错误码。
|
DeviceErrorMessage | String | no paper |
打印设备返回的错误详情。 |
Id | String | NyWh5lw3*****RfL9LJUivhOhQV***** |
打印的ID。 |
MaxRetryCount | Integer | 2 |
最多重试次数,固定取值为2,最多重试2次。 打印指令下发到设备后,如果设备回复失败或者超时,服务器将重新下发打印指令。 |
RetryCount | Integer | 0 |
实际重试次数。 |
Success | Boolean | true |
是否打印成功。
|
ErrorMessage | String | print service not open |
调用失败时,返回的错误信息。 |
RequestId | String | 66FF51D3-***-49F1-B1A2-*** |
阿里云为该请求生成的唯一标识符。 |
Success | Boolean | true |
是否调用成功。
|
示例
请求示例
http(s)://iot.cn-shanghai.aliyuncs.com/?Action=PrintByTemplate
&ParamsJsonString={ "orderTable": [ { "number": "1", "price": "33.00", "name": "糖醋排骨" } ], "orderTime": "2021-01-25 10:20:00", "address": "地址:浙江省杭州市西湖区阿里云飞天园区", "phone": "13********", "price": "? 74.00", "distributionFee": "5.00", "shopName": "XX食品商店", "title": "XX外卖单", "status": "--已在线支付--" }
&TemplateBizCode=test
&ProductKey=a1rYuVF****
&DeviceName=light
&<公共请求参数>
正常返回示例
XML
格式
<PrintByTemplateResponse>
<RequestId>66FF51D3-***-49F1-B1A2-*** </RequestId>
<Data>
<MaxRetryCount>2</MaxRetryCount>
<RetryCount>0</RetryCount>
<Id>NyWh5lw3*****RfL9LJUivhOhQV*****</Id>
<DeviceErrorCode>2</DeviceErrorCode>
<DeviceErrorMessage>no paper</DeviceErrorMessage>
<Success>true</Success>
</Data>
<Success>true</Success>
</PrintByTemplateResponse>
JSON
格式
{
"RequestId": "66FF51D3-***-49F1-B1A2-***",
"Data": {
"MaxRetryCount": 2,
"RetryCount": 0,
"Id": "NyWh5lw3*****RfL9LJUivhOhQV*****",
"DeviceErrorCode": 2,
"DeviceErrorMessage": "no paper",
"Success": true
},
"Success": true
}
错误码
访问错误中心查看更多错误码。