In this guide we’ll demonstrate how to configure a profile that will be responsible for automatic product import synchronisation.
Steps to create and configure product import profile
- Create Product Import Profile
- Profile Settings Tab
- Import Settings Tab
- Import Configuration
- Store Configuration
- Price and Tax Configuration
- Inventory Configuration
- Attributes Configuration
- Property Mapping
- Barcode / Identification Number Configuration
- Category Configuration
- Media Configuration
- Related / Cross-sells Configuration
- Item / Variation API Log Tab
- Category API Log Tab
- Attribute API Log Tab
- Schedule Tab
- Schedule History Tab
- API Actions Tab
Create Product Import Profile
Create a profile with entity type: “Product” and direction: “Import”.
More on how to create a profile can be found here: Profile tool.
Profile Settings Tab
In this tab area we need to enable our profile. Select “Active” next to “Profile status”.
Next, we need to create cron expression to enable our profile to execute tasks on the scheduled basis. Scheduled task intervals depend on how often you like products to be imported to Magento. There is no rule on how often a task should run. The most common way is to set this to every 1-2 hours. If your store is not very busy, consider increasing time to every 6 hours or even once per day.
Import Settings Tab
All profile configurations are located under import settings tab area. This is where profile data configuration takes place. Our connector supports multi-store environment therefore profile data can be configured per store, website or global scope where possible. In this tab area you can map Magento stores to PlentyMarkets languages, configure VAT, prices, inventory and carry out general product import configurations. We’ll describe each configuration step in details as we go alone.
Import Configuration
Import configuration section has the following settings:
- API collection behaviour: append behaviour will fetch recently updated data only, whereas replace behaviour will fetch and update all API log data with new records. Default settings: append;
- Api collection size per page: the number of entries returned per page during data request.
- Enable product import: an option to enable / disable export of products.
- Import behaviour: our application extends Magento native import/export functionality resulting in efficient product import/export management.
This results in fast product import. There are two types of import behaviour:
- Append: the new product data is added to the existing data for existing entries in the database.
- Replace: the existing product data is replaced with new data.
- Import batch size per process: an option to limit export to a number or records specified in this field. Handy option to prevent server overload.
- Re-Index after import: an option to enable indexing of products that were imported.
Store Configuration
Here we need to map PlentyMarkets languages to Magento stores and optionally configure Flag filters.
- Store Mapping: used to map PlentyMarkets language code to Magento store. This is used during product synchronisation in multi-store environment.
- Flag One: an option to assign flagOne filter to PlentyMarkets Item. Flags can be used to organise and filter items. Each item can be assigned up to two flags. Possible values: 1 to 31, 0 = no flag.
- Flag Two: an option to assign flagTwo filter to PlentyMarkets Item. Flags can be used to organise and filter items. Each item can be assigned up to two flags. Possible values: 1 to 11, 0 = no flag
Price and Tax Configuration
In this section you are able to configure price and tax as well as map PlentyMarkets tax and price IDs to ones used in Magento.
- Default Tax Class: default tax class used for product import.
- Tax Mapping: an option to map PlentyMarkets VAT class IDs to tax classes used in Magento. Click on “Retrieve Tax Classes” button to retrieve VAT class IDs from PlentyMarkets.
- Price mapping: an option to map PlentyMarkets sales price IDs to Magento price attributes. Prices can be mapped using store scope. If no price mapping is configure the price import will be disabled.
- Delete unmapped sales prices: an option to remove item sales prices, which were not mapped in this configuration. For example, our application will look for item sale prices that are listed withing this mapping configuration list and if it finds a mismatch it will delete it.
- Attribute used for purchase price: an option to map Magento cost attribute to PlentyMarkets purchased price property.
Inventory Configuration
- Import inventory: an option to enable or disable inventory import. This may come handy when you need to control product quantity update during product import.
- Warehouse Id: default warehouse ID which the product is assigned to.
Attributes Configuration
- Default attribute set: the default attribute set used in Magento.
- Attribute set property ID: the ID of a property in PlentyMarkets which is used to define Magento attribute set.
- Enable attribute restriction: an option to restrict import to selected attributes.
If this option is enabled a new selection will appear underneath:
Allowed Attributes: select attributes which will be allowed for import. This is useful when you need to restrict product import to specified attributes only. A good example is when we need to import Item ID and Variation ID only. Select attributes from the multi-select area to restrict import to those selected in this section.
- Product name mapping: an option to map product names. PlentyMarkets has 3 separate fields that can be used for item name. Use name mapping tool to assign product name to one of the name fields used in PlentyMarkets.
Leave blank to disable name mapping. In this case, our application will use default: “name” field for product title.
- Attribute used for supplier name: an attribute code used to map supplier name.
- Attribute used for supplier item number: an attribute code used to map supplier item number.
- Attribute used for manufacturer: an attribute code used to map Manufacturer.
- Attribute used for technical data: an attribute code used to map item “Technical data”.
- Import URL key: an option to create product url key.
- Default weight unit: an option to choose between Gross Weight and Net Weight.
Property Mapping
In this section you can map PlentyMarkets properties to Magento attributes.
- Property to Attribute Mapping: map property ID to attribute code.
Barcode / Identification Number Configuration
- Barcode to attribute mapping: an option to map PlentyMarkets barcode ID to Magento attribute code.
- Market Ident number mapping: an option to map PlentyMarkets Identification Number to Magento attribute code.
Category Configuration
- Import categories: an option to create category during product import.
- Magento Root Category: default root category in Magento.
- Plenty Root Category: default root category from PlentyMarkets.
Media Configuration
- Import images: an option to enable or disable import of media images.
- Import images with availability: a filter that assigns images to one of the channels from PlentyMarkets. Available options are “_Main PlentyMarkets store”, “Listing” and “Marketplace”.
- Download media files: an option to enable or disable image download. This is useful when you want to control images source.
For example, you could include product images within your Magento
/media/import
directory and product import will use images within that directory.
Related / Cross-sells Configuration
- Export Cross Sells: an option to create cross sells item relation in PlentyMarkets.
Item / Variation API Log Tab
In this tab area you can track and trace items and variations that were used in product import. These items are collected from PlentyMarkets and saved into Magento database. This entity holds item and variation data that is used during product import / export process. You could safely flush this data as it can be re-generated on next product import process. A list of main entity attributes:
- Item ID: the ID of an item assigned in PlentyMarkets;
- Variation ID: the ID of a variation assigned in PlentyMarkets;
- External ID: the ID of a product assigned in Magento;
- SKU: the SKU of a product assigned in Magento;
- Status: the status of synchronisation. Available statuses are “complete”, “updated”, “pending”, “processing”, “skipped” and “failed”;
- Is Active: the status of an item;
- Item Type: the type of an item. (Set or Default);
- Product Type: the type of product. Supported types are: Simple, Configurable, Bundle and Grouped;
- Bundle Type: the type of a bundle item. Possible values are bundle item or bundle component;
- Flag One: Flag 1 of the item. Flags can be used to organise and filter items. Each item can be assigned up to two flags. Possible values: 1 to 31, 0 = no flag;
- Flag Two: Flag 2 of the item. Flags can be used to organise and filter items. Each item can be assigned up to two flags. Possible values: 1 to 11, 0 = no flag;
- Message: general messages of item synchronisation;
- Created At: the date entry was created at;
- Updated At: the date entry was updated at;
- Collected At: the date entry was collected at;
- Processed At: the date entry was processed at;
Category API Log Tab
In this tab area you can find categories log data that was collected during product import.
- Plenty id: an ID assigned to category in PlentyMarkets;
- Magento id: an ID assigned to category in Magento;
- Parent id: an ID of parent item assigned to category in PlentyMarkets;
- Level: the level of category item assigned to category in PlentyMarkets;
- Type: the type of category assigned in PlentyMarkets;
- Name: the name assigned to category in PlentyMarkets;
- Path: the path structure of category created in PlentyMarkets;
- Status: the status assigned to category in PlentyMarkets;
- Name: the name assigned to category in PlentyMarkets;
- Name: the name assigned to category in PlentyMarkets;
- Message: general messages of category synchronisation process;
- Created At: the date entry was created at;
- Updated At: the date entry was updated at;
- Processed At: the date entry was processed at;
Attribute API Log Tab
In this tab area you can find attribute log data that was collected during product import.
- Attribute ID: the ID of attribute created in PlentyMarkets;
- Property ID: the ID of property created in PlentyMarkets;
- Manufacturer Id: the ID of manufacture created in PlentyMarkets;
- Attribute Code: the code of attribute created in PlentyMarkets;
- Property Code: the code of property created in PlentyMarkets;
- Property Group Code: the code of group of a property created in PlentyMarkets;
- Value Type: the value type of property. This is either text or selection;
- Message: general messages of attribute synchronisation process;
- Created At: the date entry was created at;
- Updated At: the date entry was updated at;
- Processed At: the date entry was processed at;
Schedule Tab
In this area you can find a log of all scheduled tasks for product import process.
- Schedule id: the ID of the scheduled task;
- Status: the status of scheduled task. Available statuses are “error”, “missed”, “pending”, “processing” and “success”;
- Job Code: the code used to identify profile task;
- Created At: the time and date a task is created at;
- Scheduled At: the time and date a task is scheduled at;
- Executed At: the time and date a task is executed at;
- Finished At: the time and date a task is finished at;
- Message: general messages of task process. Any errors will be shown here;
Schedule History Tab
Here you can find a log of scheduled tasks history, where all the scheduled processes are logged to.
- Status: the status of scheduled task process. Available statuses are “error”, “missed”, “pending”, “processing” and “success”;
- Action: the code used to identify profile scheduled task;
- Message: general messages of task process. Any errors will be shown here;
- Created At: the time and date a task is created at;
- Performed At: the time and date a task is performed at;
API Actions Tab
In this section you can either collect or flush API log data.
Collecting API data manually may be useful at times when you need to analyse data synchronisation, lookup its consistency or trace any issue. The following actions are available:
- Collect Attributes: manually collect attribute data.
- Collect Categories: manually collect category data.
- Collect Items / Variations: manually collect item and variation data.
- Flush Collection Data: clears all data from collection log tables.
We collect and store data in bulk to achieve reliability and to limit API calls to PlentyMarkets server during synchronisation process.
Our application collects and stores REST API data into database, which is then used for synchronisation process without making additional HTTP requests to PlentyMarkets server.
Because the data is collected in bulk, we are able to save up to 500 records using only one HTTP request.