Criar e sincronizar variações
Crie tipos, opções e combinações de variação (ex.: Cor × Tamanho) diretamente pela API — sem o lojista precisar montar nada no painel.
O modelo de variações
Na Sellit, um produto tem tipos de variação (ex.: COR, TAMANHO), cada tipo tem opções (ex.: AZUL, P) e o cruzamento delas forma as combinações — cada combinação (ex.: AZUL - P) tem SKU, preço e estoque próprios.
O PUT /api/v1/products/{id}/variants cria tudo isso de uma vez: tipos e opções que ainda não existem são criados automaticamente a partir do que você envia. É um upsert em lote — nada é apagado por omissão.
- •
1. Crie as variações com o PUT
Com escopo
products:write, envie osattributes(os tipos, na ordem) e a lista devariants. Oattributesno nível do produto vale para todos os itens:PUT /api/v1/products/{id}/variantscurl -X PUT https://app.sellitbr.com/api/v1/products/PROD_ID/variants \ -H "Authorization: Bearer SEU_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "attributes": "COR - TAMANHO", "variants": [ { "combination": "AZUL - P", "sku": "CAM-AZ-P", "price": 99.90, "quantity": 10 }, { "combination": "AZUL - M", "sku": "CAM-AZ-M", "price": 99.90, "quantity": 5 }, { "combination": "VERMELHO - P", "sku": "CAM-VM-P", "price": 109.90, "quantity": 8 } ] }'A resposta traz quantas combinações foram criadas, quantas atualizadas e os erros por item (se houver):
200 OK{ "created": 3, "updated": 0, "errors": [] } - •
2. (Alternativa) attributes por variação
Se preferir, omita o
attributesdo produto e repita-o em cada item — o resultado é idêntico. Útil quando itens diferentes têm conjuntos de tipos diferentes.PUT /api/v1/products/{id}/variants{ "variants": [ { "attributes": "COR - TAMANHO", "combination": "AZUL - P", "sku": "CAM-AZ-P", "price": 99.90 }, { "attributes": "COR - TAMANHO", "combination": "AZUL - M", "sku": "CAM-AZ-M", "price": 99.90 } ] } - •
3. Sincronize estoque depois pelo SKU
Uma vez criadas (com SKU), sincronize o saldo de cada variação diretamente pelo SKU — caso típico de ERP/dropshipping:
PATCH /api/v1/products/{id}/variants/{sku}/stockcurl -X PATCH https://app.sellitbr.com/api/v1/products/PROD_ID/variants/CAM-AZ-P/stock \ -H "Authorization: Bearer SEU_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "quantity": 20 }'
Regras de upsert
- Casamento: cada item é casado com uma combinação existente por
skuou, na falta dele, pelacombination(comparação sem diferenciar maiúsculas/minúsculas). Se casar, é atualizado; se não, é criado. - Criação:
attributessó é obrigatório para criar uma combinação nova. A quantidade de partes deattributestem que bater com a decombination(2 tipos → 2 valores, separados por-). - Atualização: ao atualizar uma combinação já existente você não precisa repetir
attributes— basta enviar os campos a mudar (price,quantity,sku). - Não destrutivo: combinações que você não enviar no payload permanecem intactas — o PUT nunca apaga variações por omissão.
- Campos por item:
combination(obrigatório para criar),sku,attributes,price(em reais) equantity(inteiro ≥ 0).
PATCH /api/v1/products/{id}/variants, casando por id (vindo do GET .../variants) ou sku. Use o PUT quando precisar criar a estrutura.