--- tags: - printing integration alias: tutorials-printingintegrationdeeactions timetoread: true description: "This documentation details CM MES’s DEE Actions for integrating with BarTender and NiceLabel printing systems" --- # CM MES DEE Actions CM MES integrates default **DEE Actions** for the external printing systems BarTender and NiceLabel: ![Screenshot showing a printer's control panel with copyright and information icons.](../../../images/printing_dee_action_01.png) What follows is more detailed information regarding those out-of-the-box CM MES **DEE Actions**. For more information, see [[user-guide-dee-actions]]. ## BarTender BarTender is a printing system that allows you to design layouts and configure/deploy integrations. ### Printing Integration BarTender Web Service Input The **DEE Action** sends the data via query parameters on the GET HTTP method and via a body on the POST HTTP method. !!! note If you use the POST HTTP method, the content-type can be JSON, XML or another type and some changes may be required for adequate integration. ### Printing Integration BarTender Web Service Output The **DEE Action** assumes that the response is a JSON string with this format: ```Json { "Version": "1.0", "Status": "RanToComplete", "WaitStatus": "Completed", "Validated": true, "Messages": [ { "ActionName": "Print Document", "Level": 2, "Text": "BarTender successfully sent the print job to the spooler.\r\n\r\nJob Name: LabelMaterialNameAndId.btw\r\nDocument: LabelMaterialNameAndId.btw\r\nPrinter: PDF" } ] } ``` And it returns the **Text** line as in the example above. !!! note If you configure another output, you may need to adjust your data structure. ### Printing Integration BarTender File Input The **DEE Action** is prepared to send data in CSV or XML format: * **CSV** - the Text Delimiter and Text Qualifier are set using the **Printing Integration** metadata, so you need to make sure that it is compatible with the BarTender configuration. * **XML** - assume the following structure (**Content** as root node): ![Screenshot showing a file input field with the filename "printing_dee_action_02" in the context of setting up a database for BarTender.](../../../images/printing_dee_action_02.png) !!! note If you use another structure, you must alter the **DEE Action**. ## NiceLabel NiceLabel is a printing system that allows you to design, print, and manage labels for various industries. ### Printing Integration NiceLabel Web Service Input The **DEE Action** sends the data via query parameters on the GET HTTP method and via a body on the POST HTTP method. !!! note If you use the POST HTTP method, the content-type can be JSON, XML or another type and some changes may be required for adequate integration. ### Printing Integration NiceLabel Web Service Output The **DEE Action** assumes that the response is a JSON string with this format: ```Json { "AsyncState": null, "CancellationPending": false, "CreationOptions": "None", "Exception": null, "Id": 250, "Result": "NiceLabel printed file to material name: Cookie-01", "Status": "RanToCompletion" } ``` And it returns the **Result** line as in the example above. !!! note If you configure another output, you may need to adjust your data structure. ### Printing Integration NiceLabel File Input The **DEE Action** is prepared to send data in CSV or XML format: * **CSV** - the Text Delimiter and Text Qualifier are set using the **Printing Integration** metadata, so you need to make sure that it is compatible with the BarTender configuration. * **XML** - assume the following structure (**Content** as root node): ```xml ``` !!! note If you use another structure, you must alter the **DEE Action**. ## Hints and Tips For both file formats, variables like `NumberOfCopies` and `Layout` are sent with the Context Data, and the BarTender and NiceLabel configuration must be prepared. If this is the case, to capture those variables, you should use actions like: * **BarTender** * Transform Text To Record Set * For Each Database Record * **NiceLabel** * Use Data Filter * For Each Line !!! note If you are setting up the FTP server locally, you can follow this post: [How To Setup FTP Server on Windows 11 - Microsoft Community](https://answers.microsoft.com/en-us/windows/forum/all/how-to-setup-ftp-server-without-requiring-client/1c2f9c20-ee9b-4eee-ade2-46e82f2687d4).