The Shoppa application can accept sign orders from external applications for printing. The sign order is an XML file which follows a predefined XML schema. The external application or PDA places the XML file in a predefined “hot folder” and Shoppa imports the file from this folder. The sign order can include one or many products. Each defined product can have text fields like name, brand, description, price and so on. The sign order has an auto print option. If this option is activated Shoppa will put all products on a predefined template and automatically send them for printing. When the auto print option is disabled Shoppa will show the products in a list for further action by user.
A few things are needed in order to use the local integration functionality:
The correct Add Ons for your enterprise and store level accounts. If you don't already have these, contact your Shoppa representative.
The location of the hot folder needs to be specified in the Shoppa configuration file, see below.
One or more display groups need to be created, preferably on an enterprise level account.
The location of the hot folder needs to be specified in Shoppas configuration file (shoppa2.exe.config). The relevant section is this:
If this setting does not already exist, add it in the <Shoppa.PL.Windows.Properties.Settings>
section. If the folder does not already exist, the Shoppa client will create it on startup.
In order to send a signorder file to Shoppa, simply place it in the hotfolder, either by hand for testing purposes, or use another appliction.
The folder will contain three or four subfolders, depending on the version of the Shoppa client.
In Shoppa 2.25 and newer, finished files will be moved to the archive folder after three days. Older versions do not do this, and the archive
folder is not created.
If a something goes wrong when processing a signorder file it will be moved to the error
folder, along with a .txt file containing an error message. A timestamp will be appended to the name of the signorder and the corresponding error file will have the same name, except for being a .txt file rather than an .xml file.
When a signorder is successfully processed it is moved to the finished folder. A timestamp will be appended to the name of the file.
The Schemas folder contains a file called DisplayGroups.xml that describes the available display groups.
There are several use cases for the signorder functionality. These are a few examples.
An application running on a handheld device can read the DisplayGroups.xml file if the hot folder is placed on a shared network drive and dynamically generate a list of available print options. The user can scan barcodes to select products and choose which template to use while out and about in the store. The application can generate a signorder and place it in the hot folder, and the selected signs will be printed through a computer running Shoppa. The user can then collect a stack of printed signs from the printer and start putting them up.
An application running on the same workstation as the Shoppa client can generate a list of products to print based on whatever business logic is available to it. The application can place a file in the hot folder and the user can access the list in Shoppa and create the required signs.
This describes SignOrder schema version 1.1.
A signorder file can reference a number of products, which display groups that should be used to print them, and how many copies should be printed. Additionally you can specify values for the product fields (e.g. price, text1, etc.). Note that these values will not override existing product fields, but will only populate empty fields. The exception to this is the price field, which will override existing prices.
Other notes:
To specify values for code fields (Code1, EAN13, etc.) you need to use the <code>
element, rather than the <field>
element.
To get multiple products onto one template they need to be grouped in a products
element. Which display group to use should then be specified for the products
element, and not the individual product
elements. In this case the product
elements need to have the productIndex
attribute, in order to specify which product index to use in the template(s).
The usageDate
attribute can be used to get prices from future dates. If omitted, todays date will be used.
If the autoPrint
attribute is false, there is no need to specify display groups.
Display groups are managed through the Shoppa client. Each display group can reference multiple layouts and formats of multiple templates, and also a different number of copies for each. The most common use case is one copy of one format/layout/template.
The file DisplayGroups.xml is located in the sub folder Schemas in the hot folder. It is automatically generated by the Shoppa client, and contains information about the available display groups. It could look something like this:
Each group has a name, an Id and at least one member, groups without members are omitted from the file. Each member references a template, a layout, a format and a number of copies.