Data Sets
The connector allows you to setup "Data Sets". Each data set allows different kinds of data to be viewed, modified, merged, and stored in one neat file. Data sets are similar to spreadsheets in that it allow different kinds of data to be visually managed and manipulated, making it easier to create and update data used for connected Ecommerce platforms, such as SQUIZZ.com. Data Sets can be very powerful since they allow existing data coming from a business system to be augmented with data managed within a Data Set. This is particularly useful when a business system is missing key features required to sell or buy products on the web. Data Sets can also be used to merge data coming from multiple sources, such as from other suppliers or customers systems.
Prerequisites
Please make sure you have read through the Get Started/Overview before continuing down this document.
Also make sure you understand the concepts of:
- Connector Adaptors.
- Spreadsheets
Overview
Each Connector installation allows multiple data sets to be maintained and linked within it. Each data set is stored in a single self contained SQLite database file (version 3) that stores many different kinds of data, including product data, category data and other data that you may need. This data can then be exported to Ecommerce platforms such as SQUIZZ.com or TOTECS. Within the Connector application you can create new data set files, add existing data set files, as well as view the data stored within each data set. Data can be imported into a data set and merged from external business systems, or other data sources from multiple adaptors configured within a Connector. This can allow data repeatedly coming from multiple locations, such as separate supplier and customers systems to be merged into the one data set, and then have data further modified from there before being exported to an Ecommerce platform.
The Connector application allows you to view each data set in its own window, allowing you to visually see the different kinds of data stored in tables, similar to spreadsheets. It is from within these tables you can add new data records, update data within existing records, and remove records.
Supported Data Types
Each data set supports storing the following types of data:
Data Type | Data Table Name | Description |
---|---|---|
Products | product | Stores a set of product records. Each product can be a physical or non-physical item that can be sold in quantities. |
Categories | category | Stores a set of category records. Each category is a representation of a collection of objects, and can be linked in a hierarchical data structure, allowing users to easily navigate and find associated products. |
Category Trees | category_tree | Stores a set of category tree records. Each category tree is a representation of a collection of categories, that allow users navigate through a hierarchy of categories to find associated products. |
Category Products | category_product | Stores a set of mapping records, that assign product records to multiple category records. |
Sell Units | sell_unit | Stores a set of sell unit records. Each sell unit defines how a product, download, or labour is sold individually, or the quantities it comes bundled in, such as a box, pack, carton, pallet, or other unit. |
Product Sell Units | product_sell_unit | Stores a set of mapping records, that assign sell unit records to products, defining the different ways product quantities can be purchased as. |
Attribute Profiles | attribute_profile | Stores a set of attribute profile records. Each attribute profile represents a collection of attributes, which each define an aspect of a product or model. |
Attributes | attribute | Stores a set of attribute records. Each attribute defines one aspect or piece of information about a product or model. Attributes can be thought of adding an unlimited amount of fields to products, based on the unique kinds of data that an organisation defines for its products or models. |
Product Attribute Values | product_attribute_value | Stores a list of attribute values against product records. This allows values to be set against products for the defined attributes. Products may have many values assigned for each attribute, allowing collections of values to be set for a product. |
Combination Profiles | combination_profile | Stores a set of combination profile records. Each combination profile defines a template for the fields and values that can be set up within Product Combinations. |
Combination Profile Fields | combination_profile_field | Stores a set of combination profile field records. Each combination profile field defines the labelling of the field and the possible values that can be set for a single field within a combination profile, as well as associated product combinations. |
Combination Profile Field Values | combination_profile_field_value | Stores a set of combination profile field value records. Each combination profile field value defines a single value for a field within a combination profile, and its associated product combinations. |
Product Combination Parents | product_combination_parent | Stores a set of product combination parent records. Each product combination parent allows a product to be assigned to a single combination profile. This assigned product becomes the parent product that multiple other products can be assigned to as children of a combination. The parent product becomes a representation of a collection of child products. |
Product Combinations | product_combination | Stores a set of product combination records. Each product combination defines a child product that is assigned to a parent product, as well a single field value that has been set against a combination profile field for the combination. There may be multiple records for a child product being assigned to the same parent product, but have different values set for each of profile fields that are assigned to the combination profile, based on the profile assigned to the parent product. It is these combinations of profile field values set against child products that allow a product combination to be set up. |
Product Images | product_image | Stores a set of image records, with each record assigned to a product. Each image record specifies a single image file and details about that file. |
Product Attachments | product_attachment | Stores a set of attachment records, with each record assigned to a product. Each attachment record specifies a single file and details about that file. |
Item Relations | item_relation | Stores a set of item relation records, with each record linking one product to another product. This allows products to be related to a list of other products. |
Product Alternate Codes | product_alternate_code | Stores a set of alternate code records, within each record assigning a code to a single product. |
Product Kit Components | product_kit_component | Stores set of kit component records, with each record designating a product as being a component of another product that represents a kit (or bundle of products collated together). |
Product Stock Quantities | product | Stores and updates only stock quantites for products stored within the product records of a Dataset. |
Flags | flag | Stores a set of flag records. Each flag record specifies a type of indicator that can be placed against products for promotional, or informational uses. |
Product Flags | product_flag | Stores a set of mappings between products and flag record, Each record specifies a flag that is assigned to a product. |
Locations | location | Stores a set of location records. Each location record specifies a location that either exists geographically within the world, such as a store, warehouse, site, office etc... or otherwise it represents any non-geographical or non-physical location, such as a computer file system. |
Location Stock Quantities | location_stock_quantity | Stores a set of product stock quantity records, Each record specifies the amounts of product stock that may exist at each assigned location. |
Location Attribute Values | location_attribute_value | Stores a list of attribute values against locations records. This allows values to be set against locations for the defined attributes. Locations may have many values assigned for each attribute, allowing collections of values to be set, effectively allowing for unlimited custom location data fields to be set. |
Makers | maker | Stores a set of maker records. Each maker represents an entity that creates, manufactures, constructs, or develops phyisical or non-physical goods and services. |
Models | maker_model | Stores a set for maker model records. Each model represents a single constructed object created by a maker, such as a car, computer, or any other object. Each model may consist of many parts/products and have numerous atttributes that describe it. |
Model Product Category Mappings | maker_model_mapping | Stores a set of maker model mapping records. Each maker model mapping record represents a relationship between a model, product and category. Each mapping specifies a product that has been assigned to a maker model for a specified category. These mappings allow models to contain categories of parts/products assigned to them. For each mapping it can specify the quantity of products that is assigned to the model. This is particularly useful when a model contains parts/products that need to be continually replaced or changed, such as for vehicles, consumable electronics, among many others... |
Model Attrbute Values | maker_model_attribute_value | Stores a list of attribute values against maker model records. This allows values to be set against models for the defined attributes. Models may have many values assigned for each attribute, allowing collections of values to be set for a model, such as for storing specification data, measurements, visual aspects, or packaging information. |
Editing Data Set Record Data
Once a data set has been created or added/linked to the Connector then clicking on the View button next to the data set will open up a separate window, showing all the different kinds of data stored in the data set. Each type of data is displayed in its own tab as a table of records. You can then start creating records by entering data in the New Record row (the last row in a table), or updating existing records by setting a value in a row that already has an internal ID set. Note that columns in a data table that are greyed out cannot be modified or changed. Note that when editing a data set, as soon as a new value is placed within a cell of a table row, the value will be immediately saved to the database. Because of this there is no Save button displayed, nor is there is need to continually keep saving data since its already done for you.
Some kinds of data, such as Category Products and Product Sell Units tables will already load product records into the tables, even if there is no category or sell unit data assigned to them. This allows users to easily to add and link such data to the products.
If you select one or more table cells then press the Control + C key combination, it will copy the values to users clipboard. If you then select one table cell and presses the Control + V key combination it will paste values in the the previously selected cells from the position of selected cell. Additionally this same mode can allow data to be copied and pasted from other spreadsheet applications.
If the user selects one table cell then presses the Control + C key combination, then the user selects multiple table cells and presses the Control + V combination, the single copied cell value will be pasted in all of the selected table cells. This allows the same value to be pasted into many cells, avoiding the need type the same value multiple times.
Keyboard Short Cuts
Below are a number of keyboard short cuts that can be used when modifying table data within the data set window.
Key Combinations | Action | Description |
---|---|---|
Control + Right Mouse Click | Select Table Cells | Holding down the Control key then using the mouse you can right click on each table cell to select it. |
Control + C | Copy Table Cell Values | After one or more table cells is selected, then pressing the Control key at the same time as the C key will copy the selected cells to the operating system's clip board (memory). |
Control + V | Paste Table Cell Values | If one table cell has already been copied, then after selecting multiple table cells and pressing the Control key at the same time as the V key, the single copied value will pasted into all of the selected cells. If multiple table cells have been copied, then after selecting a a table cell and pressing the Control key at the same time as the V key, the values of the copied table rows and cells will be pasted from the position of the selected sell. |
Control + E | Open Cell Full Text Editor | If one table cell has been selected, then holding down the Control key and E key together will open a full cell text editor, that allows the cell value to be set within a bigger space. Note that this keyboard shortcut is currently only supported within the Description columns within the Products and Categories tables. |
Control + G | Go To Linked Records | Switches the user to another Data Set tab, displaying records associated with the original selected record |
Delete | Clears Table Cell Values | After one or more table cells is selected, then pressing the Delete key will clear the values in the selected table cells. Note that if a table row is selected and the delete key is pressed only the values of the record's will be cleared, the record's row will not be deleted. Using the Delete button to remove the table row. |
Insert | Adds A New Table Row | After one table cell is selected, then pressing the Insert key will cause a duplicate row to be added under the selected cell's row, that contains the same values. Note that this keyboard shortcut is currently only supported within the Product Attribute Values, Product Combinations, Images, Attachments, Item Relations, Alternate Codes, Kit Components and Product Flags tables. |
Record Columns/Fields Naming Conventions
Each of the columns named in each of the different data type tables is named the same way as the columns within the data set's SQL Lite database. This can help if the data needs to be queried or manipulated using the SQLite Query Browser, or through the Generic adaptor's SQLite Database data source type. The majority of the names of the record columns also match the field names of the records within the Ecommerce Standards Documents. These are documents that are used to export the data to compatible Ecommerce platforms or other business systems.
Importing/Merging Data Into A Data Set
Data can be imported into a Data Set from a data source configured within the adaptor. Going into the Connector application's Adaptors and Messages tab, then clicking on the Exports/Routines select the adaptor that you wish import data from into the data set. Within the Adaptor Export/Routine Schedule dialog, after choosing a Data Export, in the Ecommerce Systems drop down there is an option to select "Connector Data Set". A 3rd drop down will show allowing you to select the data set you wish to import the selected data into. Upon clicking on the Run Once Off button the adaptor will be called to get the data from its configured business system/data source, the Connector will then try to import the data into the Data Set if the data type is supported. When importing the data the Connector will update records in the selected data set that already exist with the same key record ID. If a record could not be found then a new record will be inserted into the data set. After all records have been imported then any existing records in the data set that have not be altered with have the isUpdated field set to N, and if the Data Transfer Mode was set to COMPLETE then the isActive field for each record will also be set to N. No records will be deleted from a dataset during this import process, ensuring data does not become lost. Instead use the IsActive and Isupdated fields to determine if data has become old and stale. When data is imported into a dataset, data will only be placed into new and existing records for the fields that have been activated in the adaptor's configured data export. This allows only selected fields to have data overwritten in a data set and not others, allowing new data to be merged together with other existing data.
Exporting Data From A Data Set
Data may be exported from a data set's database file to a nominated Ecommerce system by setting up a Generic adaptor, and configuring a SQLite Database data source type to retrieve data from the data set's database. This can then be used to pick and choose which data fields and records can be exported from the data set. Additionally this can allow advanced SQL functions to be utilised on the data being transferred out of the data set, such as concatenating data together, or placing data from other tables in and columns into the exported data.
Data Set Versioning
Each data set is version controlled, ensuring that if a new version of the Connector is released and contains new data set features, that these changes can be applied to existing data sets. Within the Connector application when a data set is attempted to be first viewed, the Connector will check if the data set's database is on the latest version, if not the Connector will ask if you wish to upgrade it to the latest version. Only data sets on the latest version supported by the Connector application can be opened. Additionally if you are importing data into a data set from an adaptor, you need to ensure that that the data set is at the latest version that the Connector Host Service supports, otherwise the Connector may raise errors advising of missing columns. It is possible to copy a data file from a Connector running on a later version, to a different Connector running an earlier version, but the Connector running the earlier version may not support the newer functionality and data stored in the data set.
Moving Data Sets Around
Dataset files can be copied and passed around to other Connector installations, making it a easy way to work on data from multiple Connector locations. Since each dataset is just a SQLite Database file containing the .db3 extension, you can copy these files to any file location you choose on the same computer, or to a different computer. Note that if you add an existing data set file to a Connector that the connector will store the location of the data set. If you wish to move the data set file its recommended to remove the data set from the Connector first (this does not delete the file), move the file, then add it back to the Connector again. It is recommended that data set files be copied across Connector's running on the same version wherever possible, since this will avoid any versioning issues.
Searching Records Within A Data Set
For each data type within a Data Set there is the ability to filter the records that display. This can make it easier to view or manage data across a small range of records. Additionally for specific data types there is the ability to also filter the columns that can display. This occur Product Attributes Values, Location Attributes, Maker Model Attributes, and others.
With any search filter, there are options to choose the record field to search on, the search operator that controls how a match is made, and the search text to match a record's field value on. The following search operators can be selected to match records on:
Search Operator | Description |
---|---|
Contains | Matches records that contain the search text within the value of the selected record field. The match is case insensitive. For example a record's field value is “The quick brown fox” and the search text is “quick”, then the record would be found. |
Doesn't Contain | Matches records that do not contain the search text within the value of the selected record field. The match is case insensitive. For example a record's field value is “The quick brown fox” and the search text is “jumped”, then the record would be found. |
Equals | Matches records that exactly match the search text within the value of the selected record field. The match is case insensitive. For example a record's field value is “The quick brown fox” and the search text is “The quick brown fox”, then the record would be found, if the search text was “quick” then no match would be made. |
Not Equal To | Matches records that does not match the exact search text within the value of the selected record field. The match is case insensitive. For example a record's field value is “The quick brown fox” and the search text is “The quick brown”, then the record would be found, if the search text was “The quick brown fox” then no match would be made. |
Starts With | Matches records that start with the search text within the value of the selected record field. The match is case insensitive. For example a record's field value is “The quick brown fox” and the search text is “The quick”, then the record would be found. |
Ends With | Matches records that start with the search text within the value of the selected record field. The match is case insensitive. For example a record's field value is “The quick brown fox” and the search text is “brown fox”, then the record would be found. |
Is Between | Matches records that have a value that is in between the range of 2 search values given, of the selected record field. The search text set must separate its 2 values using the && separator. For example a record's field value is “20” and the search text is “1 && 40”, then the record would be found. If the search text is “25 && 100” then the record would not be matched on. |
Is Not Between | Matches records that have a value that is not in between the range of 2 search values given, of the selected record field. The search text set must separate its 2 values using the && separator. For example a record's field value is “20” and the search text is “30 && 40”, then the record would be found. If the search text is “1 && 40” then the record would not be matched on. Ensure the pipe && characters have a space character before and after. |
Is In List | Matches records that have a value that exists within a list of search values given, of the selected record field. The search text must separate its list of values using the || separator. For example a record's field value is "apples” and the search text is “bananas || apples || pears || peaches”, then the record would be found. If the search text is “bananas || pears || peaches” then the record would not be matched on since apples is not within the second list. Ensure the pipe || characters have a space character before and after. |
Is Not In List | Matches records that don't have a value that exists within a list of search values given, of the selected record field. The search text must separate its list of values using the || separator. For example a record's field value is "apples” and the search text is “bananas || pears || peaches”, then the record would be found. If the search text is “bananas || pears || apples || peaches” then the record would not be matched on since apples is within the second list. Ensure the pipe || characters have a space character before and after. |
Create A New Data Set Within The Connector
To create a data set file and have it be added to the Connector, follow these steps:
- Open the Connector application.
- Click on the Data Sets tab.
- Click on the Create New Data Set button.
- Locate a folder location where you would like the data set's database file saved, set a file name for the data set.
The data set database will be created on the file system and will also be added to the Connector application and appear in the data set table.
Add An Existing Data Set To The Connector
To add a data set to the Connector, follow these steps:
- Place the data set database file on a folder accessible from the computer.
- Open the Connector application.
- Click on the Data Sets tab.
- Click on the Add Existing button.
- Locate the data set database file and select it.
The data set will be added to the Connector application and appear in the data set table.
Adding A Data Set To The Connector Stored On Another Computer
To add a new or existing Data Set to the Connector where the Data Set's database file is stored on a different computer/network drive to yours then for the Connector Host Service to be able to access it and either import data into a Data Set or export data from a Data Set using a Generic adaptor, the path to the Data Set added to the Connector needs to by based on Windows UNC path (https://support.microsoft.com/en-us/help/967030/what-is-unc-pathing)
When creating or adding an existing Data Set file to the Connector application, within the Connector's Data Sets tab, upon clicking on the Add Existing or Create New Data Set buttons, in the File Explorer window that pops up you need to specify the UNC path where the Data Set is stored. This means avoid clicking on any Mapped Network Drives that contain single drive letters such as E:. Instead either navigate to the computer where the Data Sets is stored through the Network options, or else type the full UNC path containing the computer name or IP address where the Data Set will be stored such as //myfileserver/c/example-data-folder or //192.168.0.1/c/example-data-folder/DataSet.db3
The same has to occur if a Generic adaptor is being set up to export data from the Data Set. Within the Generic Adaptor's "SQLite Database Data Source Settings" dialog the "SQLite Database File Path" also needs to be set to a UNC path just like above.
Running the Connector Host Service As A User With Access To Data Set File
Also note that if the correct UNC path has been set to the Data Set within the Connector, then the Connector's Host Service still may not be able to find the file if the networking environment set across the Windows machines does not allow access for the Connector's service to read the file. This will depend on what networking has been set up.
When the Connector's Host Service is first installed it will automatically be set to run with the Local System user. In some Windows networks this Local System user may not be granted access files from other Windows machines on the network. Either the Connector's Service would need to be configured to run as a different Windows user who has been granted access to the machine hosting the Data Sets file, or else the network access settings may need to be changed to allow the Local System user on one Windows machine to access other. This thread discusses in some detail how this can be achieved https://serverfault.com/questions/135867/how-to-grant-network-access-to-localsystem-account
If you have a more complex Windows computer network set up for your business it would be worth talking to your system administrator or IT support staff on how to make this possible, and if you are that person then you need to set up and configure the Connector Host Windows Service to run as a user who is granted access to obtain Data Set files across your internal network.
Remove A Data Set From The Connector
To remove a data set from the Connector, follow these steps below. Note that removing a data set from the Connector will not delete the data set file.
- Open the Connector application.
- In the Data Sets tab.
- Click on the Remove button of the data set you wish to remove.
The data set will be removed from the Connector and no longer appear in the data set lists shown within the Connector.
Update Data Set Version
To update the version of a data set already added to the Connector, follow these steps:
- Open the Connector application.
- In the Data Sets tab.
- Click on the View button of the data set you wish to update.
- The Connector will display a dialog asking you if you wish to update the data set. Click the Yes button.
- The Update window will display. Click on the Start Update button.
- Once the update successfully completes close the Update window.
The data set will be updated to the latest version supported by the Connector application. Note that once the data set has been updated it is not possible to revert to an earlier version.
Import Data Into A Dataset From An Adaptor Once Off
To import data into a data set from an adaptor in the connector on a once off basis, follow the following steps:
- Open the Connector application.
- In the Adaptors and Messages tab, in the Adaptors panel, in the Schedule column click the Exports/Routines button against the relevant adaptor.
- In the Adaptor Export/Routine Schedule window, in the Data Exports Tab select one of the data exports in the list.
- In the Ecommerce System drop down select Connector Data Set.
- In the Data Transfer Mode drop down set to Incremental if you don't want records in the data set to be marked as inactive if they were not updated. Set to Full if you want any records not matched to the data be imported to be marked as inactive.
- In the Data Set drop down select the data set that you wish to import the data into.
- Click the Run Once Off button. The Connector application will call the Connector Host Service to retrieve and export the chosen data from the adaptor's connected data source, then import it in the chosen Connector data set. Note that not all data exports/data types are supported in being imported into a data set.
- If the export ran successfully close the Adaptor Export/Routine Schedule window.
- If the Data Set window is already opened for the data set have data imported into it then click on its window.
- Click on the tab of the data that was being imported.
- Click on the Reload button.
- If the Data Set window was not opened for the data set then click on the Data Sets tab.
- Click on the View button of the data set that had data imported into it.
- Select the tab of the type of data being imported.
You will see the records that had data imported and updated based on the IsUpdated field being marked as Y, as well as the Last Modified Date field for records being changed to the date when the records were changed. Any records that were not matched during the import would have the IsUpdated field set to N.
Schedule Importing Data Into A Dataset From An Adaptor
To import data into a data set from an adaptor in the connector, follow the following steps:
- Open the Connector application.
- In the Adaptors and Messages tab, in the Adaptors panel, in the Schedule column click the Exports/Routines button against the relevant adaptor.
- In the Adaptor Export/Routine Schedule window, in the Data Exports Tab select one of the data exports in the list.
- Click the Add to Schedule button.
- In the Configure Scheduled Data Export/Routine panel configure the following settings:
- Enabled: tick to enable the data export.
- Frequency: enter a number then choose from DAY, HOUR, MINUTE, this sets how the data export gets rescheduled once it runs.
- Next Run Date Time: Set the date and time for when the data export will next run.
- Send Email Notification Report: Choose Yes to have an email notification sent out once the data export runs. Set it to Only When The Export/Routine Fails to only have an email notification sent out of the data export fails to complete successfully.
- Data Transfer Mode: Set to Incremental if you don't want records in the data set to be marked as inactive if they were not updated. Set to Full if you want any records not matched to the data be imported to be marked as inactive.
- Ecommerce System: Set to Connector Data Set.
- Data Set: Select the data set that you want the data imported into.
- Click the Add button. A new row with the settings will appear in the Scheduled Data Exports/Routines tab.
- Click the Reload Scheduler button. Pressing the button will tell the Connector Host to reload all the scheduled data exports and routines.
When the scheduled data export runs it will retrieve and export the chosen data from the adaptor's connected data source, then import it in the chosen Connector data set. Note that not all data exports/data types are supported in being imported into a data set.
Storing Product Records Within A Data Set
For each data set there is the ability to store an unlimited number of product records. Each product record stores information about a single product, where a product is a physical or non physical item that can be bought or sold. Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Products" that displays a table of product records stored in the data set.
Product Record Fields
Below is a list of fields that each can store one piece of data about a product record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the product data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetProductID* | INTEGER (32) | Unique, internal auto incrementing identifier of the the product record within the data set. |
keyProductID | TEXT | Key that allows the product record to be uniquely identified and linked to. |
productCode | TEXT | Code of the product. May or may not be a unqiue identifier. |
keyTaxcodeID | TEXT | Key of the Taxcode record that the product is assigned to. The taxcode may control the amount of tax applied to the product. |
productSearchCode | TEXT | Code that allows the product to searched on. This search code may or may not be unique, and would typically contain key words that allows the product to found. |
barcode | TEXT | Barcode set for the product. A barcode is typically displayed on a product and requires a reader to decipher an image that turns it into a sequence of characters. |
barcodeInner | TEXT | Inner barcode set for the product. Multiple barcodes be assigned to a product, and the inner barcode could denote one of these barcodes, or it could be a portion of a single barcode. |
brand | TEXT | Branding of the product. |
name | TEXT | Name of the product |
description1 | TEXT | First description of the product. May contain any text used to describe the product. |
description2 | TEXT | Second description of the product. May contain any text used to describe the product. |
description3 | TEXT | Third description of the product. May contain any text used to describe the product. |
description4 | TEXT | Fourth description of the product. May contain any text used to describe the product. |
productClass | TEXT | Class of the product. A class may contain any text that can be set for multiple products as a classifier of the type of product. |
UNSPSC | TEXT | United Nations Standard Products and Service Code. Stores a standard code defined by the United Nations classifying objects. |
keySellUnitID | TEXT | Key of the sell unit record that denotes the default unit that the product is sold in. |
unit | TEXT | Label of the default unit that the product is sold individually as. |
packQuantity | REAL (DECIMAL) | Quantity of units that allow the product to bought as a pack. This is deprecated in favour of using sell units. |
packUnit | TEXT | Label of the pack that the product may be bought as. This is deprecated in favour of using sell units. |
weight | REAL (DECIMAL) | Weight of a single product unit. |
width | REAL (DECIMAL) | Width dimension of a single product unit. |
height | REAL (DECIMAL) | Height dimension of a single product unit. |
depth | REAL (DECIMAL) | Depth dimension of a single product unit. |
averageCost | REAL (DECIMAL) | Monetary value that denotes the average cost to purchase a single product unit. |
warehouse | TEXT | Label of the warehouse location that the product is assigned to. |
supplier | TEXT | Label of the supplier that the product is purchased from. |
deliveryTimeNoStock | TEXT | Label of the amount of time that it would typically take for the product to be delivered when it is out of stock |
deliveryTimeInStock | TEXT | Label of the amount of time that it would typically take for the product to be delivered when it is in stock |
stockQuantity | REAL (DECIMAL) | The amount of product units that are in stock and available for purchase. |
stockNoneQuantity | REAL (DECIMAL) | The amount of product units that indicate when the product is no longer in stock. |
stockLowQuantity | REAL (DECIMAL) | The amount of product units that indicate when the product is low in stock. |
isPriceTaxInclusive | TEXT (Y,N) | Indicates that any pricing set for the product is inclusive of tax applied to the price, based the rate of taxcode assigned to the product. |
isKitted | TEXT (Y,N) | Indicates that product is a kit, and is representative of a number of individual products bundled together |
kitProductsSetPrice | TEXT (Y,N) | Indicates if the product is marked as a kit then when its pricing is calculated, that the price of the product should be calculated by combining the price of all the component products assignd to the kit. |
notes* | TEXT | Stores any additional information or notes obout the product record. |
isActive* | TEXT (Y,N) | Denotes if the product record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the product was updated based on the product data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the product record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the product record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Product Data Into A Data Set
Within the Connector application there is the ability to import product records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import product records into a data set. Listed below are steps that this Product import process will follow:
- Call adaptor's Products data export to retrieve product records from its configured data source.
- For all existing product records within the data set the isUpdated field to N. This denotes that the product records haven't been updated.
- Iterate through each product record retrieved from the adaptor, perform the following steps for each record:
- Check if the product record's keyProductID field has value set, if not skip importing the record into the data set.
- Check if a previous product record from the adaptor has already been read that contains the same keyProductID, if another imported record does then skip importing the record.
- Check if an existing product record already exists within the data set, if a matching record is not found then add a product record to the data set.
- Update each of product record's fields within the data set, based on the fields that were activated and made available within the adaptor's data export.
- Set the isActive and isUpdated product fields within the data set to Y (Yes), to denote that the product record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- Iterate through each of the sell unit assigned to the product.
- Check if a mapping between the sell unit and the product exists, if not create a new product-sell unit mapping in the data set.
- After all records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each product record within the data set that was matched on when iterating through the product records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing the products within the data set you will need to click on the Reload button to load all the new and updated product records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches products on the keyProductID field, it performs a case insensitive match. This means if the process was given product record from the adaptor with the keyProductID = "TEA-towel", it would be able to match an existing product record in the data set that had the keyProduct ID set to "tea-towel", "TEA-TOWEL" or "TeA-ToWeL".
Storing Sell Unit Records Within A Data Set
For each data set there is the ability to store an unlimited number of sell units, and product-sell unit records. Collectively together this allows products to be assigned to any number of defined sell units. Sell units themselves define the quantity of individual product units that can be purchased together, such as in packs, cartons, boxes, or containers.
Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Sell Units". Within it there are two inner tabs, one called "Sell Units" that displays a table of Sell Unit records stored in the data set, and the second tab called "Product Sell Units", that displays a table of products assigned to sell unit records. The Product Sell Units table allows products to be assigned to one or more sell units. When a sell unit is assigned to a product several properties of the sell unit can be overwritten individually for that product.
Sell Unit Record Fields
Below is a list of fields that each can store one piece of data about a sell unit record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the sell unit data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetSellUnitID* | INTEGER (32) | Unique, internal auto incrementing identifier of the sell unit record within the data set. |
keySellUnitID | TEXT | Key that allows the sell unit record to be uniquely identified and linked to. |
sellUnitCode | TEXT | Code of the sell unit. May or may not be a unqiue identifier. The code may be used in systems to find or use the sell unit. |
sellUnitLabel | TEXT | Label of the sell unit. It is recommended to set a label that gives meaning to the sell unit and the quantity of product units that it represents. For example based sell units would normally have the label "Each". |
isBaseUnit | TEXT (Y,N) | Either Y or N. If set to Y then denotes that the sell unit is the base sell unit that individual quantities of a product can be purchased in. |
baseQuantity | REAL (DECIMAL) | Set a quantity of individual product units that make up the sell unit. If the sell unit is a base sell unit then set this value to 1. |
parentQuantity | REAL (DECIMAL) | Set a quantity of product units that make up the sell unit's parent sell unit. |
isPricedOffBaseUnit | TEXT (Y,N) | Either Y or N. If Y then denotes that the sell unit should be priced based on calculating up all the prices of the base sell unit quantities together. |
keySellUnitParentID | TEXT | Unique identifier of the sell unit that is parent sell unit, that the sell unit is comprised of. If a product was bought in a sell unit of a pack, then this field may be set to the keySellUnitID of the base sell unit labelled "Each". |
notes* | TEXT | Stores any additional information or notes obout the sell unit record. |
isActive* | TEXT (Y,N) | Denotes if the sell unit record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the sell unit was updated, based on the sell unit data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the sell unit record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the sell unit record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Product Sell Unit Record Fields
Below is a list of fields that each can store one product sell unit mapping for a product record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the product sell unit data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetProductSellUnitID* | INTEGER (32) | Unique, internal auto incrementing identifier of the product sell unit record within the data set. |
keySellUnitID | TEXT | Key that allows the sell unit record to be uniquely identified and linked to the product with. |
keyProductID | TEXT | Key of the product record that the sell unit is linked to. |
sellUnitLabel | TEXT | Label of the sell unit. It is recommended to set a label that gives meaning to the sell unit and the quantity of product units that it represents. For example based sell units would normally have the label "Each". |
isBaseUnit | TEXT (Y,N) | Either Y or N. If set to Y then denotes that the sell unit is the base sell unit that individual quantities of a product can be purchased in. |
baseQuantity | REAL (DECIMAL) | Set a quantity of individual product units that make up the sell unit. If the sell unit is a base sell unit then set this value to 1. |
parentQuantity | REAL (DECIMAL) | Set a quantity of product units that make up the sell unit's parent sell unit. |
isPricedOffBaseUnit | TEXT (Y,N) | Either Y or N. If Y then denotes that the sell unit should be priced based on calculating up all the prices of the base sell unit quantities together. |
keySellUnitParentID | TEXT | Unique identifier of the sell unit that is parent sell unit, that the sell unit is comprised of. If a product was bought in a sell unit of a pack, then this field may be set to the keySellUnitID of the base sell unit labelled "Each". |
notes* | TEXT | Stores any additional information or notes obout the product sell unit record. |
isActive* | TEXT (Y,N) | Denotes if the product sell unit record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the product sell unit was updated, based on the product sell unit data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the product sell unit record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the product sell unit record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Sell Unit Data Into A Data Set
Within the Connector application there is the ability to import sell units and product sell unit records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import all these records together at the same time into a data set. Listed below are steps that this Product Sell Unit import process will follow:
- Call adaptor's Sell Units data export to retrieve sell unit records from its configured data source, as well as calling the Product Sell Units data export.
- For all existing sell unit records within the data set the isUpdated field to N. This denotes that the sell unit records haven't been updated.
- For all existing product sell unit records within the data set the isUpdated field to N. This denotes that the product sell unit records haven't been updated.
- Iterate through each sell unit record retrieved from the adaptor, perform the following steps for each record:
- Check if the sell unit record's keySellUnitID field has value set, if not skip importing the record into the data set.
- Check if a previous sell unit record from the adaptor has already been read that contains the same keySellUnitID, if another imported record does then skip importing the record.
- Check if an existing sell unit record already exists within the data set, if a matching record is not found then add a new sell unit record to the data set.
- Update each of sell unit record's fields within the data set, based on the fields that were activated and made available within the adaptor's data export.
- Set the isActive and isUpdated sell unit fields within the data set to Y (Yes), to denote that the sell unit record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- Interate through each Product Sell Unit record and perform the follwing steps:
- Check if the product sell unit record's keySellUnitID field has value set, if not skip importing the record into the data set.
- Check if the product sell unit record's keyProductID field has value set, if not skip importing the record into the data set.
- Check if a previous sell unit has been set for the product in the data set, based on matching the keySellUnitID and keyProductID. If a value was not found then create a new product sell unit record.
- Set the isActive and isUpdated product sell unit fields within the data set to Y (Yes), to denote that the product sell unit record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- After all product sell unit records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each sell unit and product sell unit record within the data set that was not matched on when iterating through the each of the records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing either the sell units or product sell unit mappings within the data set you will need to click on the Reload button to load all the new and updated records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches sell units, and product sell units on the keySellUnitID and keyProductID fields, it performs a case insensitive match. This means if the process was given record from the adaptor with the keySellID = "Each", it would be able to match an existing sell unit records in the data set that had the keySellUnitID set to "each", "EACH" or "EaCh".
Storing Category Records Within A Data Set
For each data set there is the ability to store an unlimited number of category records. Each category record stores information about a single category, where a category represents a collection of objects, and categories can be linked in a hierarchical data structure to allow users to find the associated objects. Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Categories". Within it there are two inner tabs, one called "Categories" that displays a table of category records stored in the data set, the other tab called "Category Products", that displays a table of products and the categories assigned to them.
Category Record Fields
Below is a list of fields that each can store one piece of data about a category record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the category data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetCategoryID* | INTEGER (32) | Unique, internal auto incrementing identifier of the category record within the data set. |
keyCategoryID | TEXT | Key that allows the category record to be uniquely identified and linked to. |
categoryCode | TEXT | Code of the category. May or may not be a unqiue identifier. |
keyCategoryTreeID | TEXT | ID of the category tree that a category is assigned to. Categories assigned to the same keyCategoryTreeID denote that the categories belong to the same category tree. |
keyCategoryParentID | TEXT | Key of the category record that it is assigned to in a hierarchical data structure. |
name | TEXT | Name of the category. |
description1 | TEXT | First description field of the category. It may contain any text used to describe the category. |
description2 | TEXT | Second description field of the category. It may contain any text used to describe the category. |
description3 | TEXT | Third description field of the category. It may contain any text used to describe the category. |
description4 | TEXT | Fourth description field of the category. It may contain any text used to describe the category. |
metaTitle | TEXT | Meta title of the category. This would typically be used in the meta data of a web page. |
metaKeywords | TEXT | A list of words that describe the category. This would typically be used in the meta data of a web page. |
metaDescription | TEXT | Meta description the category. This would typically be used in the meta data of a web page. |
ordering | INTEGER (32) | Number to order the category by. This may be used to order a number of categories in a hierarchical tree that are all assigned to the same parent category. |
notes* | TEXT | Stores any additional information or notes obout the category record. |
isActive* | TEXT (Y,N) | Denotes if the category record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the category was updated, based on the category data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the category record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the category record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Category Tree Record Fields
Below is a list of fields that each can store one piece of data about a category tree record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the category tree data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetCategoryTreeID* | INTEGER (32) | Unique, internal auto incrementing identifier of the category tree record within the data set. |
keyCategoryTreeID | TEXT | Key that allows the category tree record to be uniquely identified and linked to. |
categoryTreeCode | TEXT | Code of the category tree. May or may not be a unqiue identifier. |
name | TEXT | Name of the category tree. |
description | TEXT | Description field of the category tree. It may contain any text used to describe the category tree. |
metaTitle | TEXT | Meta title of the category tree. This would typically be used in the meta data of a web page. |
metaKeywords | TEXT | A list of words that describe the category tree. This would typically be used in the meta data of a web page. |
metaDescription | TEXT | Meta description the category tree. This would typically be used in the meta data of a web page. |
ordering | INTEGER (32) | Number to order the category tree by. This may be used to order a number of category trees when displayed within a list. |
notes* | TEXT | Stores any additional information or notes obout the category tree record. |
isActive* | TEXT (Y,N) | Denotes if the category tree record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the category tree was updated, based on the category data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the category tree record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the category tree record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Category Data Into A Data Set
Within the Connector application there is the ability to import category records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import product records into a data set. Listed below are steps that this Category import process will follow:
- Call adaptor's Categories data export to retrieve category records, category tree records, and category product records from its configured data source.
- For all existing category records within the data set the isUpdated field to N. This denotes that the category records haven't been updated.
- For all existing category tree records within the data set the isUpdated field to N. This denotes that the category tree records haven't been updated.
- Iterate through each category tree record retrieved from the adaptor, perform the following steps for each record:
- Check if the category tree record's keyCategoryTreeID field has value set, if not skip importing the record into the data set.
- Check if a previous category tree record from the adaptor has already been read that contains the same keyCategoryTreeID, if another imported record does then skip importing the record.
- Check if an existing category tree record already exists within the data set, if a matching record is not found then add a category tree record to the data set.
- Update each of category tree record's fields within the data set, based on the fields that were activated and made available within the adaptor's data export.
- Set the isActive and isUpdated category tree fields within the data set to Y (Yes), to denote that the category tree record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- Iterate through each category record retrieved from the adaptor, perform the following steps for each record:
- Check if the category record's keyCategoryID field has value set, if not skip importing the record into the data set.
- Check if a previous category record from the adaptor has already been read that contains the same keyCategoryID, if another imported record does then skip importing the record.
- Check if an existing category record already exists within the data set, if a matching record is not found then add a category record to the data set.
- Update each of category record's fields within the data set, based on the fields that were activated and made available within the adaptor's data export.
- Set the isActive and isUpdated category fields within the data set to Y (Yes), to denote that the category record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- Iterate through each of the product assigned to the category.
- Check if a mapping between the product and the category exists in the data set, if not create a new category product mapping in the data set.
- After all records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each category tree record, category record and category product record within the data set that was matched on when iterating through the category tree and category records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing the categories within the data set you will need to click on the Reload button to load all the new and updated category records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches categories on the keyCategoryID field or keyCatgoryTreeID field, it performs a case insensitive match. This means if the process was given category record from the adaptor with the keyCategoryID = "KITCHEN-ware", it would be able to match an existing category record in the data set that had the keyCategoryID set to "kitchen-ware", "KITCHEN-WARE" or "KiTcHeN-WaRe".
Storing Attribute Records Within A Data Set
For each data set there is the ability to store an unlimited number of attribute profile, attributes, and product attribute value records. Collectively together these different kinds of data allow additional fields about products to be defined, and values set against. Attributes can be thought of as the field definitions, Attribute Profiles are used to group attributes into collections, and product attribute values define the values that are set for each attribute for each product.
Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Attributes". Within it there are three inner tabs, one called "Attribute Profiles" that displays a table of Attribute Profile records stored in the data set, the second tab called "Attributes", that displays a table of attribute records. The third table stores a list attribute values assigned to products. Attributes can be linked to attribute profiles by having a matching value stored in the keyAttributeProfileID column. When the Product Attribute Values tab is clicked on it will display the products in each row based on the products that have been imported into the data set. For each attribute a column will be displayed, allowing you to enter a value for the attribute for given product. It is possible to assign multiple attribute values to single product. This can be done by selecting any cell in the product row, then clicking on the Insert key. This will add an additional row for the same product allowing you to set a second value in the attribute column for the product.
Attribute Profile Record Fields
Below is a list of fields that each can store one piece of data about an attribute profile record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the attribute profile data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetAttributeProfileID* | INTEGER (32) | Unique, internal auto incrementing identifier of the attribute profile record within the data set. |
keyAttributeProfileID | TEXT | Key that allows the attribute profile record to be uniquely identified and linked to. |
name | TEXT | Name of the attribute profile. It is recommended to set a label that gives meaning to the collection of attributes assigned to the attribute profile. |
description | TEXT | Description field of the attribute profile. It may contain any text used to describe the attribute profile, and kind of attributes that are linked to it. |
notes* | TEXT | Stores any additional information or notes obout the attribute profile record. |
isActive* | TEXT (Y,N) | Denotes if the attribute profile record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the attribute profile was updated, based on the attribute profile data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the attribute profile record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the attribute profile record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Attribute Record Fields
Below is a list of fields that each can store one piece of data about an attribute record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the attribute data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetAttributeID* | INTEGER (32) | Unique, internal auto incrementing identifier of the attribute record within the data set. |
keyAttributeID | TEXT | Key that allows the attribute record to be uniquely identified and linked to. |
keyAttributeProfileID | TEXT | Key of the attribute profile record that the attribute is linked to. |
name | TEXT | Name of the attribute. It is recommended to set a label that gives meaning to the type of values that can be stored against the attribute. |
dataType | ENUM(STRING,NUMBER) | Defines the type of data that the attribute's values will be stored as. If set to NUMBER then only whole numbers and decimal numbers can be set for the attribute's values. If set to STRING then any characters can be set in the attribute's values. |
notes* | TEXT | Stores any additional information or notes obout the attribute record. |
isActive* | TEXT (Y,N) | Denotes if the attribute record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the attribute was updated, based on the attribute data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the attribute record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the attribute record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Product Attribute Value Record Fields
Below is a list of fields that each can store one attribute value for a product record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the attribute value data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetProductAttributeValueID* | INTEGER (32) | Unique, internal auto incrementing identifier of the attribute value record within the data set. |
keyAttributeID | TEXT | Key of the attribute record that the attribute value is linked to. |
keyAttributeProfileID | TEXT | Key of the attribute profile record that the attribute value is linked to. Ensure that the attribute record is assigned to the same attribute profile record assigned to this attribute value record. |
keyProductID | TEXT | Key of the product record that the attribute value is linked to. |
stringValue | TEXT | Value set for the attribute and product if the linked attribute has its dataType set to STIRNG. This allows any characters to be set within this value field. |
numberValue | TEXT | Value set for the attribute and product if the linked attribute has its dataType set to NUMBER. Only number characters and decimals may be permitted to be stored in this field. |
notes* | TEXT | Stores any additional information or notes obout the attribute value record. |
isActive* | TEXT (Y,N) | Denotes if the attribute value record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the attribute value was updated, based on the attribute value data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the attribute value record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the attribute value record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Attribute Data Into A Data Set
Within the Connector application there is the ability to import attribute profiles, attributes, and product attribute value records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import all these records together at the same time into a data set. Listed below are steps that this Product Attribute import process will follow:
- Call adaptor's Attribute Profile data export to retrieve attribute profile records from its configured data source, as well as calling the Attribute data export, and Product Attribute Values data exports.
- For all existing attribute profile records within the data set the isUpdated field to N. This denotes that the attribute profile records haven't been updated.
- For all existing attribute records within the data set the isUpdated field to N. This denotes that the attribute records haven't been updated.
- For all existing product attribute value records within the data set the isUpdated field to N. This denotes that the product attribute value records haven't been updated.
- Iterate through each attribute profile record retrieved from the adaptor, perform the following steps for each record:
- Check if the attribute profile record's keyAttributeProfileID field has value set, if not skip importing the record into the data set.
- Check if a previous attribute profile record from the adaptor has already been read that contains the same keyAttributeProfileID, if another imported record does then skip importing the record.
- Check if an existing attribute profile record already exists within the data set, if a matching record is not found then add a new attribute profile record to the data set.
- Update each of attribute profile record's fields within the data set, based on the fields that were activated and made available within the adaptor's data export.
- Set the isActive and isUpdated attribute profile fields within the data set to Y (Yes), to denote that the attribute profile record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- Iterate through each of the attributes assigned to the attribute profile.
- Check if the attribute record's keyAttributeID field has value set, if not skip importing the record into the data set.
- Check if a previous attribute record from the adaptor has already been read that contains the same keyAttributeID, if another imported record does then skip importing the record.
- Check if an existing attribute record already exists within the data set, if a matching record is not found then add a new attribute record to the data set.
- Update each of attribute record's fields within the data set, based on the fields that were activated and made available within the adaptor's data export.
- Set the isActive and isUpdated attribute fields within the data set to Y (Yes), to denote that the attribute record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- Interate through each Product Attribute Value record and perform the follwing steps:
- Check if the attribute value record's keyAttributeProfileID field has value set, if not skip importing the record into the data set.
- Check if the attribute value record's keyAttributeID field has value set, if not skip importing the record into the data set.
- Check if the attribute value record's keyProductID field has value set, if not skip importing the record into the data set.
- Check if a previous attribute value has been set for the product in the data set, based on matching the keyAttributeProfileID, keyAttributeID, and keyProductID and value. If a value was not found then create a new product attribute value record.
- Set the isActive and isUpdated attribute fields within the data set to Y (Yes), to denote that the product attribute value record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- After all product attribute value records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each attribute profile, attribute and product attribute value record within the data set that was not matched on when iterating through the each of the records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing either the attribute profiles, atttributes, or attribute values within the data set you will need to click on the Reload button to load all the new and updated records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches attribute profiles, attributes, and product attribute values on the keyAttributeProfileID, keyAttributeID and keyProductID field, it performs a case insensitive match. This means if the process was given record from the adaptor with the keyAttributeID = "KITCHEN-ware", it would be able to match an existing attribute records in the data set that had the keyAttributeID set to "kitchen-ware", "KITCHEN-WARE" or "KiTcHeN-WaRe".
Storing Product Combination Records Within A Data Set
For each data set there is the ability to store an unlimited number of combination profile, combination profile fields, combination profile field values, product combination parents, and product combination records. Collectively together these different kinds of data allow products to be collated together, allowing one product (called a parent product) to represent a collection of other products (called child products). The child products can be found by choosing from a combination of field options based on the field values that have been set against child product.
To take an example, if a business was selling clothing, they could create a parent product that represents one type of t-shirt, then assign multiple child products to this parent t-shirt based on each child product being a certain size and colour. When customers view the details of the parent t-shirt product, they could choose from field options to select the size and colour they want, which would allow them to find a child product based on the combination of options they selected from. In order to achieve this a combination profile is set up to define the fields and field values that child products can be assigned against. Once done the parent combination products can be assigned to a proifle, and this determines the fields and field values that child products can be assigned for a single parent product. Many parent products can be assigned to the same combination profile, and this can be done to reduce the amount of time that would otherwise be required to define each of the fields and values for each parent product. In clothing this is a great example where the same combination profile can be used, since the same sizes will need to be set up across a range of styles of products.
Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Combinations". Within it there are five inner tabs, the first is Combination Profiles that
displays a table of Combination Profile records stored in the data set. The second tab is Combination Profile Fields and it displays a table of Combination Profile Field records. The third tab is Combination Profile Field Values and it displays a table of Combination Profile Field Value records. The fourth tab is Product Combination Parents and it displays a table of Product Combination Parent records. The fifth tab is Product Combinations and it displays a table of Product Combination records.
Combination Profile Record Fields
Below is a list of fields that each can store one piece of data about a "combination profile" record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the combination profile data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetCombinationProfileID* | INTEGER (32) | Unique, internal auto incrementing identifier of the combination profile record within the data set. |
keyComboProfileID | TEXT | Key that allows the combination profile record to be uniquely identified and linked to. Each combination profile should have a unique value set in this field. |
profileName | TEXT | Name of the combination profile. It is recommended to set a label that gives meaning to the collection of fields assigned to the combination profile. |
description | TEXT | Description field of the combination profile. It may contain any text used to describe the combination profile, and kind of fields or products it represents. |
notes* | TEXT | Stores any additional information or notes obout the combination profile record. |
isActive* | TEXT (Y,N) | Denotes if the combination profile record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the combination profile was updated, based on the combination profile data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the combination profile record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the combination profile record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Combination Profile Field Record Fields
Below is a list of fields that each can store one piece of data about a "combination profile field" record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the combination profile field data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetCombinationProfileFieldID* | INTEGER (32) | Unique, internal auto incrementing identifier of the combination profile field record within the data set. |
keyComboProfileFieldID | TEXT | Key that allows the combination profile field record to be uniquely identified and linked to. Ensure that every combination profile field has a unique value set within this field. |
keyComboProfileID | TEXT | Key of the combination profile record that the profile field is linked to. |
fieldName | TEXT | Name of the combination profile field. It is recommended to set a label that gives meaning to the type of field that values will be set against. |
ordering | INTEGER | Sets the order that combination profile fields should be sorted by when displayed. |
notes* | TEXT | Stores any additional information or notes obout the combination profile field record. |
isActive* | TEXT (Y,N) | Denotes if the combination profile field record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the combination profile field was updated, based on the field data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the combination profile field record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the combination profile field record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Combination Profile Field Value Record Fields
Below is a list of fields that each can store one piece of data about a "combination profile field value" record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the combination profile field value data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetCombinationProfileFieldValueID* | INTEGER (32) | Unique, internal auto incrementing identifier of the combination profile field value record within the data set. |
keyComboProfileFieldValueID | TEXT | Key that allows the combination profile field value record to be uniquely identified and linked to. Ensure that every combination profile field value has a unique value set within this field. |
keyComboProfileFieldID | TEXT | Key of the combination profile field record that the field value is assigned to. |
fieldValue | TEXT | Text value set for the combination profile field value record. Set text that people can understand and allows them to understand what the kind of product that may be linked to it. |
ordering* | INTEGER | Sets the order that combination profile field values should be sorted by when displayed and exported. |
notes* | TEXT | Stores any additional information or notes obout the combination profile field value record. |
isActive* | TEXT (Y,N) | Denotes if the combination profile field value record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the combination profile field value was updated, based on the field data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the combination profile field value record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the combination profile field value record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Product Combination Parents Record Fields
Below is a list of fields that each can store one piece of data about a "product combination parent" record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the product combination parents data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetProductCombinationParentID* | INTEGER (32) | Unique, internal auto incrementing identifier of the product combination parent record within the data set. |
keyComboProfileID | TEXT | Key of the combination profile record that the parent product is assigned to. |
keyProductID | TEXT | Key of the product record that defines the parent product that the combination profile is being assigned to. |
notes* | TEXT | Stores any additional information or notes obout the product combination parent record. |
isActive* | TEXT (Y,N) | Denotes if the product combination parent record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the product combination parent was updated, based on the field data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the product combination parent record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the product combination parent record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Product Combinations Record Fields
Below is a list of fields that each can store one piece of data about a "product combination" record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the product combination data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetProductCombinationID* | INTEGER (32) | Unique, internal auto incrementing identifier of the product combination record within the data set. |
keyComboProfileFieldID | TEXT | Key of the combination profile field record that denotes a single field that has a value set for the child product. |
keyFieldValueID | TEXT | Key of the combination profile field value record that denotes the value that has set against the field for the child product. |
keyParentProductID | TEXT | Key of the product record that denotes the parent product that the child product has been assigned to for the given combination profile field value. |
keyProductID | TEXT | Key of the product record that denotes the child product that the product combination has been set up for. |
isDefault | TEXT (Y,N) | Denotes if the child product is the default product assigned against the parent product in the combination. This may be used to automatically load a set of field values when a parent product displays in field options. |
notes* | TEXT | Stores any additional information or notes obout the product combination record. |
isActive* | TEXT (Y,N) | Denotes if the product combination record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the product combination was updated, based on the field data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the product combination record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the product combination record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Product Combination Data Into A Data Set
Within the Connector application there is the ability to import combination profiles, combination profile fields, combination profile field values, product combination parents, and product combination records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import all these records together at the same time into a data set. Listed below are steps that this Product Combination import process will follow:
- Call adaptor's Combination Profile data export to retrieve combination profile records from its configured data source, as well as calling the Combination Profile Fields data export, Combination Profile Field Values, Combination Product Parents, and Combination Products data exports. Data from each of the data exports is collated together into a Product Combination Ecommerce Standards Document.
- For all existing combination profile records within the data set the isUpdated field to N. This denotes that the combination profile records haven't been updated.
- For all existing combination profile field records within the data set the isUpdated field to N. This denotes that the profile field records haven't been updated.
- For all existing combination profile field value records within the data set the isUpdated field to N. This denotes that the profile field value records haven't been updated.
- For all existing product combination parent records within the data set the isUpdated field to N. This denotes that the product combination parent records haven't been updated.
- For all existing product combination records within the data set the isUpdated field to N. This denotes that the product combination records haven't been updated.
- Iterate through each combination profile record retrieved from the adaptor, perform the following steps for each record:
- Check if the combination profile record's keyComboProfileID field has value set, if not skip importing the record into the data set.
- Check if a previous combination profile record from the adaptor has already been read that contains the same keyComboProfileID, if another imported record does then skip importing the record.
- Check if an existing combination profile record already exists within the data set, if a matching record is not found then add a new combination profile record to the data set.
- Update each of combination profile record's fields within the data set, based on the fields data set within the adaptor's data export.
- Set the isActive and isUpdated attribute profile fields within the data set to Y (Yes), to denote that the combination profile record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- Iterate through each of the Combination Profile Field assigned to the combination profile.
- Check if the combination profile field's record's keyComboProfileFieldID field has value set, if not skip importing the record into the data set.
- Check if a previous combination profile field record from the adaptor has already been read that contains the same keyComboProfileFieldID, if another imported record does then skip importing the record.
- Check if an existing combination profile field record already exists within the data set, if a matching record is not found then add a new combination profile field record to the data set.
- Update each of combination profile field record's fields within the data set, based on the fields that were set within the adaptor's data export.
- Set the isActive and isUpdated combination profile field fields within the data set to Y (Yes), to denote that the combination field record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- Iterate through each of the Combination Profile Field Values assigned to the combination profile field.
- Check if the combination profile field value's record's keyComboProfileFieldValueID field has value set, if not skip importing the record into the data set.
- Check if a previous combination profile field value record from the adaptor has already been read that contains the same keyComboProfileFieldValueID, if another imported record does then skip importing the record.
- Check if an existing combination profile field value record already exists within the data set, if a matching record is not found then add a new combination profile field value record to the data set.
- Update each of combination profile field value record's fields within the data set, based on the fields that were set within the adaptor's data export.
- Set the isActive and isUpdated combination profile field value fields within the data set to Y (Yes), to denote that the combination field value record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- Iterate through each Product Combination Parent records and perform the follwing steps:
- Check if the product combination parent record's keyComboProfileID field has value set, and is linked to a combination profile within the importing document or a combination profile already existing within the data set, if not skip importing the record into the data set.
- Check if the product combination parent record's keyProductID field has value set, and is linked to a product already existing within the data set, if not skip importing the record into the data set.
- Check if a previous product combination parent record has already been imported into the data set. If so then skip importing the record.
- Check if a previous product combination parent record has been set for the product in the data set, based on matching the keyComboProfileID and keyProductID. If a product combination parent record was not found then create a new product combination parent record.
- Set the isActive and isUpdated product combination parent fields within the data set to Y (Yes), to denote that the product combination parent record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- Iterate through each product combination record assigned to the product combination record and perform the following:
- Check if the product combination keyComboProfileFieldID is not empty, if empty skip importing the product combination record.
- Check if the product combination keyComboProfileFieldValueID is not empty, if empty skip importing the product combination record.
- Check if the product combination record's keyComboProfileFieldID is linked to a combination profile field within the importing document or a combination profile field already existing within the data set, if not skip importing the record into the data set.
- Check if the product combination record's keyComboProfileFieldID is linked to a combination profile field value within the importing document or a combination profile field value already existing within the data set, if not skip importing the record into the data set.
- Check if the product combination record has already been imported/updated within the data set for the import, if so skip importing the record into the data set.
- Check if the product combination record exists already within the data set, if not found then create a new product combination record.
- Set the isActive and isUpdated product combination fields within the data set to Y (Yes), to denote that the product combination record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- After all product combination parent records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each of the combination profile, combination profile field, combination profile field value, product combination parent, and product combination records within the data set that was not matched on when iterating through the each of the records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing either the combination tabs within the data set you will need to click on the Find/Reload button to load all the new and updated records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches combination profiles, combination profile fields, combination profile field values, product combination parents, and product combination records on the key fields, it performs a case insensitive match. This means if the process was given record from the adaptor with the keyComboProfileID = "COLOUR-size", it would be able to match an existing combination profile records in the data set that had the keyComboProfileID set to "colour-size", "COLOUR-SIZE" or "CoLouR-SiZe".
Storing Product Image Records Within A Data Set
For each data set there is the ability to store an unlimited number of product image records. Each product image record stores information about a single image assigned to a product. Each image defines a location where the image file can be found, as well as other details about the image. Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Images" that displays a table of product image records stored in the data set.
Product Image Record Fields
Below is a list of fields that each can store one piece of data about a product image record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the product image data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetProductImageID* | INTEGER (32) | Unique, internal auto incrementing identifier of the the product image record within the data set. |
keyProductID | TEXT | Key that allows the product record to be uniquely identified and linked to. |
keyImageID | TEXT | Key that allows the image record to be uniquely identified and linked to. |
imageFullFilePath | TEXT | File path to locate the image file on the file system. This file path needs to start with a drive letter or UNC (universal naming convention). Then the directories that lead to where the file image is located. The path also needs to include the name of the file and its file extension. These altogether make up the full file path. Avoid using mapped network drives within file paths, since the Connector's Host Windows Service typically cannot find image files to upload when mapped network drives are set up for specific Windows users. Instead UNC paths. |
title | TEXT | Title set for the image. The title indicates what the image file shows or represents. |
description | TEXT | Description set for the image. It describes in more details what the image file represents of other details about the image, |
ordering | INTEGER (32) | Set a number that specifies how the image should be ordered when displayed in a list with of other images for the same product. |
notes* | TEXT | Stores any additional information or notes obout the product image record. |
isActive* | TEXT (Y,N) | Denotes if the product image record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the product image was updated based on the image data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the product record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the product record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Product Image Data Into A Data Set
Within the Connector application there is the ability to import product image records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import product image records into a data set. Listed below are steps that this Product Image import process will follow:
- Call adaptor's Product Images data export to retrieve image records from its configured data source.
- For all existing product image records within the data set the isUpdated field to N. This denotes that the image records haven't been updated.
- Iterate through each image record retrieved from the adaptor, perform the following steps for each record:
- Check if the image record's keyImageID field has value set, if not skip importing the record into the data set.
- Check if a previous image record from the adaptor has already been read that contains the same keyImageID, if another imported record does then skip importing the record.
- Check if an existing image record already exists within the data set, if a matching record is not found then add a product image record to the data set.
- Update each of product image record's fields within the data set, based on the fields that were activated and made available within the adaptor's data export.
- Set the isActive and isUpdated product image fields within the data set to Y (Yes), to denote that the image record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- After all records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each image record within the data set that was matched on when iterating through the image records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing the images within the data set you will need to click on the Reload button to load all the new and updated image records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches products on the keyProductID field, it performs a case insensitive match. This means if the process was given product record from the adaptor with the keyProductID = "TEA-towel", it would be able to match an existing product record in the data set that had the keyProduct ID set to "tea-towel", "TEA-TOWEL" or "TeA-ToWeL".
Storing Product Attachment Records Within A Data Set
For each data set there is the ability to store an unlimited number of product attachment records. Each product attachment record stores information about a single attachment assigned to a product. Each attachment defines a location where the attachment file can be found, as well as other details about the attachment. Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Attachments" that displays a table of product attachment records stored in the data set.
Product Attachment Record Fields
Below is a list of fields that each can store one piece of data about a product attachment record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the product attachment data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetProductAttachmentID* | INTEGER (32) | Unique, internal auto incrementing identifier of the the product attachment record within the data set. |
keyProductID | TEXT | Key that allows the product record to be uniquely identified and linked to. |
keyAttachmentID | TEXT | Key that allows the attachment record to be uniquely identified and linked to. |
fullFilePath | TEXT |
File path to locate the attachment file on the file system. This file path needs to start with a drive letter or UNC (universal naming convention). Then the directories that lead to where the file attachment is located. The path also needs to include the name of the file and its file extension. These altogether make up the full file path. Avoid using mapped network drives within file paths, since the Connector's Host Windows Service typically cannot find image files to upload when mapped network drives are set up for specific Windows users. Instead UNC paths. |
title | TEXT | Title set for the attachment. The title indicates what the attachment file shows or represents. |
notes* | TEXT | Stores any additional information or notes obout the product attachment record. |
isActive* | TEXT (Y,N) | Denotes if the product attachment record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the product attachment was updated based on the attachment data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the product record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the product record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Product Attachment Data Into A Data Set
Within the Connector application there is the ability to import product attachment records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import product attachment records into a data set. Listed below are steps that this Product attachment import process will follow:
- Call adaptor's Product Attachments data export to retrieve attachment records from its configured data source.
- For all existing product attachment records within the data set the isUpdated field to N. This denotes that the attachment records haven't been updated.
- Iterate through each attachment record retrieved from the adaptor, perform the following steps for each record:
- Check if the attachment record's keyattachmentID field has value set, if not skip importing the record into the data set.
- Check if a previous attachment record from the adaptor has already been read that contains the same keyattachmentID, if another imported record does then skip importing the record.
- Check if an existing attachment record already exists within the data set, if a matching record is not found then add a product attachment record to the data set.
- Update each of product attachment record's fields within the data set, based on the fields that were activated and made available within the adaptor's data export.
- Set the isActive and isUpdated product attachment fields within the data set to Y (Yes), to denote that the attachment record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- After all records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each attachment record within the data set that was matched on when iterating through the attachment records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing the attachments within the data set you will need to click on the Reload button to load all the new and updated attachment records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches products on the keyProductID field, it performs a case insensitive match. This means if the process was given product record from the adaptor with the keyProductID = "TEA-towel", it would be able to match an existing product record in the data set that had the keyProduct ID set to "tea-towel", "TEA-TOWEL" or "TeA-ToWeL".
Storing Item Relation Records Within A Data Set
For each data set there is the ability to store an unlimited number of item relation records. Each item relation record allows one product to be linked to/related to another product. Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Item Relations" that displays a table of item relation records stored in the data set.
Item Relation Record Fields
Below is a list of fields that each can store one piece of data about a item relation record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the item relation data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetItemRelationID* | INTEGER (32) | Unique, internal auto incrementing identifier of the item relation record within the data set. |
keyProductID | TEXT | Unique identifier of the product that another product will be linked to. |
keyRelatedProductID | TEXT | Unique identifier of the product that is linked/related to the other product. |
notes* | TEXT | Stores any additional information or notes obout the item relation record. |
isActive* | TEXT (Y,N) | Denotes if the item relation record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the item relation was updated based on the item relation data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the item relation record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the item relation record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Item Relation Data Into A Data Set
Within the Connector application there is the ability to import item relation records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import item relation records into a data set. Listed below are steps that this Item Relation import process will follow:
- Call adaptor's Item Relations data export to retrieve item relation records from its configured data source.
- For all existing item relations records within the data set the isUpdated field to N. This denotes that the item relation records haven't been updated.
- Iterate through each item relation record retrieved from the adaptor, perform the following steps for each record:
- Check if the item relation record's keyProductID field has value set, if not skip importing the record into the data set.
- Check if the item relation record's keyRelatedProductID field has value set, if not skip importing the record into the data set.
- Check if a previous item relation record from the adaptor has already been read that contains the same keyProductID and keyRelatedProductID, if another imported record does then skip importing the record.
- Check if an existing item relation record already exists within the data set, if a matching record is not found then add a item relation record to the data set.
- Set the isActive and isUpdated item relation fields within the data set to Y (Yes), to denote that the item relation record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- After all records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each item relation record within the data set that was matched on when iterating through the item relation records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing the item relations within the data set you will need to click on the Reload button to load all the new and updated item relation records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches products on the keyProductID field and keyRelatedProductID, it performs a case insensitive match. This means if the process was given product record from the adaptor with the keyProductID = "TEA-towel", it would be able to match an existing product record in the data set that had the keyProduct ID set to "tea-towel", "TEA-TOWEL" or "TeA-ToWeL".
Storing Product Alternate Code Records Within A Data Set
For each data set there is the ability to store an unlimited number of product alternate code records. Each product alternate code record allows one code to be assigned to a product. This alternative code could be the code of the same product that a supplier, customer, manufacturer, or industry body uses for the product. Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Alternate Codes" that displays a table of product alternate code records stored in the data set.
Product Alternate Code Record Fields
Below is a list of fields that each can store one piece of data about a alternate code record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the alternate code data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetProductAlternateCodeID* | INTEGER (32) | Unique, internal auto incrementing identifier of the product alternate code record within the data set. |
keyProductID | TEXT | Unique identifier of the product that the alternate code is assigned to. |
alternateCode | TEXT | Alternate code assigned to the product. This code may be related to the product of a supplier, customer, manufacturer. industry standard, or be a code of another associated product. |
isUseCode | TEXT (Y,N) | If Y (Yes) then denotes that the alterate code assigned to the product references another product's code, and that other product should be used instead to view or purchase the product. |
isSupplierCode | TEXT (Y,N) | If Y (Yes) then the alternate code assigned to the product is associated with a supplier's product. The supplier can be denoted by setting a value in the keySupplierAccountID field. |
keySupplierAccountID | TEXT | Unique identifier of the supplier account that the alternate code is associated to. The keySupplierAccountID should be based on the supplier or creditor record set within the accounting, Enterprise Resource Planning, or other business system that stores a list of suppliers that a business trades with. |
keyCustomerAccountID | TEXT | Unique identifier of the customer account that the alternate code is associated to. The keyCustomerAccountID should be based on the customer or debtor record set within the accounting, Enterprise Resource Planning, or other business system that stores a list of customers that a business trades with. |
notes* | TEXT | Stores any additional information or notes obout the product alternate code record. |
isActive* | TEXT (Y,N) | Denotes if the product alternate code record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the product alternate code was updated based on the alternate code data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the product alternate code record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the product alternate code record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Product Alternate Code Data Into A Data Set
Within the Connector application there is the ability to import product alternate code records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import product alternate code records into a data set. Listed below are steps that this Product Alternate Code import process will follow:
- Call adaptor's Product Alternate Code data export to retrieve alternate code records from its configured data source.
- For all existing alternate code records within the data set the isUpdated field to N. This denotes that the alternate code records haven't been updated.
- Iterate through each alternate code record retrieved from the adaptor, perform the following steps for each record:
- Check if the alternate code record's keyProductID field has value set, if not skip importing the record into the data set.
- Check if the alternate code record's alternate code field has value set, if not skip importing the record into the data set.
- Check if a previous alternate code record from the adaptor has already been read that contains the same keyProductID and alternate code, if another imported record does then skip importing the record.
- Check if an existing alternate code record already exists within the data set, if a matching record is not found then add a alternate code record to the data set.
- Set the isActive and isUpdated alternate code fields within the data set to Y (Yes), to denote that the alternate code record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- After all records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each alternate code record within the data set that was matched on when iterating through the alternate code records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing the alternate codes within the data set you will need to click on the Reload button to load all the new and updated alternate code records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches products on the keyProductID field and alternateCode, it performs a case insensitive match. This means if the process was given alternate code record from the adaptor with the keyProductID = "TEA-towel", it would be able to match an existing alternate code record in the data set that had the keyProduct ID set to "tea-towel", "TEA-TOWEL" or "TeA-ToWeL".
Storing Product Kit Component Records Within A Data Set
For each data set there is the ability to store an unlimited number of product kit component records. Each product kit component record allows one product to be defined as a component product and assigned to a parent kit product. Together this allows many component products to be assigned to one representational kitted product to make a kit. Kits allow many products to be collectively bundled together and purchased by customers as a single product. Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Kit Components" that displays a table of kit component records stored in the data set.
Product Kit Component Record Fields
Below is a list of fields that each can store one piece of data about a product kit component record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the kit component data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetProductKitComponentID* | INTEGER (32) | Unique, internal auto incrementing identifier of the product kit component record within the data set. |
keyComponentProductID | TEXT | Unique identifier of the product that is a component of kit. |
keyKitProductID | TEXT | Unique identifier of the product that represents the overall kit that the component product is assigned to. |
ordering | INTEGER (32) | Set a whole number that allows the component product to be ordered with other products assigned to the same kitted product. |
quantity | REAL (DECIMAL) | Amount of the component product that is included within the kit. |
notes* | TEXT | Stores any additional information or notes obout the kit component record. |
isActive* | TEXT (Y,N) | Denotes if the kit component record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the kit component was updated based on the kit component data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the kit component record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the kit component record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Product Kit Component Data Into A Data Set
Within the Connector application there is the ability to import kit component records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import kit component records into a data set. Listed below are steps that this Product Kit Component import process will follow:
- Call adaptor's Product Kits data export to retrieve kit component records from its configured data source.
- For all existing kit component records within the data set the isUpdated field to N. This denotes that the kit component records haven't been updated.
- Iterate through each kit component record retrieved from the adaptor, perform the following steps for each record:
- Check if the kit component record's keyComponentProductID field has value set, if not skip importing the record into the data set.
- Check if the kit component record's keyKitProductID field has value set, if not skip importing the record into the data set.
- Check if a previous kit component record from the adaptor has already been read that contains the same keyComponentProductID and keyKitProductID, if another imported record does then skip importing the record.
- Check if an existing kit component record already exists within the data set, if a matching record is not found then add a kit component record to the data set.
- Set the isActive and isUpdated kit component fields within the data set to Y (Yes), to denote that the kit component record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- After all records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each kit component record within the data set that was matched on when iterating through the kit component records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing the kit components within the data set you will need to click on the Reload button to load all the new and updated kit component records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches products on the keyComponentProductID field and keyKitProductID, it performs a case insensitive match. This means if the process was given kit component record from the adaptor with the keyComponentProductID = "TEA-towel", it would be able to match an existing product record in the data set that had the keyProduct ID set to "tea-towel", "TEA-TOWEL" or "TeA-ToWeL".
Storing Flag Records Within A Data Set
For each data set there is the ability to store an unlimited number of flags, and product-flag mapping records. Collectively together this allows products to be assigned to a number of defined flags. Flags themselves can be used as indicators to highlight products, such as for promotional, instructional, or other informational means.
Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Flags". Within it there are two inner tabs, one called "Flags" that displays a table of Flag records stored in the data set, and the second tab called "Product Flags", that displays a table of product flag mapping records. The Product Flags table allows products to be assigned to one or more flags. This can be done by selecting any cell in the product row, then clicking on the Insert key. This will add an additional row for the same product allowing you to set a second keyFlagID column for the product.
Flag Record Fields
Below is a list of fields that each can store one piece of data about a flag record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the flag data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetFlagID* | INTEGER (32) | Unique, internal auto incrementing identifier of the flag record within the data set. |
keyFlagID | TEXT | Key that allows the flag record to be uniquely identified and linked to. |
flagCode | TEXT | Code of the flag. May or may not be a unqiue identifier. The code may be used in systems to find or use the flag. |
flagName | TEXT | Name of the flag. It is recommended to set a label that gives meaning to the flag, and allows it to be easily recognised or understood. |
description | TEXT | Description field of the flag. It may contain any text used to describe the flag, what the flag means or does. |
notes* | TEXT | Stores any additional information or notes obout the flag record. |
isActive* | TEXT (Y,N) | Denotes if the flag record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the flag was updated, based on the flag data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the flag record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the flag record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Product Flag Record Fields
Below is a list of fields that each can store one product flag mapping for a product record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the product flag data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetProductFlagID* | INTEGER (32) | Unique, internal auto incrementing identifier of the product flag record within the data set. |
keyFlagID | TEXT | Key of the flag record that the product is linked to. |
keyProductID | TEXT | Key of the product record that the flag is linked to. |
notes* | TEXT | Stores any additional information or notes obout the product flag record. |
isActive* | TEXT (Y,N) | Denotes if the product flag record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the product flag was updated, based on the product flag data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the product flag record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the product flag record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Flag Data Into A Data Set
Within the Connector application there is the ability to import flags and product flag records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import all these records together at the same time into a data set. Listed below are steps that this Product Flag import process will follow:
- Call adaptor's Flags data export to retrieve flag records from its configured data source, as well as calling the Product Flags data export.
- For all existing flag records within the data set the isUpdated field to N. This denotes that the flag records haven't been updated.
- For all existing product flag records within the data set the isUpdated field to N. This denotes that the product flag records haven't been updated.
- Iterate through each flag record retrieved from the adaptor, perform the following steps for each record:
- Check if the flag record's keyFlagID field has value set, if not skip importing the record into the data set.
- Check if a previous flag record from the adaptor has already been read that contains the same keyFlagID, if another imported record does then skip importing the record.
- Check if an existing flag record already exists within the data set, if a matching record is not found then add a new flag record to the data set.
- Update each of flag record's fields within the data set, based on the fields that were activated and made available within the adaptor's data export.
- Set the isActive and isUpdated flag fields within the data set to Y (Yes), to denote that the flag record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- Interate through each Product Flag record and perform the follwing steps:
- Check if the product flag record's keyFlagID field has value set, if not skip importing the record into the data set.
- Check if the product flag record's keyProductID field has value set, if not skip importing the record into the data set.
- Check if a previous flag has been set for the product in the data set, based on matching the keyFlagID and keyProductID. If a value was not found then create a new product flag record.
- Set the isActive and isUpdated product flag fields within the data set to Y (Yes), to denote that the product flag record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- After all product flag records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each flag and product flag record within the data set that was not matched on when iterating through the each of the records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing either the flags or product flag mappings within the data set you will need to click on the Reload button to load all the new and updated records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches flags, and product flags on the keyFlagID and keyProductID fields, it performs a case insensitive match. This means if the process was given record from the adaptor with the keyFlagID = "on-SPECIAL", it would be able to match an existing flag records in the data set that had the keyFlagID set to "on-special", "ON-SPECIAL" or "On-SpEcIaL".
Storing Location Records Data Within A Data Set
For each data set there is the ability to store an unlimited number of location records. Each location record represents a location that either exists geographically within the world, such as a store, warehouse, site, office etc... or otherwise it represents any non-geographical or non-physical location, such as a computer file system, or virtual cabinet. Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Locations". Within it there are two inner tabs, one called "Locations" that displays a table of location records stored in the data set, the other tab called "Location Product Stock Quantities", that displays a table of products that are assigned to locations, and the stock quantities that may exist for the product at the location.
Location Record Fields
Below is a list of fields that each can store one piece of data about a location record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the location data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetLocationID* | INTEGER (32) | Unique, internal auto incrementing identifier of the location record within the data set. |
keyLocationID | TEXT | Key that allows the location record to be uniquely identified and linked to. |
locationCode | TEXT | Code of the location. May or may not be a unqiue identifier. Code known by people to identify the location. |
locationName | TEXT | Name of the location that allows people to recognise it, such as a store name, office name, site name etc... |
address1 | TEXT | First address field. Typically this could be a unit number or street number if it is a geographic location. |
address2 | TEXT | Second address field. Typically this could be the street name if it is a geographic location. |
address3 | TEXT | Third address field. Typically this could be the suburb, city or town if it is a geographic location. |
region | TEXT | Name of the region/province/state where the location exists if it is a geographic location. |
country | TEXT | Name of the country where the location exists, if it is a geographic location. |
postcode | TEXT | Postcode or zip code of the location's address if it is a geographic location. |
contact | TEXT | Name of the person who is the primary contact at the location |
phone | TEXT | Primary phone number of the location |
fax | TEXT | Primary fax number of the location. |
website | TEXT | URL of the website that is associated to the location. |
TEXT | Address of the email that primarily handles communications for the location. | |
isGeographic | TEXT (Y,N) | Denotes if the location physically and geographically exists in the world. exists If 'Y' then indicates that the location physically exists at a geographic location in the world. |
latitude | REAL (DECIMAL) | Latitude co-ordinate of the geographic location. The number must be between 90 and -90 |
longitude | REAL (DECIMAL) | longitude co-ordinate of the geographic location. The number must be between 180 and -180 |
locationType | TEXT |
Specifies the kind of the geographic location that it represents. Options include:
|
notes* | TEXT | Stores any additional information or notes obout the location record. |
isActive | TEXT (Y,N) | Denotes if the location record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the location was updated, based on the location data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the location record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the location record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Location Stock Quantity Record Fields
Below is a list of fields that each can store one stock quantity record assigned to a location record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the stock quantity data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetLocationStockQuantityID* | INTEGER (32) | Unique, internal auto incrementing identifier of the location stock quantity record within the data set. |
keyLocationID | TEXT | Key of the location record that the stock quantity is linked to. |
keyProductID | TEXT | Key of the product record that the stock quantity represents. |
qtyAvailable | DECIMAL | Quantity of individual product stock units that are available to be sold at the location. |
qtyOnHand | DECIMAL | Quantity of individual product stock units on hand at its location. |
qtyOrdered | DECIMAL | Quantity of individual product stock units that has been ordered by a purchaser |
qtyOrderable | DECIMAL | Quantity of individual product stock units that is the maximum amount that can be ordered by a purchaser |
qtyBackordered | DECIMAL | Quantity of individual product stock units that has been back ordered from a supplier |
qtyReserved | DECIMAL | Quantity of individual product stock units that has been reserved for given purchasers |
qtyConsigned | DECIMAL | Quantity of individual product stock units that has been leant out or placed at an external location (consigned) |
notes* | TEXT | Stores any additional information or notes obout the location stock quantity record. |
isActive* | TEXT (Y,N) | Denotes if the location stock quantity record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the location stock quantity was updated, based on the stock quantity data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the location stock quantity record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the location stock quantity record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Location Attribute Value Record Fields
Below is a list of fields that each can store one attribute value for a location record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the attribute value data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetLocationAttributeValueID* | INTEGER (32) | Unique, internal auto incrementing identifier of the attribute value record within the data set. |
keyAttributeID | TEXT | Key of the attribute record that the attribute value is linked to. |
keyAttributeProfileID | TEXT | Key of the attribute profile record that the attribute value is linked to. Ensure that the attribute record is assigned to the same attribute profile record assigned to this attribute value record. |
keyLocationID | TEXT | Key of the location record that the attribute value is linked to. |
stringValue | TEXT | Value set for the attribute and location if the linked attribute has its dataType set to STIRNG. This allows any characters to be set within this value field. |
numberValue | TEXT | Value set for the attribute and location if the linked attribute has its dataType set to NUMBER. Only number characters and decimals may be permitted to be stored in this field. |
notes* | TEXT | Stores any additional information or notes obout the attribute value record. |
isActive* | TEXT (Y,N) | Denotes if the attribute value record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the attribute value was updated, based on the attribute value data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the attribute value record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the attribute value record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Location Data Into A Data Set
Within the Connector application there is the ability to import location records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import location records into a data set. Listed below are steps that this Location import process will follow:
- Call adaptor's Location data export to retrieve location records, location stock quantity records, attribute profile records, attribute records, and location attribute value records from its configured data source.
- For all existing location records within the data set the isUpdated field to N. This denotes that the location records haven't been updated.
- Iterate through each location record retrieved from the adaptor, perform the following steps for each record:
- Check if the location record's keyLocationID field has value set, if not skip importing the record into the data set.
- Check if a previous location record from the adaptor has already been read that contains the same keyLocationID, if another imported record does then skip importing the record.
- Check if an existing location record already exists within the data set, if a matching record is not found then add a location record to the data set.
- Update each of location record's fields within the data set, based on the fields that were activated and made available within the adaptor's data export.
- Set the isActive and isUpdated category fields within the data set to Y (Yes), to denote that the location record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- Iterate through each of the product stock quantity records assigned to the location.
- Check if a mapping between the product stock quantity and the location exists in the data set, if not create a new location stock quantity in the data set.
- Update the existing stock quantity record's stock fields.
- Iterate through each of the location attribute value records assigned to the location.
- Check the location attribute value record contains a keyAttributeProfileID that matches an existing attribute profile in the Data Set, if not ignore importing the attribute value record.
- Check the location attribute value record contains a keyAttributeID that matches an existing attribute in the Data Set, if not ignore importing the attribute value record.
- Check if a mapping between the location attribute value and the location exists in the data set, if not create a new location attribute value in the data set.
- Update the existing attribute value's string or number fields based on the attribute field type.
- After all records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each location record, location stock quantity record and location attribute value record within the data set that was matched on when iterating through the location records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing the locations, location stock quantities and location attribut evalues within the data set you will need to click on the Reload button to load all the new and updated location records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches locations on the keyLocationID field, it performs a case insensitive match. This means if the process was given location record from the adaptor with the keyLocationID = "WARE-house", it would be able to match an existing location record in the data set that had the keyLocationID set to "ware-house", "WARE-HOUSE" or "WaRe-HouSe".
Storing Make/Model Records Within A Data Set
For each data set there is the ability to store an unlimited number of makers (manufacturers), maker models, maker model attribute values, and maker model mapping records. Collectively together these all allow for Make/Model data structures to be set up in Data Sets. Make/Model is typically used to help customers find products for goods that contain replaceble parts, such as vehicles, computers, whitegoods, electrical appliances, or basically anything that is assembled with components.
Within the Connector application, upon opening a data set, in the Data Set window there is a tab labelled "Make/Model". Within it there are four inner tabs, one called "Makers" that displays a table of Maker records stored in the data set, the second tab called "Models", that displays a table of maker model records. The third table labelled "Model Attribute Values" stores a list attribute values assigned to models. When the Model Attribute Values tab is clicked on it will display the models in each row based on the models that have been imported into the data set. For each attribute a column will be displayed, allowing you to enter a value for the attribute for given model. It is possible to assign multiple attribute values to single model. This can be done by selecting any cell in the model row, then clicking on the Insert key. This will add an additional row for the same product allowing you to set a second value in the attribute column for the model. Attribute Profiles and Attributes need to be set up in the Data Set first before being able to assign attribute values to models. View the Attributes section in this document to learn more details about how to set this up.
The last tab called "Model Product Category Mappings" contains Maker Model Mapping records, that each allow a product to be assigned/mapped to a model for a specified category. For models that contain many component parts, these mapping records allow the products assigned to the model to be categorised. For example if you had a automotive model, it could have categories such as "offroad tyres", "onroad tyres", "cheap tyres" etc. A "tyre" product could then be mapped to multiple of these categories for the same product, such as if a tyre was both cheap, and can handle offroad or onroad conditions. Each mapping record can specify the quantity of product required. So for the above example you would specify that 4 quantities of tyre products needs exist on an automotive model.
Maker Record Fields
Below is a list of fields that each can store one piece of data about an maker (manufacturer) record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the maker data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetMakerID* | INTEGER (32) | Unique, internal auto incrementing identifier of the attribute profile record within the data set. |
keyMakerID | TEXT | Key that allows the maker record to be uniquely identified and linked to. |
makerCode | TEXT | Code of the maker. May or may not be a unqiue identifier. Code known by people to identify the maker. |
makerSearchCode | TEXT | Code that allows the maker to searched on. This search code may or may not be unique, and would typically contain key words that allows the maker to be found. |
name | TEXT | Name of the maker/manufacturer. |
groupClass | TEXT | Class that allows the maker to be grouped with other makers of the same type. |
ordering | DECIMAL | Numeric value that may be set to control how the maker is ordered with other makers within a list |
orgName | TEXT | Name of the organisation, if the maker is an organisation. |
authorityNumbers | TEXT | The number issued of the government, or any other entity records that is associated with the maker, such as an Australian Business Number. |
authorityNumberLabels | TEXT | The label of the type of authority number issued of the government, or any other entity records that is associated with the maker. such as the label "Australian Business Number". |
authorityNumberTypes | INTEGER (32) | The identifier of the type of authority number being set. The value 1 means the Australian Business Number. |
establishedDate | INTEGER (64) | Date that the maker was first established. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
notes* | TEXT | Stores any additional information or notes obout the maker record. |
isActive* | TEXT (Y,N) | Denotes if the maker record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the maker was updated, based on the maker data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the maker record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the maker record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Maker Model Record Fields
Below is a list of fields that each can store one piece of data about a maker model record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the maker model data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetMakerModelID* | INTEGER (32) | Unique, internal auto incrementing identifier of the maker model record within the data set. |
keyMakerModelID | TEXT | Key that allows the maker model record to be uniquely identified and linked to. |
keyMakerID | TEXT | Key of the maker record that manufactured the model. |
modelCode | TEXT | Code of the model. May or may not be a unqiue identifier. Code known by people to identify the model. |
modelSubCode | TEXT | Secondary code of the model which may be used further identify it. |
modelSearchCode | TEXT | Code that allows the model to searched on. This search code may or may not be unique, and would typically contain key words that allows the model to be found. |
name | TEXT | Name of the model. It is recommended to set a label that gives meaning to the type of model that it is, or when and who created the model. |
groupClass | TEXT | Class that allows the model to be grouped with other models of the same type. |
releasedDate | INTEGER (64) | Date that the model was released by the maker/manufacturer. This date may be designated by the maker as the official date that the model was first made available and known by. Date is in the form of a number in milliseconds since the 01-01-1970 12:00am Epoch in UTC time-zone |
createdDate | INTEGER (64) | Date that the model was created. This date may be considered an internal date only relevant to the maker started or completed production of the first model. Date is in the form of a number in milliseconds since the 01-01-1970 12:00am Epoch in UTC time-zone |
notes* | TEXT | Stores any additional information or notes about the model record. |
isActive* | TEXT (Y,N) | Denotes if the model record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the model was updated, based on the model data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the model record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the model record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Maker Model Attribute Value Record Fields
Below is a list of fields that each can store one attribute value for a model record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the attribute value data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetMakerModelAttributeValueID* | INTEGER (32) | Unique, internal auto incrementing identifier of the model attribute value record within the data set. |
keyAttributeID | TEXT | Key of the attribute record that the attribute value is linked to. |
keyAttributeProfileID | TEXT | Key of the attribute profile record that the attribute value is linked to. Ensure that the attribute record is assigned to the same attribute profile record assigned to this attribute value record. |
keyMakerModelID | TEXT | Key of the maker model record that the attribute value is linked to. |
stringValue | TEXT | Value set for the attribute and model if the linked attribute has its dataType set to STRING. This allows any characters to be set within this value field. |
numberValue | TEXT | Value set for the attribute and model if the linked attribute has its dataType set to NUMBER. Only number characters and decimals may be permitted to be stored in this field. |
notes* | TEXT | Stores any additional information or notes obout the model attribute value record. |
isActive* | TEXT (Y,N) | Denotes if the model attribute value record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the model attribute value was updated, based on the attribute value data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the model attribute value record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the model attribute value record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Maker Model Mapping Record Fields
Below is a list of fields that each can store one mapping for a maker model record within the data set. These field names are based on the Ecommerce Standards Document record fields, that the model mapping data can be imported or exported from the data set with.
Field Name | Data Type | Description |
---|---|---|
dataSetMakerModelMappingID* | INTEGER (32) | Unique, internal auto incrementing identifier of the maker model mapping record within the data set. |
keyMakerModelID | TEXT | Key of the maker model record that the mapping is linked to. |
keyProductID | TEXT | Key of the product record that the mapping is linked to. |
keyCategoryID | TEXT | Key of the category record that the mapping is linked to. |
quantity | DECIMAL | The stock quantity of the product that exists for the model. |
notes* | TEXT | Stores any additional information or notes obout the model mapping record. |
isActive* | TEXT (Y,N) | Denotes if the model mapping record is active and should be exported to any linked systems. |
isUpdated* | TEXT (Y,N) | Denotes if the model mapping was updated, based on the model mapping data last imported into the data set. |
createdDateTime* | INTEGER (64) | Contains the date and time that the model mapping record was first created within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
lastModifiedDateTime* | INTEGER (64) | Contains the date and time that the model mapping record was last modified within the data set. The date time is stored as a 64bit long integer number in milliseconds since the 1st January 1970 12am UTC. |
*Fields marked with asterisk are not supported in the Ecommerce Standards Documents and are solely available for data sets.
Importing Maker Data Into A Data Set
Within the Connector application there is the ability to import maker records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import maker records into a data set. Listed below are steps that this Maker import process will follow:
- Call adaptor's Makers data export to retrieve maker records from its configured data source.
- For all existing maker records within the data set the isUpdated field to N. This denotes that the maker records haven't been updated.
- Iterate through each maker record retrieved from the adaptor, perform the following steps for each record:
- Check if the maker record's keyMakerID field has value set, if not skip importing the record into the data set.
- Check if a previous maker record from the adaptor has already been read that contains the same keyMakerID, if another imported record does then skip importing the record.
- Check if an existing maker record already exists within the data set, if a matching record is not found then add a maker record to the data set.
- Update each of maker record's fields within the data set, based on the fields that were activated and made available within the adaptor's data export.
- Set the isActive and isUpdated maker fields within the data set to Y (Yes), to denote that the maker record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- After all records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each maker record within the data set that was matched on when iterating through the maker records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing the makers within the data set you will need to click on the Reload button to load all the new and updated maker records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches products on the keyMakerID field, it performs a case insensitive match. This means if the process was given a maker record from the adaptor with the keyMakerID = "TESla", it would be able to match an existing maker record in the data set that had the keyMakerID set to "tesla", "TESLA" or "TeSlA".
Importing Maker Model Mapping Data Into A Data Set
Within the Connector application there is the ability to import maker model mapping records into a data set, based on exporting data from a selected adaptor. When this occurs a data import process is called within the Connector that will attempt to import these records into a data set. Listed below are steps that this Maker Model Mapping import process will follow:
- Call adaptor's Maker Model Mapping data export to retrieve maker model mapping records from its configured data source.
- For all existing maker model mapping records within the data set the isUpdated field to N. This denotes that the maker model mapping records haven't been updated.
- Interate through each Maker Model Mapping record and perform the follwing steps:
- Check if the mapping record's keyMakerModelID field has value set, if not skip importing the record into the data set.
- Check if the mapping record's keyCategoryID field has value set, if not skip importing the record into the data set.
- Check if the mapping record's keyProductID field has value set, if not skip importing the record into the data set.
- Check if a maker model mapping has been set in the data set, based on matching the keyMakerModelID, keyCategoryID, and keyProductID. If a maker model mapping was not found then create a new maker model mapping record.
- Set the isActive and isUpdated attribute fields within the data set to Y (Yes), to denote that the maker model mapping record is updated and active. Also update the lastModifiedDateTime to set the time when the record was updated.
- After all maker model mapping records obtained from the adaptor's data set have been iterated through, then if the data export's Data Transfer Mode was set to Complete, then change the isActive field to N for each maker model mapping record within the data set that was not matched on when iterating through the each of the records. This step is ignored if the Data Transfer Mode was set to Incremental.
- Update the Adaptor's Data Export History Log to denote that the import process successfully completed.
Once the data has successfully been imported into the Data Set, if the window of the Data Set had previously been opened, then when viewing maker model mappings within the data set you will need to click on the Reload button to load all the new and updated records that have been imported into the Data Set to see the latest data changes.
Note that when the data set import process matches maker model mappings on the keyMakerModelID, keyCategoryID and keyProductID field, it performs a case insensitive match. This means if the process was given record from the adaptor with the keyCategoryID = "KITCHEN-ware", it would be able to match an existing mapping records in the data set that had the keyCategoryID set to "kitchen-ware", "KITCHEN-WARE" or "KiTcHeN-WaRe".