Blackbox printing
Blackbox printing uses a HubCapp server to service Blackbox print requests. Its configuration requires:
- An installed HubCapp server.
- Any number of installed HubCapp Peripheral Agents configured to connect to the HubCapp server, and connected to the print devices.
- Logistics Server configured to point to the HubCapp server that will be used. See Logistics Server Data settings.
- Outputs with a Printer Type of HubCapp. See The HubCapp Printer Type. Normal output permissions apply.
- Blackbox requests that include HubCapp printing in their Output nodes. See Schema support.
For HubCapp print requests, the current Logistics Server user name is used as the identifying HubCapp Peripheral Agent machine name, although this can be overridden in the output's configuration, if required. See Machine Name for its importance in HubCapp printing implementations.
This topic ends with some guidance on testing. See Test Blackbox print requests.
Logistic Server Data settings
In the Administration App, go to Data > All Settings, and set the following:
- HubCapp Server Uri to the URL of the HubCapp server. When a HubCapp server is created, this is its Host Name setting.
- HubCapp Server License Key to the license key allocated to the HubCapp server being used. When a HubCapp server is created in Transtream Setup, this is its License Key field. These are the same details that each HubCapp Peripheral Agent will use (in its Settings).
- HubCapp Server Timeout. This is milliseconds and defaults to 5000 (5 seconds). If remote outputs print, but Blackbox responses show failure, increase this setting.
The HubCapp Printer Type setting
For Blackbox HubCapp printing, you need outputs (documents and labels) configured with a Printer Type of HubCapp. Do this in the Administration App's Outputs page, or manually update the configuration files.
For manual updates, make sure your Peripheral Agent is not running. Once you've amended the files, run the Agent to view the changes.
Machine Name
The Machine Name setting ensures requests are handled by the correct HubCapp Peripheral Agent. It is case sensitive, and must match either:
- The name of the Logistics Server user making the print request. By default, Logistics Server will send requests using the current user name as the identifying machine name. So, if you utilise this default behavior, you will need HubCapp Peripheral Agent(s) with machine name(s) that correspond exactly with your Logistics Server user name(s).
- Alternatively, this can be configured via the HubCapp Peripheral Agent Machine Name setting in the Administration App.
- In Administration App > Outputs, the HubCapp Machine Name override set. If required, outputs can target a specific machine name, and thereby override the user name based default. See Outputs.
At runtime, a generic failed to connect error is generated when the machine name in the Blackbox request does not match the machine name of a connected HubCapp Peripheral Agent.
Schema support
The following schemas include Blackbox printing support:
- PierbridgeSignatureResponse/Outputs/Output
- PierbridgeSignatureResponse/Packages/Package/Labels/Output
- PierbridgeShipRequisitionResponse/Documents/Output
- PierbridgeShipResponse/Packages/Package/Documents/Output
- PierbridgeShipResponse/Packages/Package/Labels/Output
- PierbridgeShipResponse/Documents/Output
- PierbridgeReturnResponse/Documents/Output
- PierbridgeReturnResponse/Outputs/Output
- PierbridgePackItemPrintResponse/PackItems/PackItem/Outputs/Output
- PierbridgeLabelResponse/Labels/Label
- PierbridgeInsuranceResponse/Documents/Output
- PierbridgeDocumentResponse/Documents/Output
The Output nodes in these schemas now include:
- /Status
- /Status/Code - Success of print.
- /Status/Description - Description of print status.
- /HubCappMachineID - See Machine name.
- /HubCappServerUri - See Logistics Server Data settings.
- /HubCappLicenseKey - See Logistics Server Data settings.
- /Printed - An internal indicator of success.
Test Blackbox print requests
To test XML requests, use an API development toolchain such as Postman, or if you have a previous (7.x) version of Transtream, you can use the Test XML Client utility from that version. A Transtream API Key must be appended to XML requests. See API Keys for details on API Key generation.
- Outputs provides general details on using this area of the Administration App.