Geralmente as lojas utilizam a estrutura de um produto que varia por cor e tamanho. Exemplo:

"productDefinitions": [
                {
                    "productDefinitionID": 18,
                    "variationProperties": [
                        {
                            "metadataID": 40,
                            "field": "Size"
                        },
                        {
                            "metadataID": 44,
                            "field": "Color"
                        }
                    ],
                    "exceptions": []
                }
            ],

Analisando o exemplo acima estamos gravando os produtos na definição de produto cujo ID é 18.

"productDefinitions": [
                {
                    "productDefinitionID": 18,
                    "variationProperties": [
                        {

Já as informações de tamanho estão sendo gravadas no metadado 40 e as informações de cor no metadado 44.

{
                            "metadataID": 44,
                            "field": "Color"
                        }

Para este outro exemplo, temos uma integração onde os produtos não possuem variações sendo gravados em uma definição de produto que não possui atributos de variação.

"productDefinitions": [
                {
                    "productDefinitionID": 4,
                    "variationProperties": [],
                    "exceptions": []
                }
            ],

Caso a loja necessite inserir seus produtos em diferentes definições de produto, segue um exemplo funcional.

"productDefinitions": [
    {
        "productDefinitionID": 17,
        "variationProperties": [
            {
                "metadataID": 44,
                "field": "Color"
            },
            {
                "metadataID": 40,
                "field": "Size"
            }
        ],
        "exceptions": []
    },
    {
        "productDefinitionID": 10,
        "variationProperties": [
            {
                "metadataID": 11,
                "field": "Color"
            },
            {
                "metadataID": 12,
                "field": "Size"
            }
        ],
        "exceptions": [
            {
                "field": "Brand",
                "operator": "=",
                "value": "Microsoft"
            }
        ]
    }
],

Veja que no exemplo acima estamos utilizando uma exception, onde utilizamos o campo marca para poder configurar tal exception. Dessa forma, todo produto em que a marca for igual a Microsoft gravará uma definição específica.

"exceptions": [
            {
                "field": "Brand",
                "operator": "=",
                "value": "Microsoft"
            }
        ]
  • Sem rótulos