Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...


Description of concepts behind authentication system and how to prepare your own security.
{
"dictionary": [
{
"id": "value",
"label": "Presentation label"
}
]
}{
"dictionary": [
{
"id": "description",
"label": "Description attribute",
"type": "TEXT_AREA|TEXT"
}
]
}{
"dictionary": [
{
"id": "description",
"label": "Description attribute",
"allows_merging": true
}
]
}{
"shared_secret": "your_app_installation_shared_secret"
}Full reference of Manifest file.
{
"name": "My custom App",
"description": "My custom App description",
"version": "0.1.0",
"compatible": "0.0.0",
"configuration_schema": [
{
"title": "Connection",
"type": "object",
"properties": {
"apiKey": {
"type": "string",
"title": "API key",
"propertyOrder": 1
}
},
"required": [
"apiKey"
]
},
{
"title": "Settings",
"type": "object",
"properties": {
"setting": {
"type": "string",
"title": "Specific app setting",
"propertyOrder": 1
}
},
"required": [
"setting"
]
}
],
"features": [
"synchronization",
"synchronization_full",
"synchronization_file_download",
"synchronization_file_download_latest"
],
"events": [
"product_created",
"product_updated",
"product_deleted",
"synchronization_ended",
"app_uninstalled"
],
"icon": "data:image/webp;base64,UklGRsAFAABXRUJQVlA4ILQFAACwLQCdASoIAQgBPpFIoEulpKMhpFb4OLASCWVu4XSZz39d84G2/0j8LdH4ePpu0QehvzAP0K/3n9P6yHmF/mHTO/2XqHf9XqQPQg6WT9h8I9/zM4Xvm7T3+A3tolr1x1F/0Vg126lTUDoHQOgdA6B0DoHQOgdA6B0DoHQOgdA6B0DoHQOgdA6B0DoHQOgdA5YhX87OLqYej4fP5yIn49Vg7edLvNQxEgQalakkLTjaZWmeCj7XffMI5IYlK0H7LlDHGTFhS6vTeEXq852czXpeRmXsxCi0hiYJG9C0UX9wFkJ6wZ03+QSxDeEXuSwN4yHW16ggnSEcEzOCjkjao/OEhI842ptUF9WjpAQeuoViARullbWalo2TJGbhF7ozRavokygEYnRBuOaQQEt+I8zEZWgn7Saf6ji042l91UXREER4l7n0b5uWuySXuk6B0DrCpKm1NqbU2ptTam1NqbU2ptTam1NqbU2ptTam1NqbU2ptTalgAAD+9lD2Zb//9dx/53H/ncZmgmWCEYsIAAAABy+r8RtwslSEv0snvKmjf+wInhYkZ69wA2wOi6vvlXllaLZ/sfosQCfzDV3EhuLH28SIxv98IkoczaEb3+Pl/8lD7E5cjhfvtAqKX91uhXb/8+/jjTWZYnNDQcQpn7Qffa8BGDhmqHf/M7cbE1vw/J5Kvr6Ds9cY1vA/6oJs/W/ARFbYq46Wx7Cmni4CYRb9V7U2kNsAddu0pNKwqOmkJpIX91ey5qNB4dRRyvDmAMF8ftrTHLXBJXZvtFHIIQOWL8iyHGTBt7DyAeLbHpUatyM+BJPKf8P1fA/HxZ9ats9DiutJzmji9J0V68O26e8IJEfNt7aZe2yLrDPDpGUk/2hf+HncO7gxhdoMOUgx2pMGdkYG4lVEZM0RL3QQcS4F1rN5z+6DmeJ5QhrmEbZuomukKdaYrwLcEQOV4RJ2exJt2rh6tC7Vn1ghzf8Ju3d+zm0AU79dzF3aVBmQMgP7MJ+Jxyb3ZCnuWtoG+o1hIs3/UTjIAYfTcrU2YC0/tamgX46tYj/3wTjU73Foj+ihuOQfk0Jo1GjTBMU8mnJ4A2JMmrIPKskquNRO09Kyo64HIvPDuggb8efQoVvLEyvn1wKzChX5nmvAENOVMBlHEsM+1b4h+8+v+W9Drw9X8o1wL04LfPxnBlY/8hYE3j1tlvjbo0J3YuV4Ih8vfSb63IcJmPYhRdHXavcpv+WMVV//86gH9wjqzpqdZG+Twfz722biI4aGAxGfeH/O/CILnplEgyXU0eySpNflC2JJso1d5Eyiue8eMje4XM65KS/8Kz16F2wYJgGfjlC+YgYXnlaX8x29FYeIiWivNG3zvahM5k3LTiE90cgsZnPH0rCLRe8OuHIFGfeWCv7exWhddIf3YekuFg4n+HY999JzYmmgFBwooH/lM16Z/MdSU7JG9ahFC4ywu0MxIfhQyOSvt05rW6ts7L6QmJ+gFjKsod3FudEjADbQHjhVN/Gb1KtyknKXXrTr6hmgEuFb3TD0tyv4MXxJuoTaeiWcygV7WMVtJWfb80UcJ4f+NQe7OJp5P7H7w5e4jMSIMbQFGEkyOzi0xw+FFdOso6ZQaqqBdqeCB9Z9TdrQDwdfihNr4H+BGO4xrdLk3jAGRACNjN+yBZx5TYeRjWTDFZXpnnUlECHlvCzRtWAuZf19qOKzDsy4ypJ/N28ilq4e9TEykVocV5tnf5pGcHSza3EAWyBrWTEPj7k3JetvhbuASW2M2BRBZk+GtI3RsTSYQnWV77fANxGp1vIufGmRj/QxF9w1umS/BUIpkt9TAArXG6USpH7V9AFA377J8BS6p8wMUmcsHCymFOuM1l0BnEnGP+o13bk9uwHkx2k4g6AMXR6ZnnzdQhlB0lsHhdGROJnO3dxQgKhcojXvVPlrLX8whSU6gAAAAAAAAA=="
}



The list of recent and upcoming breaking changes
{
"name": "app_installed"
}{
"name": "app_uninstalled"
}
{
"configuration_schema": [
{
"title": "Connection",
"type": "object",
"properties": {
"token": {
"type": "string",
"title": "API token",
"widget": "password",
"propertyOrder": 1
}
},
"required": [
"token"
]
},
{
"title": "Settings",
"type": "object",
"properties": {
"setting1": {
"type": "string",
"title": "setting 1",
"propertyOrder": 1
},
"setting2": {
"type": "string",
"title": "setting 2",
"propertyOrder": 1
}
},
"required": [
"text"
]
}
]
}[
{
"token": "secret API token"
},
{
"setting1": "user input text 1",
"setting2": "user input text 2"
}
]{
"index": 0,
"configuration": {
"text": "user input text"
}
}{
"type": "object",
"properties": {
"index": {
"type": "integer",
"description": "The index of the configuration step from configuration schema."
},
"configuration": {
"type": "object",
"description": "The form data according to configuration schema."
}
},
"required": [
"index",
"configuration"
]
}{
"title": "Form validation errors.",
"detail": "Token for API is not valid",
"violations": [
{
"propertyPath": "token",
"title": "Token for API is not valid",
"template": "Token for %parameter% is not valid",
"parameters": {
"%parameter%": "API"
}
}
]
}{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of an error."
},
"detail": {
"type": "string",
"description": "Detailed errors description."
},
"violations": {
"type": "array",
"description": "The list of violations.",
"items": {
"type": "object",
"properties": {
"propertyPath": {
"type": "string",
"description": "Path to the field the violation applies"
},
"title": {
"type": "string",
"description": "Ready to use message"
},
"template": {
"type": "string",
"description": "Template of the message"
},
"parameters": {
"type": "object",
"description": "Parameters of the template"
}
}
}
}
},
"required": [
"index",
"configuration"
]
}A place where the synchronization business logic is implemented
{
"custom_message": "your custom error message",
"retryable": false
}{
"name": "attribute_created",
"resource_id": {
"id": "Attribute_code",
"type": "attribute_code"
},
"synchronization": {
"resource_customs": null,
"events": []
}
}{
"name": "attribute_deleted",
"resource_id": {
"id": "Attribute_code",
"type": "attribute_code"
},
"synchronization": {
"resource_customs": {"your": "custom"},
"events": []
}
}{
"name": "category_created",
"resource_id": {
"id": "Category_code",
"type": "category_code"
},
"synchronization": {
"resource_customs": null,
"events": []
}
}{
"name": "category_updated",
"resource_id": {
"id": "Category_code",
"type": "category_code"
},
"synchronization": {
"resource_customs": {"your": "custom"},
"events": []
}
}{
"name": "category_deleted",
"resource_id": {
"id": "Category_code",
"type": "category_code"
},
"synchronization": {
"resource_customs": {"your": "custom"},
"events": []
}
}{
"name": "product_created",
"resource_id": {
"id": "Product SKU",
"type": "sku"
},
"synchronization": {
"resource_customs": null,
"events": []
}
}
{
"name": "product_updated",
"resource_id": {
"id": "Product SKU",
"type": "sku"
},
"synchronization": {
"resource_customs": {"your": "custom"},
"events": []
}
}{
"name": "product_updated",
"resource_id": {
"id": "Product SKU",
"type": "sku"
},
"synchronization": {
"resource_customs": {"your": "custom"},
"events": []
}
}{
"name": "synchronization_started"
}{
"name": "synchronization_started"
}{
"resource_customs": {
"id": 1,
"other_relevent_information": "here"
}
}
{
// (...) rest of the Manifest file
"configuration_schema": [
{
"title": "Configuration",
"type": "object",
"properties": {
"simpleText": {
"type": "string",
"title": "Just a text",
"propertyOrder": 1
},
"secret": {
"type": "string",
"title": "Secret password",
"widget": "password",
"propertyOrder": 2
},
"multilineText": {
"type": "string",
"title": "Multiline text",
"widget": "textarea",
"propertyOrder": 2
},
"simpleEnum": {
"type": "string",
"title": "Simple Enum",
"enum": [
"1",
"2"
],
"options": {
"enum_titles": [
"one",
"two"
]
},
"propertyOrder": 4
},
"enumMultiple": {
"items": {
"type": "string",
"enum": [
"one",
"two"
],
"options": {
"enum_titles": [
"Choice one",
"Choice two"
]
}
},
"minItems": 1,
"uniqueItems": true,
"type": "array",
"title": "Multiple choice enum",
"propertyOrder": 6
},
"dictionaryErgonodeEnum": {
"type": "string",
"title": "Dictionary Ergonode Enum",
"options": {
"enum_dictionary": "ergonode:languages"
},
"propertyOrder": 7
},
"dictionaryAppEnum": {
"type": "string",
"title": "Dictionary App Enum",
"items": {
"type": "string",
"options": {
"enum_dictionary": "app:app-dictionary"
},
"minItems": 1,
"uniqueItems": true
},
"propertyOrder": 8
},
"attributeMapping": {
"type": "array",
"title": "Attribute mapping",
"items": {
"title": "prototype",
"type": "object",
"properties": {
"ergonode": {
"type": "string",
"title": "ergonode",
"propertyOrder": 1
},
"app": {
"type": "string",
"title": "app",
"propertyOrder": 2
}
},
"required": [
"ergonode",
"app"
]
},
"widget": {
"type": "mapper",
"options": {
"ergonodeDictionary": "ergonode:attributes",
"appDictionary": "app:attributes"
}
},
"propertyOrder": 9
}
},
"required": [
"simpleText",
"secret",
"multilineText",
"simpleEnum",
"enumMultiple",
"dictionaryErgonodeEnum",
"dictionaryAppEnum",
"attributeMapping"
]
}
]
}[
{
"ergonode": "attribute_one",
"app": "attribute_two"
}
]









Detailed events containing data changes.
{
"type": "attribute_created",
"payload": {
"code": "attribute_code",
"type": "TEXT",
"scope": "local",
"name": [
{
"language": "en_GB",
"value": "This is the attribute name"
}
]
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"code": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["DATE", "FILE", "GALLERY",
},
"scope": {
"type": "string",
"enum": ["local", "global"]
},
"name": {
"type": "array",
"items": {
"type": "object",
"properties": {
"language": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"language",
"value"
]
}
}
},
"required": [
"code",
"type",
"scope",
"name"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "attribute_name_changed",
"payload": {
"name": [
{
"language": "en_GB",
"value": "This is the new attribute name"
}
]
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"name": {
"type": "array",
"items": {
"type": "object",
"properties": {
"language": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"language",
"value"
]
}
}
},
"required": [
"name"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "attribute_option_code_changed",
"payload": {
"option_code": "option_code",
"previous_option_code": "previous_option_code"
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"option_code": {
"type": "string"
},
"previous_option_code": {
"type": "string"
}
},
"required": [
"option_code",
"previous_option_code"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "attribute_option_created",
"payload": {
"option_code": "option_code",
"option_name": [
{
"language": "en_GB",
"value": "This is the option name"
}
]
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"option_code": {
"type": "string"
},
"option_name": {
"type": "array",
"items": {
"type": "object",
"properties": {
"language": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"language",
"value"
]
}
}
},
"required": [
"option_code",
"option_name"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "attribute_option_deleted",
"payload": {
"option_code": "option_code"
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"option_code": {
"type": "string"
}
},
"required": [
"option_code"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "attribute_option_name_changed",
"payload": {
"option_code": "option_code",
"option_name": [
{
"language": "en_GB",
"value": "This is the new option name"
}
]
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"option_code": {
"type": "string"
},
"option_name": {
"type": "array",
"items": {
"type": "object",
"properties": {
"language": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"language",
"value"
]
}
}
},
"required": [
"option_code",
"option_name"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "category_created",
"payload": {
"code": "category_code",
"name": [
{
"language": "en_GB",
"value": "This is the category name"
}
]
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "array",
"items": {
"type": "object",
"properties": {
"language": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"language",
"value"
]
}
}
},
"required": [
"code",
"name"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "attribute_name_changed",
"payload": {
"name": [
{
"language": "en_GB",
"value": "This is the new category name"
}
]
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "array",
"items": {
"type": "object",
"properties": {
"language": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"language",
"value"
]
}
}
},
"required": [
"code",
"name"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_added_to_category",
"payload": {
"category_code": "category_code"
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"category_code": {
"type": "string"
}
},
"required": [
"category_code"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_binding_added",
"payload": {
"attribute_code": "attribute_code"
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"attribute_code": {
"type": "string"
}
},
"required": [
"attribute_code"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_binding_removed",
"payload": {
"attribute_code": "attribute_code"
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"attribute_code": {
"type": "string"
}
},
"required": [
"attribute_code"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_child_added",
"payload": {
"child_sku": "Child sku",
"child_quantity": 2
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"child_sku": {
"type": "string"
},
"child_quantity": {
"type": "integer"
}
},
"required": [
"child_sku",
"child_quantity"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_child_quantity_changed",
"payload": {
"child_sku": "Child sku",
"child_quantity": 2
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"child_sku": {
"type": "string"
},
"child_quantity": {
"type": "integer"
}
},
"required": [
"child_sku",
"child_quantity"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_child_removed",
"payload": {
"child_sku": "Child sku"
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"child_sku": {
"type": "string"
}
},
"required": [
"child_sku"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_created",
"payload": {
"sku": "Product SKU",
"type": "SIMPLE-PRODUCT",
"category_codes": ["category_code"]
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"sku": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["SIMPLE-PRODUCT", "GROUPING-PRODUCT", "VARIABLE-PRODUCT"]
},
"category_codes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"sku",
"type",
"category_codes"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_removed_from_category",
"payload": {
"category_code": "category_code"
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"category_code": {
"type": "string"
}
},
"required": [
"category_code"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_value_added",
"payload": {
"attribute_code": "attribute_code",
"attribute_type": "TEXT",
"attribute_scope": "local",
"value": [
{
"language": "en_GB",
"translation": "This is the attribute value"
}
]
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"attribute_code": {
"type": "string"
},
"attribute_type": {
"type": "string",
"enum": ["DATE", "FILE", "GALLERY", "IMAGE", "MULTI_SELECT", "NUMERIC", "PRICE", "PRODUCT_RELATION", "SELECT", "TEXT_AREA", "TEXT", "UNIT"]
},
"attribute_scope": {
"type": "string",
"enum": ["local", "global"]
},
"value": {
"oneOf": [
{
"type": "string",
"description": "For global attribute of type DATE, SELECT, TEXT_AREA and TEXT"
},
{
"type": "number",
"description": "For global attribute of type NUMERIC, PRICE and UNIT"
},
{
"type": "array",
"items": {
"type": "string"
},
"description": "For global attribute of type MULTI_SELECT and PRODUCT_RELATION"
},
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"path": {
"type": "string"
}
},
"required": [
"url",
"path"
],
"description": "For global attribute of type IMAGE"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"path": {
"type": "string"
}
},
"required": [
"url",
"path"
]
},
"description": "For global attribute of type FILE and GALLERY"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"language": {
"type": "string"
},
"value": {
"oneOf": [
{
"$ref": "#/components/schemas/AttributeValue"
}
]
}
},
"required": [
"language",
"value"
]
},
"description": "For local attributes same types as for global wrapped in translation array"
}
]
}
},
"required": [
"attribute_code",
"attribute_type",
"attribute_scope",
"value"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_value_changed",
"payload": {
"attribute_code": "attribute_code",
"attribute_type": "TEXT",
"attribute_scope": "global",
"value": "This is the attribute value"
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"attribute_code": {
"type": "string"
},
"attribute_type": {
"type": "string",
"enum": ["DATE", "FILE", "GALLERY", "IMAGE", "MULTI_SELECT", "NUMERIC", "PRICE", "PRODUCT_RELATION", "SELECT", "TEXT_AREA", "TEXT", "UNIT"]
},
"attribute_scope": {
"type": "string",
"enum": ["local", "global"]
},
"value": {
"oneOf": [
{
"type": "string",
"description": "For global attribute of type DATE, SELECT, TEXT_AREA and TEXT"
},
{
"type": "number",
"description": "For global attribute of type NUMERIC, PRICE and UNIT"
},
{
"type": "array",
"items": {
"type": "string"
},
"description": "For global attribute of type MULTI_SELECT and PRODUCT_RELATION"
},
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"path": {
"type": "string"
}
},
"required": [
"url",
"path"
],
"description": "For global attribute of type IMAGE"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"path": {
"type": "string"
}
},
"required": [
"url",
"path"
]
},
"description": "For global attribute of type FILE and GALLERY"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"language": {
"type": "string"
},
"value": {
"oneOf": [
{
"$ref": "#/components/schemas/AttributeValue"
}
]
}
},
"required": [
"language",
"value"
]
},
"description": "For local attributes same types as for global wrapped in translation array"
}
]
}
},
"required": [
"attribute_code",
"attribute_type",
"attribute_scope",
"value"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_value_removed",
"payload": {
"attribute_code": "attribute_code",
"attribute_type": "TEXT"
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"attribute_code": {
"type": "string"
},
"attribute_type": {
"type": "string",
"enum": ["DATE", "FILE", "GALLERY", "IMAGE", "MULTI_SELECT", "NUMERIC", "PRICE", "PRODUCT_RELATION", "SELECT", "TEXT_AREA", "TEXT", "UNIT"]
}
},
"required": [
"attribute_code",
"attribute_type"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_variant_added",
"payload": {
"variant_sku": "Variant SKU",
"binding_values": [
{
"attribute_code": "attribute_code",
"attribute_type": "SELECT",
"attribute_scope": "global",
"value": "attribute_option_code"
}
]
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"variant_sku": {
"type": "string"
},
"binding_values": {
"type": "array",
"items": {
"type": "object",
"properties": {
"attribute_code": {
"type": "string"
},
"attribute_type": {
"type": "string",
"enum": ["SELECT"]
},
"attribute_scope": {
"type": "string",
"enum": ["global"]
},
"value": {
"type": "string"
}
},
"required": [
"attribute_code",
"attribute_type",
"attribute_scope",
"value"
]
}
}
},
"required": [
"variant_sku",
"binding_values"
]
}
},
"required": [
"type",
"payload"
]
}{
"type": "product_variant_removed",
"payload": {
"variant_sku": "Variant SKU"
}
}{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of synchronization event."
},
"payload": {
"type": "object",
"description": "The detailed payload of the synchronization event.",
"properties": {
"variant_sku": {
"type": "string"
}
},
"required": [
"variant_sku"
]
}
},
"required": [
"type",
"payload"
]
}