API开发文档
接口1:打印内容
调用方式:HTTP POST
URL:http://open.printcenter.cn:8080/addOrder
返回结果:JSON字符串
接口2:查询订单是否打印成功
调用方式:HTTP POST
URL:http://open.printcenter.cn:8080/queryOrder
返回结果:JSON字符串
接口3:查询打印机的状态
调用方式:HTTP POST
URL:http://open.printcenter.cn:8080/queryPrinterStatus
返回结果:JSON字符串
代码示例
打印机基本指令
| 参数 | 说明 |
| deviceNo | 打印机编号 |
| key | 密钥 |
| printContent | 打印内容 |
| times | 固定传1 |
URL:http://open.printcenter.cn:8080/addOrder
返回结果:JSON字符串
----------S1小票机返回的结果有如下几种:----------
{"responseCode":0,"msg":"订单添加成功,打印完成","orderindex":"xxxxxxxxxxxxxxxxxx"}
{"responseCode":1,"msg":"订单添加成功,正在打印中","orderindex":"xxxxxxxxxxxxxxxxxx"}
{"responseCode":2,"msg":"订单添加成功,但是打印机缺纸,无法打印","orderindex":"xxxxxxxxxxxxxxxxxx"}
{"responseCode":3,"msg":"订单添加成功,但是打印机不在线","orderindex":"xxxxxxxxxxxxxxxxxx"}
----------以上情况无须再次发送订单;下面的情况需要进行错误处理----------
{"responseCode":10,"msg":"内部服务器错误;"}
{"responseCode":11,"msg":"参数不正确;"}
{"responseCode":12,"msg":"打印机未添加到服务器;"}
{"responseCode":13,"msg":"未添加为订单服务器;"}
{"responseCode":14,"msg":"订单服务器和打印机不在同一个组;"}
{"responseCode":15,"msg":"订单已经存在,不能再次打印;"}
----------USB小票机返回的结果有如下几种:----------
{"responseCode":0,"msg":"已加入打印队列"}
{"responseCode":2,"msg":"服务器处理订单失败"}
接口2:查询订单是否打印成功
| 参数 | 说明 |
| deviceNo | 打印机编号 |
| key | 密钥 |
| orderindex | 订单索引(orderindex,该值由接口一返回) |
URL:http://open.printcenter.cn:8080/queryOrder
返回结果:JSON字符串
----------S1小票机返回的结果有如下几种:----------
{"responseCode":0,"msg":"打印成功"}
{"responseCode":1,"msg":"正在打印中"}
{"responseCode":2,"msg":"打印机缺纸"}
{"responseCode":3,"msg":"打印机下线"}
{"responseCode":16,"msg":"订单不存在"}
接口3:查询打印机的状态
| 参数 | 说明 |
| deviceNo | 打印机编号 |
| key | 打印密钥 |
URL:http://open.printcenter.cn:8080/queryPrinterStatus
返回结果:JSON字符串
----------S1小票机返回的结果有如下几种:----------
{"responseCode":1,"msg":"打印机正常在线"}
{"responseCode":2,"msg":"打印机缺纸"}
{"responseCode":3,"msg":"打印机下线"}
代码示例
<?php
header("Content-Type: text/html;charset=utf-8");
$DEVICE_NO = 'kdt1078615';
$key = '72264';
$content = "^N1^F1\n";
$content .= "^B2 测试打印\n";
$content .= "名称 单价 数量 金额\n";
$content .= "--------------------------------\n";
$content .= "饭 1.0 1 1.0\n";
$content .= "炒饭 10.0 10 10.0\n";
$content .= "蛋炒饭 10.0 10 100.0\n";
$content .= "鸡蛋炒饭 100.0 1 100.0\n";
$content .= "番茄蛋炒饭 1000.0 1 100.0\n";
$content .= "西红柿蛋炒饭 1000.0 1 100.0\n";
$content .= "西红柿鸡蛋炒饭 100.0 10 100.0\n";
$content .= "备注:加辣\n";
$content .= "--------------------------------\n";
$content .= "^H2合计:xx.0元\n";
$content .= "^H2送货地点:北京市海淀区xx路xx号\n";
$content .= "^H2联系电话:15999999988888\n";
$content .= "^H2订餐时间:2015-09-08 08:08:08\n";
$qrlength=chr(strlen('http://open.printcenter.cn'));
$content .= "^Q".$qrlength."http://open.printcenter.cn\n";
$result = sendSelfFormatOrderInfo($DEVICE_NO, $key, 1,$content);
var_dump($result);
function sendSelfFormatOrderInfo($device_no,$key,$times,$orderInfo){ // $times打印次数
$selfMessage = array(
'deviceNo'=>$device_no,
'printContent'=>$orderInfo,
'key'=>$key,
'times'=>$times
);
$url = "http://open.printcenter.cn:8080/addOrder";
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded ",
'method' => 'POST',
'content' => http_build_query($selfMessage),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return $result;
}
?>
打印机基本指令