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; } ?>
打印机基本指令