易联云热敏小票打印机(K4-WH)接入指南

易联云热敏小票打印机提供了丰富的接口和方便的开放平台。这里对于 K4-WH 型号(WIFI 版)的接入流程进行了总结。

K4-WH(WA)接入 WIFI 方法

https://mp.weixin.qq.com/s/RIAUjw-uwtlTNif2VjclIQ

易联云云打印开发文档

https://www.kancloud.cn/elind-dev/openapi/331992

https://doc3.10ss.net/

概念和术语

名词释义

自有应用服务模式 :如果您是个人/个体商户/企业,为自己管理的云打印机做开发,创建的应用即为自有应用服务模式,只能授权给开发者本人账号使用。

开放应用服务模式:指企业独立完成应用的设计开发后,作为商品服务推广给商户使用,可以授权多个商户使用,商户需要通过Oauth2.0的授权码模式授权。

client_id: 应用的身份标识,全局唯一的一个字符串,应用的唯一标识,在创建应用时分配

client_secret: 应用的私钥,一般配合应用的client_id一起成对使用,用来验证应用的合法性。

动词释义

授权: 开发者所开发的应用,想要访问商户的信息,则必须经过商户的同意,由应用发起的商户是否同意访问的操作称之为授权。

推送: 开放平台向应用发送“订单确认”、“打印状态变化”、“打印机状态变化”等消息,称之为向应用推送消息。

回调: 商户同意或拒绝应用的授权请求后,开放平台打开应用设置的回调URL并附加上商户同意或拒绝的操作信息,称为开放平台回调应用。

接入API

image

一般管理自己的无线打印机,都是使用“自有应用服务模式”。利用 client_id, client_secret 获取 access_token(访问令牌)。

“自有应用服务模式”获取 access_token(访问令牌)和终端授权的方法(链接)。

每个Client Id 的 Access Token获取或刷新频次限制共: 20次/日
该模式下Access Token 无失效时间,做好存储避免多次获取导致频次超过限制!!!

PHP SDK

GitHub:
https://github.com/Qzm6826/yilianyun-php-sdk

SDK 的使用方法参考 Github 仓库主页的 Usage

image

SDK 里自带了文本打印和图形打印等接口的封装,可以按照 Usage 里的直接调用。

如果要调用声音调节、订单确认等接口则需要自己传入合适的参数:

$ylyRpcClient = new YlyRpcClient($access_token, $config);
// 这个接口会返回success,但是机器没有反应
$ylyRpcRes = $ylyRpcClient->call('printer/shutdownrestart',  array('machine_code' => $machine_code, 'response_type' => 'shutdown'));

$ylyRpcRes = $ylyRpcClient->call('printer/setsound',  array('machine_code' => $machine_code, 'response_type' => 'buzzer', 'voice' => 3));
// horn 有女声语音,提示“设置成功”
$ylyRpcRes = $ylyRpcClient->call('printer/setsound',  array('machine_code' => $machine_code, 'response_type' => 'horn', 'voice' => 3));

// printer/printinfo 返回结果
// object(stdClass)#19 (3) {
//     ["error"]=>
//     string(1) "0"
//     ["error_description"]=>
//     string(7) "success"
//     ["body"]=>
//     object(stdClass)#20 (2) {
//       ["version"]=>
//       string(2) "k4"
//       ["print_width"]=>
//       string(4) "58mm"
//     }
//   }
$ylyRpcRes = $ylyRpcClient->call('printer/printinfo',  array('machine_code' => $machine_code));

// printer/getversion 错误此接口已废弃!
$ylyRpcRes = $ylyRpcClient->call('printer/getversion',  array('machine_code' => $machine_code));


// $ylyRpcRes = $ylyRpcClient->call('printer/getorder',  array('machine_code' => $machine_code, 'response_type' => 'close'));

$ylyRpcRes = $ylyRpcClient->call('print/index', array('machine_code' => $machine_code, 'content' => '<FS><center>奇迹出来了</center></FS>', 'origin_id' => mt_rand(100000, 999999)));
var_dump($ylyRpcRes);
die;
posted @ 2021-11-08 23:35  imzhi  阅读(2204)  评论(0编辑  收藏  举报