2. Product Sync
2.1 Overview
This is a document to describe the fields required to successfully sync pylon products with magento products. This type of sync is one-way. Magento will fetch products from Pylon with the necessary information.
2.2 Fields
Consule the docs on Fields and Types for more information on the types of fields available read * * Fields and Types**.
M2 Field | M2 Attribute Code | Type | Required (Magento) | Sync On Create | Sync On Update | Pylon Field Name | Pylon Field Code |
|---|---|---|---|---|---|---|---|
Name | name | text | Yes | Yes | No | ||
SKU | sku | text | Yes | Yes | Yes | ||
Short Description | short_description | textarea | Yes | No | No | ||
Description | description | textarea | Yes | No | No | ||
Attribute Set | attribute_set_id | select | Yes | No | No | ||
Status | status | boolean | Yes | Yes | Yes | ||
Price | price | text | Yes | Yes | Yes | ||
Price Bikeshop | price_bikeshop | text | No | Yes | Yes | ||
Special Price | special_price | text | No | Yes | Yes | ||
Special Price Bikeshop | special_price_bikeshop | text | No | Yes | Yes | ||
Special Price From | special_from_date | date | No | Yes | Yes | ||
Special Price From Bikeshop | special_from_date_bikeshop | date | No | Yes | Yes | ||
Special Price To | special_to_date | date | No | Yes | Yes | ||
Special Price To Bikeshop | special_to_date_bikeshop | date | No | Yes | Yes | ||
Wholesale Price | wholesale_price | text | No | Yes | Yes | ||
Tax Class | tax_class | int | Yes | Yes | Yes | ||
Categories | category_ids | multiselect | No | No | No | ||
Disable Cash On Delivery | io_disable_cod | boolean | No | No | No | ||
Show in Bikeshop | show_in_bikeshop | boolean | Yes | Yes | Yes | ||
Show in Podilatis | show_in_podilatis | boolean | Yes | Yes | Yes | ||
Manufacturer (Brand) | manufacturer | select | Yes | Yes | Yes | ||
Pylon UID | pylon_uid | text | Yes | Yes | Yes |
2.3 Handling variations (Phase 2)
Read more about Phase 2
2.3.1 Fields used for creating variations
The fields below are required in products which are variatons of a parent product otherwise the configurable product won't be able to be linked
M2 Field | M2 Attribute Code | Type | Required | On Create | On Update | Pylon Field Name | Pylon Field Code |
|---|---|---|---|---|---|---|---|
Color | color | select | No | Yes | Yes | ||
Διάσταση τροχού | wheel_size | select | No | Yes | Yes | ||
Μέγεθος Σκελετού | framesize | select | No | Yes | Yes | ||
Μέγεθος | size_clothes | select | No | Yes | Yes | ||
Μέγεθος Κάλτσας | kaltses_siz | select | No | Yes | Yes | ||
Μέγεθος Καλυμμάτων | kalummata_size | select | No | Yes | Yes | ||
Μέγεθος | manikia_mpatzakia_size | select | No | Yes | Yes | ||
Μέγεθος Κράνους | kranoi_size | select | No | Yes | Yes | ||
Απόχρωση Bianchi | color_bianchi | select | No | Yes | Yes | ||
Μήκος Βραχίονα | crankset_length | select | No | Yes | Yes | ||
Δόντια Δίσκου | crankset_teeth_choice | select | No | Yes | Yes | ||
Προστατευτικό Δίσκου | chain_guard | select | No | Yes | Yes | ||
Μήκος Ακτίνας | aktines_size | select | No | Yes | Yes | ||
Μήκος | mikos_laimos | select | No | Yes | Yes | ||
Cages | cage_length | select | No | Yes | Yes | ||
Επιλογή μανέτας | direction | select | No | Yes | Yes | ||
Επιλογή Διαμέτρου Δίσκου | diametros_diskou | select | No | Yes | Yes | ||
Επιλογή | epilogi_pet | select | No | Yes | Yes | ||
Δόντια κασέτας | dontia_kaseta | select | No | Yes | Yes | ||
Επιλογή Βραχίονα - Μπράτσων | diskovrahionas | select | No | Yes | Yes | ||
Διαστάσεις Ρουλεμάν | diastaseis_rouleman | select | No | Yes | Yes | ||
Επιλογή δοντιών | tpi | select | No | Yes | Yes | ||
Επιλογή Περιφερειακών | bianchi_char | select | No | Yes | Yes | ||
Μέγεθος Παπουτσιού | megethos_papoutsiou | select | No | Yes | Yes | ||
Διάμετρος κολάρου Σέλας | diametros_kolarou_selas | select | No | Yes | Yes | ||
Διάμετρος σκελετού | diametros_skeletou | select | No | Yes | Yes |
If product is part of a configurable (aka a variation), we need to be able to specify by which field of the above it's set as a variation
For example a product that is a t-shirt and has 3 colors is configured by attribute
colorand the value of the attribute isred,blue,greensizeand the value of the attribute isS,M,L
The products would have the following fields
2.3.2 Child products
2.3.2.1 Case 1: Child products only in pylon.
In this case the child products must contain information about the parent product attributes
M2 Field | M2 Attribute Code | Type | Required | On Create | On Update | Pylon Field Name | Pylon Field Code |
|---|---|---|---|---|---|---|---|
Color | color | select | No | Yes | Yes | ||
Size | size_clothes | select | No | Yes | Yes | ||
- | - | select | No | Yes | Yes | Parent Attributes |
2.3.2.2 Case 2: Child products in pylon and a virtual parent product in pylon as well
If using a virtual parent product in the ERP then we would need to specify the parent attributes there
Parent product
M2 Field | M2 Attribute Code | Type | Required | On Create | On Update | Pylon Field Name | Pylon Field Code |
|---|---|---|---|---|---|---|---|
- | - | select | No | Yes | Yes | Parent Attributes |
In the example above the parent_attributes would be
Every product that is a child of the parent product would have the same value for the parent_product field
Child Products
M2 Field | M2 Attribute Code | Type | Required | On Create | On Update | Pylon Field Name | Pylon Field Code |
|---|---|---|---|---|---|---|---|
Color | color | select | No | Yes | Yes | ||
Size | size_clothes | select | No | Yes | Yes | ||
- | - | text | No | Yes | Yes | Parent Product |
2.4 Pylon Endpoints
2.4.1 Fetch modified products list from pylon
We need an endpoint to fetch the modified products list from Pylon.
2.4.2 Fetch product data
We need an endpoint to fetch the product data from Pylon.
2.4.3 Set product information
We need an endpoint to set product information optionally in products from Magento to Pylon. Fields to sync currently are:
Magento Field | Pylon Field |
|---|---|
EAN | Βοηθητικός Κωδικός |
MPN | Κωδικός Εργοστασίου |
The reason behind this need is that the person inserting items in pylon doesn't know the barcodes or the MPN that skroutz needs. However the person doing data entry in Magento does, so instead of doing data entry in both systems they should only update Magento.