打印服务器 Webhook 提供了一种接收来自打印服务器的实时事件通知的方法。它允许打印服务器主动向您推送任何变更通知,而无需您不断轮询打印服务器以获取更新。 要订阅这些通知,您应在向 printerInfo 动作(action)发起请求时包含参数 subscribe=true。通知将被发送至发起带 subscribe 参数的 printerInfo 请求的 IP 地址。 

例如:

http://192.168.8.121:49091/?action=printerInfo&subscribe=true&port=9080
HTML
  • Print Server IP+port: 192.168.8.205:49095
  • Subscribe: ?action=printerInfo&subscribe=true
  • neoControl Port: 49098


订阅后,您可以通过打印服务器应用程序管理订阅:导航至 打印服务器 > 设置 > 日志系统 > 连接。在此处,您可以根据需要撤销订阅。


订阅后,一旦打印服务器内发生某个动作(例如作业被移动),所有订阅者都将收到一个 'POST' 请求,其格式为以下之一:

POST /app/updateQueue?printerUUID=xxxxPOST /app/updateJob?jobUUID=xxxxPOST /app/updatePrinter?printerUUID=xxxxPOST /app/updateAll
HTML


前三种“通知类型”的请求正文(body)将包含打印服务器的新状态。此正文格式与分别向打印服务器发起 action=printerInfoaction=jobInfoaction=printerInfo 请求所返回的格式相同。


以下是一个接收到的通知示例:

POST /app/updatePrinter?printerUUID=63d54d14-4f29-4478-8c03-bf57640b86c3 HTTP/1.1 Content-Type: application/xml User-Agent: neoStampa 9 Host: 127.0.0.1:9373 Content-Length: 1162<?xml version="1.0" encoding="utf-8"?><PrinterInfo UUID="63d54d14-4f29-4478-8c03-bf57640b86c3" Printer="MS LaRio" Status="Idle" Active="No" ClusterID="" DefaultScheme="197 - Carta_Pigment_i1_10012012" MinWidth="28.35 pt" MaxWidth="9070.87 pt" MinLength="28.35 pt" MaxLength="14173228.35 pt" PendingSize="273155.999087" SelectedSize="0.000000" DoneSize="0.000000" Workstation="WINDOWS-PC" Version="9.0.1 x64">  <JobList>    <Job UUID="90def64b-1c54-4dce-8d80-9d0a9b94b91b" Index="0" StatusID="-1" Status="Error" PrintStatus="0" Enabled="no" LastError="No scheme selected!"/>    <Job UUID="3a7f2bcd-7514-468d-8d07-5fb7dce3b4e3" Index="1" StatusID="0" Status="Idle" PrintStatus="0" Enabled="no" LastError=""/>  </JobList>  <Schemes>    <Scheme Name="197 - Carta_Pigment_i1_10012012"/>  </Schemes>  <Layouts>    <Layout Name="Color Printing.xml"/>    <Layout Name="Rapport Printing.xml"/>    <Layout Name="Inedit_FullRapport.xml"/>    <Layout Name="Inedit_PrintRapport.xml"/>    <Layout Name="Inedit_RapportWithColors.xml"/>    <Layout Name="Inedit_RealSize.xml"/>    <Layout Name="Inedit_RealSizeWithRepeatPreview.xml"/>  </Layouts></PrinterInfo>
XML


这些通知将提供关于打印服务器状态的实时更新,使订阅者能够在变更发生时及时获知信息。


相关文章:

打印服务器 WebAPI