Features matrix¶
It is very likely that your endpoint implementation does not support the full feature set that JTL-Wawi offers. This might be due to limitations of the underlying target system or because of functionality that cannot be made compatible with JTL-Wawi because their respective concepts differ too much. To tell JTL-Wawi which features of JTL-Connector are supported by your endpoint implementation, you are required to build a features matrix and ship it with your endpoint code.
Basically, this is a simple JSON file containing information about which features are supported or not. An example of a connector’s features matrix is shown below, to give you an idea of the basic concept behind this file. The file is also available on GitHub.
{
"entities": {
"Category": {
"pull": false,
"push": false,
"delete": false
},
"CategoryAttr": {
"pull": false,
"push": false,
"delete": false
},
"CategoryAttrI18n": {
"pull": false,
"push": false,
"delete": false
},
"CategoryCustomerGroup": {
"pull": false,
"push": false,
"delete": false
},
"CategoryI18n": {
"pull": false,
"push": false,
"delete": false
},
"CategoryInvisibility": {
"pull": false,
"push": false,
"delete": false
},
"Checksum": {
"pull": false,
"push": false,
"delete": false
},
"ConfigGroup": {
"pull": false,
"push": false,
"delete": false
},
"ConfigGroupI18n": {
"pull": false,
"push": false,
"delete": false
},
"ConfigItem": {
"pull": false,
"push": false,
"delete": false
},
"ConfigItemI18n": {
"pull": false,
"push": false,
"delete": false
},
"ConfigItemPrice": {
"pull": false,
"push": false,
"delete": false
},
"CrossSelling": {
"pull": false,
"push": false,
"delete": false
},
"CrossSellingGroup": {
"pull": false,
"push": false,
"delete": false
},
"CrossSellingGroupI18n": {
"pull": false,
"push": false,
"delete": false
},
"CrossSellingItem": {
"pull": false,
"push": false,
"delete": false
},
"Currency": {
"pull": false,
"push": false,
"delete": false
},
"Customer": {
"pull": false,
"push": false,
"delete": false
},
"CustomerAttr": {
"pull": false,
"push": false,
"delete": false
},
"CustomerGroup": {
"pull": false,
"push": false,
"delete": false
},
"CustomerGroupAttr": {
"pull": false,
"push": false,
"delete": false
},
"CustomerGroupI18n": {
"pull": false,
"push": false,
"delete": false
},
"CustomerGroupPackagingQuantity": {
"pull": false,
"push": false,
"delete": false
},
"CustomerOrder": {
"pull": false,
"push": false,
"delete": false
},
"CustomerOrderAttr": {
"pull": false,
"push": false,
"delete": false
},
"CustomerOrderBillingAddress": {
"pull": false,
"push": false,
"delete": false
},
"CustomerOrderItem": {
"pull": false,
"push": false,
"delete": false
},
"CustomerOrderItemVariation": {
"pull": false,
"push": false,
"delete": false
},
"CustomerOrderPaymentInfo": {
"pull": false,
"push": false,
"delete": false
},
"CustomerOrderShippingAddress": {
"pull": false,
"push": false,
"delete": false
},
"DeliveryNote": {
"pull": false,
"push": false,
"delete": false
},
"DeliveryNoteItem": {
"pull": false,
"push": false,
"delete": false
},
"DeliveryNoteItemInfo": {
"pull": false,
"push": false,
"delete": false
},
"FileDownload": {
"pull": false,
"push": false,
"delete": false
},
"FileDownloadI18n": {
"pull": false,
"push": false,
"delete": false
},
"FileUpload": {
"pull": false,
"push": false,
"delete": false
},
"FileUploadI18n": {
"pull": false,
"push": false,
"delete": false
},
"Image": {
"pull": false,
"push": false,
"delete": false
},
"Language": {
"pull": false,
"push": false,
"delete": false
},
"Manufacturer": {
"pull": false,
"push": false,
"delete": false
},
"ManufacturerI18n": {
"pull": false,
"push": false,
"delete": false
},
"MeasurementUnit": {
"pull": false,
"push": false,
"delete": false
},
"MeasurementUnitI18n": {
"pull": false,
"push": false,
"delete": false
},
"MediaFile": {
"pull": false,
"push": false,
"delete": false
},
"MediaFileAttr": {
"pull": false,
"push": false,
"delete": false
},
"MediaFileAttrI18n": {
"pull": false,
"push": false,
"delete": false
},
"MediaFileI18n": {
"pull": false,
"push": false,
"delete": false
},
"PartsList": {
"pull": false,
"push": false,
"delete": false
},
"Payment": {
"pull": false,
"push": false,
"delete": false
},
"Product": {
"pull": false,
"push": false,
"delete": false
},
"Product2Category": {
"pull": false,
"push": false,
"delete": false
},
"ProductAttr": {
"pull": false,
"push": false,
"delete": false
},
"ProductAttrI18n": {
"pull": false,
"push": false,
"delete": false
},
"ProductConfigGroup": {
"pull": false,
"push": false,
"delete": false
},
"ProductFileDownload": {
"pull": false,
"push": false,
"delete": false
},
"ProductI18n": {
"pull": false,
"push": false,
"delete": false
},
"ProductInvisibility": {
"pull": false,
"push": false,
"delete": false
},
"ProductPartsList": {
"pull": false,
"push": false,
"delete": false
},
"ProductPrice": {
"pull": false,
"push": false,
"delete": false
},
"ProductPriceItem": {
"pull": false,
"push": false,
"delete": false
},
"ProductSpecialPrice": {
"pull": false,
"push": false,
"delete": false
},
"ProductSpecialPriceItem": {
"pull": false,
"push": false,
"delete": false
},
"ProductSpecific": {
"pull": false,
"push": false,
"delete": false
},
"ProductStockLevel": {
"pull": false,
"push": false,
"delete": false
},
"ProductType": {
"pull": false,
"push": false,
"delete": false
},
"ProductVarCombination": {
"pull": false,
"push": false,
"delete": false
},
"ProductVariation": {
"pull": false,
"push": false,
"delete": false
},
"ProductVariationI18n": {
"pull": false,
"push": false,
"delete": false
},
"ProductVariationInvisibility": {
"pull": false,
"push": false,
"delete": false
},
"ProductVariationValue": {
"pull": false,
"push": false,
"delete": false
},
"ProductVariationValueDependency": {
"pull": false,
"push": false,
"delete": false
},
"ProductVariationValueExtraCharge": {
"pull": false,
"push": false,
"delete": false
},
"ProductVariationValueI18n": {
"pull": false,
"push": false,
"delete": false
},
"ProductVariationValueInvisibility": {
"pull": false,
"push": false,
"delete": false
},
"ProductWarehouseInfo": {
"pull": false,
"push": false,
"delete": false
},
"Shipment": {
"pull": false,
"push": false,
"delete": false
},
"ShippingClass": {
"pull": false,
"push": false,
"delete": false
},
"Specific": {
"pull": false,
"push": false,
"delete": false
},
"SpecificI18n": {
"pull": false,
"push": false,
"delete": false
},
"SpecificValue": {
"pull": false,
"push": false,
"delete": false
},
"SpecificValueI18n": {
"pull": false,
"push": false,
"delete": false
},
"Statistic": {
"pull": false,
"push": false,
"delete": false
},
"StatusChange": {
"pull": false,
"push": false,
"delete": false
},
"TaxClass": {
"pull": false,
"push": false,
"delete": false
},
"TaxRate": {
"pull": false,
"push": false,
"delete": false
},
"TaxZone": {
"pull": false,
"push": false,
"delete": false
},
"TaxZoneCountry": {
"pull": false,
"push": false,
"delete": false
},
"Unit": {
"pull": false,
"push": false,
"delete": false
},
"UnitI18n": {
"pull": false,
"push": false,
"delete": false
},
"Warehouse": {
"pull": false,
"push": false,
"delete": false
}
},
"flags": {
"var_combination_child_first": false,
"product_images_supported": false,
"category_images_supported": false,
"manufacturer_images_supported": false,
"specific_images_supported": false,
"specific_value_images_supported": false,
"config_group_images_supported": false,
"product_variation_value_images_supported": false,
"variation_products_supported": false,
"variation_combinations_supported": false,
"set_articles_supported": false,
"free_field_supported": false,
"needs_category_root": false,
"translated_attributes_supported": false,
"send_all_acks": false,
"disable_statistics": false
}
}
The file divides into two main parts.
Entities¶
The first part lists the exiting entities with information in which context they can be used (e.g. whether they can be updated by JTL-Wawi or are read-only and whether they can be deleted programmatically).
Special function flags¶
The second part sets special function flags. These flags tell the client about endpoint specific handling logic.
An example is the creation of variation combinations, i.e. configurable products specified in a parent-child relationship. Some systems need to have all available child products before the parent product may be created, maybe, because the parent product must be equipped with a list of all available child products. Other systems might need to create the parent product first, e.g. because all child products keep track of their master by using some kind of database foreign key that has to exist.
Nevertheless, you are able to influence JTL-Wawi’s behaviour when preparing its operations by configuring the function flags correctly. Most of the flag names are pretty self-explanatory. Some of them require a deep understanding of the targeted system to decide which value to set for a certain function flag.
Flag (Boolean) | Description |
---|---|
var_combination_child_first | Determines if product variation children will be imported into JTL-Wawi before the product variation parent. |
product_images_supported | Determines if product images are supported by connector. |
category_images_supported | Determines if category images are supported by connector. |
manufacturer_images_supported | Determines if manufacturer images are supported by connector. |
specific_images_supported | Determines if specific images are supported by connector. |
specific_value_images_supported | Determines if specific value images are supported by connector. |
config_group_images_supported | Determines if config group images are supported by connector. |
product_variation_value_images_supported | Determines if product variation value images are supported by connector. |
variation_products_supported | Determines if simple variation for product are supported. |
variation_combinations_supported | Determines if variation combinations for product are supported. |
set_articles_supported | Determines if set articles for product are supported. |
free_field_supported | Determines if custom fields are supported. |
needs_category_root | Determines if JTL-Wawi sends each time a root category on category.push. |
translated_attributes_supported | Determines if translated attributes are supported. |
send_all_acks | Determines if JTL-Wawi sends an ack for any pull requests. |
disable_statistics | Determines if JTL-Wawi has not to call statistics before pull call. |