Websocket Notifications

Websocket Notifications

WebSocket Notifications — PrintFactory Cloud API

Overview

PrintFactory Cloud provides real-time event notifications via a WebSocket connection. After opening a connection, you receive status updates for jobs, devices, cloud automation events, and more. 

Connection Details

Connect to: wss://notification.aurelon.com:27489

This endpoint is a standard WebSocket server. A plain WebSocket client is sufficient to establish the connection.

Authentication

To authenticate, include the MisKey header on the WebSocket handshake request.
You can find your MisKey at https://app.printfactory.cloud/settings/external-api
Requests without a valid MisKey will fail the connection.

Maintain Connection

WebSocket connections should remain open as long as you want real-time updates. Handle disconnection and reconnect logic as typical for WebSocket clients.

Alert
Only one simultaneous connection per organisation is possible.


Example Job notifications

Job created or updated

on Job created
  1. {
  2.     "JobGUID": "[job guid]",
  3.     "Status": "Created"
  4. }
on Job updated
  1. {
  2.     "JobGUID": "[job guid]"
  3. }


Job status changed notification

on Job status change
  1. {
  2.     "JobGUID": "[job guid]"
  3. }


Job copy added

on Job copy added on Manual Job Completion (HUB -> Tracking -> Manual Job Completion)

When Job has no Journal entries
  1. {
  2.     "JobGUID": "[job guid]",
  3.     "StatusRIP": "Ready",
  4.     "StatusPrint": "string", // empty string
  5. }

When Job has Journal entries - a notification send per each Journal entry
  1. {
  2.     "JobGUID": "[job guid]",
  3.     "StatusRIP": "Ready"
  4. }


Job Re-Print notification

on Job Re-Print
  1. {
  2.     "JobGUID": "[job guid]",
  3.     "Event": "Reprint",
  4.     "EventDate": "ISO8601 date string"
  5. }

Job Re-Route notification

on Job Re-Route
  1. {
  2.     "JobGUID": "[job guid]",
  3.     "Event": "ReRoute",
  4.     "EventDate": "ISO8601 date string",
  5.     "Status": "ReRoute"
  6. }

Job Re-Submit notification

on Job Re-Submit
  1. {
  2.     "JobGUID": "[job guid]",
  3.     "Event": "ReSubmit",
  4.     "EventDate": "ISO8601 date string"
  5. }

Job Re-Send notification

on Job Re-Send
  1. {
  2.     "JobGUID": "[job guid]",
  3.     "Status": "Created"
  4. }

Job Device is set

on Job Device set and sent to RIP
  1. {
  2.     "JobGUID": "[job guid]"
  3. }




Cloud Automation notifications

Cloud Nester Automation Job added

on Autonmation Job added to the Cloud Nester /api/v2/nester. The JobGUID here is not Print/Cut Job
  1. {
  2.     "JobGUID": "[job guid]"
  3. }

Cloud Nester Automation Job documents processed (PES)

on Automation Job documnets processed
  1. {
  2.     "JobGUID": "[job guid]"
  3. }

Cloud Nester Print/Cut Job created

on Nesting Queue submit/trigger and as a result a Print/Cut Job created
  1. {
  2.     "JobGUID": "[job guid]", // Print/Cut Job guid
  3.     "Status": "NestComplete",
  4.     "NestGUID": "[nesting candidate guid]",
  5.     "Event": "Creation",
  6.     "EventDate": "ISO8601 date string"
  7. }

Device notifications

Device status change notification

on Job status change
  1. {
  2.     "DeviceGUID": "[device guid]",
  3.     "Status": "string", // Error, Idle, Offline, Aborting, Printing, Sleeping, Calibrating, Maintenance, Pause, NotUsed, Hold
  4.     "Message": "string", 
  5.     "Temperature": "int?", 
  6.     "ConnectionState": "string", //Unknown, Online, Offline, Unstable
  7.     "ConnectionMessage": "string",
  8.     "RemainingInks": [
  9.         {
  10.             "InkIndex": "int?",
  11.             "InkName": "string",
  12.             "Level": "int?",
  13.             "MaxLevel": "int?"
  14.         }
  15.     ],
  16.     "QueueLength": [
  17.         {
  18.             "Type": "string", // Unknown, Length, Area, Sheet
  19.             "Value": "int"
  20.         }
  21.     ]
  22. }