调用该接口根据寄雁传书服务控制台创建的小票打印模板完成小票打印。

限制说明

调用该接口打印小票时,必须已经在寄雁传书控制台创建小票打印模板,否则将调用失败。

QPS限制

单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为50。

说明 RAM用户共享阿里云账号配额。

调试

您可以在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作为设备唯一标识符,和ProductKeyDeviceName组合是一一对应的关系。如果传入该参数,则无需传入ProductKeyDeviceName。如果您同时传入IotIdProductKeyDeviceName组合,则以IotId为准。
IotInstanceId String iot-****-v64*****

实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID

重要
  • 若有ID值,必须传入该ID值,否则调用会失败。
  • 若无实例概览页面或ID值,则无需传入。

实例的更多信息,请参见实例概述

ProductKey String a1BwV****

产品的唯一标识。

重要 如果传入该参数,需同时传入DeviceName
DeviceName String light

设备名称。

重要 如果传入该参数,需同时传入ProductKey
HistoryPrintTopic Boolean true

是否下发历史的Topic给打印设备。

  • false(默认):下发设备的Topic格式为/ext/rrpc/+/{pk}/{dn}/user/print
  • true:下发设备的Topic格式为/ext/rrpc/+/{pk}/{dn}/print

调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档

返回数据

名称 类型 示例值 描述
Code String iot.printservice.NotSigned

调用失败时,返回的错误码。更多信息,请参见错误码

Data Struct

打印结果。

DeviceErrorCode String 2

打印设备返回的错误码。

  • 2:缺纸。
  • 3:卡纸。
DeviceErrorMessage String no paper

打印设备返回的错误详情。

Id String NyWh5lw3*****RfL9LJUivhOhQV*****

打印的ID。

MaxRetryCount Integer 2

最多重试次数,固定取值为2,最多重试2次。

打印指令下发到设备后,如果设备回复失败或者超时,服务器将重新下发打印指令。

RetryCount Integer 0

实际重试次数。

Success Boolean true

是否打印成功。

  • true:打印成功。
  • false:打印失败。
ErrorMessage String print service not open

调用失败时,返回的错误信息。

RequestId String 66FF51D3-***-49F1-B1A2-***

阿里云为该请求生成的唯一标识符。

Success Boolean true

是否调用成功。

  • true:调用成功。
  • false:调用失败。

示例

请求示例

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
}

错误码

访问错误中心查看更多错误码。