Los Webhooks del Servidor de Impresión proporcionan un método para recibir notificaciones de eventos en tiempo real desde el Servidor de Impresión. En lugar de sondear constantemente el servidor de impresión en busca de actualizaciones, permite que el servidor de impresión le notifique proactivamente cualquier cambio.

Para suscribirse a estas notificaciones, debe incluir el parámetro Subscribe=true al realizar una solicitud a la acción printerInfo. Las notificaciones se dirigirán a la dirección IP que inició la petición printerInfo con el parámetro subscribe.

Por ejemplo:

http://192.168.8.121:49091/?action=printerInfo&subscribe=true&port=9080
HTML
  • Servidor de impresión IP+puerto: 192.168.8.205:49095
  • Suscríbase: ?action=printerInfo&subscribe=true
  • neoControl Puerto: 49098

Una vez que te hayas suscrito, tienes la opción de gestionar tu suscripción a través de la aplicación Print Server accediendo a Print Server > Configuración > Sistema de registro > Conexiones. Desde allí, puedes revocar tu suscripción según sea necesario.


Una vez suscrito, en caso de que se produzca una acción en el servidor de impresión, como el traslado de un trabajo, todos los suscriptores recibirán una solicitud `POST` en uno de los siguientes formatos:

POST /app/updateQueue?printerUUID=xxxx

POST /app/updateJob?jobUUID=xxxx

POST /app/updatePrinter?printerUUID=xxxx

POST /app/updateAll
HTML


Los tres primeros "tipos de notificación" irán acompañados de un cuerpo que contendrá el nuevo estado del Servidor de Impresión. Este cuerpo tendrá el mismo formato que si se hubiera realizado una petición al Servidor de Impresión con `action=printerInfo`, `action=jobInfo`, o `action=printerInfo`, respectivamente.


He aquí un ejemplo de notificación recibida:

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


Estas notificaciones proporcionarán actualizaciones en tiempo real sobre el estado del servidor de impresión, permitiendo a los suscriptores mantenerse informados sobre cualquier cambio que se produzca.


Artículos relacionados:

Servidor de impresión WebAPI