企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
# 添加终端接口 ***** 添加终端接口是为了第三方用户方便自动添加打印机到云端。 当用户在第三方业务系统里添加打印设备时,将自动添加在易联云第三方客户的账号里。去除了第三方手动添加的麻烦。 易联云API支持接口添加易联云打印机(终端)到云打印中心。当易联云API收到一个添加打印机设备的请求时,就将指定的终端号添加到云打印中心,并返回对应添加状态。 ## API接口地址(添加终端的端点) 地址:http://open.10ss.net:8888/addprint.php 端口:8888 请求方式:POST ## API调用方法 易联云API请求以及参数应该用POST方法发送。易联云API将根据收到的信息验证请求的有效性反馈对应的状态码。 ### 必填参数和需要提交的参数 |名称 |类型| 是否提交| 是否必填 |描述| |-|-|-|-|-| |apikey| String| 否| 是 |apikey(管理中心系统集成里获取)| |partner | int| 是 |是| 用户id(管理中心系统集成里获取)| |machine_code |String| 是| 是 |打印机终端号| |msign| String |是| 是 |打印机终端密钥| |mobilephone| String| 是 |是| 终端内部的手机号(方便充值)无手机号可传空值| |username| String| 是| 是| 用户名(登录管理中心获取用户名)| |printname| String| 是| 是 |打印机终端名称(自定义)| |sign |String |是| 是| API输入签名结果(生成的参数)| ## 举例 ~~~ $partner=6 //用户ID $apikey=d17d7d6cdaaa77a6dba928b6553c665325a033d5 //API密钥 $machine_code=613 //打印机终端号 $msign=123456 //打印机密钥 $username=qiancongbin //用户名 $mobilephone=15982424080 //打印机内的手机号 $printname=天府广场店 //打印机名称 $sign=933EE4945187690DE9FE1E069FB1094E //生成的32位签名 ~~~ ## 签名加密算法如下: sign= apikey+(partner +machine_code+ username+ printname+ mobilephone)+msign 串在一起后进行MD5加密然后再转换成大写,括号里面的参数是需要键名和值,并且按照键进行自然排序,即php的 ksort()函数,apikey和msign只需要值 ## 签名具体写法 ~~~ function generate_sign($params, $apikey, $msign) { // 对传入数组按键进行排序 ksort($params); // 排序后的 $params // $params = array ( // 'machine_code' => 613, // 'mobilephone' => '15982424080', // 'partner' => '6', // 'printname' => '天府广场店', // 'username' => 'qiancongbin', // ); // 将 apikey 拼接在签名字符串最前面 $stringToBeSigned = $apikey; foreach ($params as $k => $v) { // 将排序后的数组拼接到字符串中 $stringToBeSigned .= urldecode($k.$v); } // 将 msign 拼接在签名字符串最后面 $stringToBeSigned .= $msign; // 计算签名前的字符串 // d17d7d6cdaaa77a6dba928b6553c665325a033d5machine_code613mobilephone15982424080partner6printname天府广场店usernameqiancongbin123456 // 对字符串 md5 后,转大写,获取计算的签名结果 return strtoupper(md5($stringToBeSigned)); } ~~~ 调用 ~~~ $params = array ( 'partner' => '6', 'machine_code' => 613, 'mobilephone' => '15982424080', 'printname' => '天府广场店', 'username' => 'qiancongbin', ); $apikey = 'd17d7d6cdaaa77a6dba928b6553c665325a033d5'; $msign = '123456'; // 获取签名 $params['sign'] = generate_sign($params, $apikey, $msign); // 拼接添加打印机的必须提交参数 $params['msign'] = $msign; // 获取 query 字符串 $query = http_build_query($params); // 将要发给接口的 $query // partner=6&machine_code=613&mobilephone=15982424080&printname=%E5%A4%A9%E5%BA%9C%E5%B9%BF%E5%9C%BA%E5%BA%97&username=qiancongbin&sign=BB1542448854A307FD540FB15859F8C0&msign=123456 // 请求接口 获取相应 $response = fetch($url, $query); // 打印接口返回 var_dump($response); ~~~ 请求接口函数 ~~~ // 请求接口 function fetch($url, $data) { $curl = curl_init(); // 启动一个CURL会话 curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检测 curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:')); // 解决数据包大不能提交 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转 curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包\ curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循 curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 $tmpInfo = curl_exec($curl); // 执行操作 if (curl_errno($curl)) echo curl_error($curl); curl_close($curl); // 关键CURL会话 var_dump($tmpInfo); return $tmpInfo; // 返回数据 } ~~~ ##从以上举例中得到的加密参数: d17d7d6cdaaa77a6dba928b6553c665325a033d5machine_code613mobilephone15982424080partner6printname天府广场店usernameqiancongbin123456 ## 举例提交内容如下; partner=6&machine_code=613&username=qiancongbin&printname=天府广场店&mobilephone=15982424080&msign=123456&sign=933EE4945187690DE9FE1E069FB1094E ## 返回的状态码 |状态码|说明| |-|-| |1| 添加成功| |2| 重复| |3 |添加失败| | 4| 添加失败| |5 |用户验证失败| |6| 非法终端号| 特殊检查码: |状态码|说明 | |-|-| |{-1.1, "The partner can not be empty, The partner received by the server is '{$userid}'}|用户id不能为空| |{-1.2, "The partner must be a number, The partner received by the server is '{$userid}|用户id必须是数字}| | {1.4, "The username can not be empty, The username received by the server is '{$user}'");|用户名不能为空| | {-1.5, "The user not found. Please confirm that the partner: '{$userid}' is correct")}|用户没有找到,请确认partner| |-1.6, "The machine not found. Please confirm that the machine_code: '{613}' and msign: '{123456}' is correct"|打印机没有找到,确认是否为| | {-1.7, "Signature error, The server-side signature is '{ahalhgahglahlofiahkaolgh}', The client-side signature is {933EE4945187690DE9FE1E069FB1094E}")}}|签名验证| :-: <a target="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=761f845b409a5483b96e91f26de0d23fef9ca67e214c1eb75ab503e6c07a0107"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="易联云对接开发支持" title="易联云对接开发支持"></a>