Produtos
Produtos
Crie e atualize produtos com suporte para filiais, variações e modificadores.
POST
Você pode criar ou atualizar produtos em massa pelo SKU. Se um produto com o SKU especificado já existir, ele é atualizado; caso contrário, é criado. Os produtos podem ser atribuídos a uma filial, ter múltiplas variações e grupos de modificadores.Documentation Index
Fetch the complete documentation index at: https://docs.jelou.ai/llms.txt
Use this file to discover all available pages before exploring further.
O ID da sua loja no Jelou Shop.
Lista de produtos a criar ou atualizar (máx. 500 por requisição).
Campos do produto
Cada objeto dentro deresources aceita os seguintes campos:
Identificador único do produto (máx. 255 caracteres).
Nome do produto (máx. 255 caracteres).
Preço do produto (mín. 0).
Descrição do produto.
Indica se o preço inclui impostos.
Taxa de imposto individual do produto (entre
0 e 100). Exemplo: 15 para 15%, 12 para 12%. Aplica-se apenas quando enable_per_product_tax está ativo na configuração da loja. Se não for enviado ou for 0, a taxa global da loja é usada.Status do produto (ativo/inativo).
Tipo de inventário:
limited ou unlimited.Quantidade disponível. Aplica-se apenas quando
stock_type é limited.URL do produto na sua loja (máx. 2048 caracteres).
Tipo de desconto:
value (valor fixo) ou percentage.Valor do desconto (mín. 0).
Lista de nomes de categorias. São criadas automaticamente se não existirem.
Lista de URLs públicas de imagens do produto.
Habilita um campo de nota na página de detalhe do produto, permitindo que o cliente adicione um comentário ao adicionar o produto ao carrinho (ex.: “Sem cebola”, “Embrulhar para presente”).
Texto placeholder exibido no campo de nota (máx. 255 caracteres). Se não especificado, um texto genérico padrão é usado.
Código da filial à qual o produto é atribuído. A filial deve já existir.
Lista de variações do produto.
Grupos de modificadores do produto (adicionais). Comum em delivery de comida (ex.: “Escolha sua Bebida”, “Escolha seus Molhos”). Se o campo estiver ausente, os modificadores existentes são preservados. Se for um array vazio
[], todos os modificadores são excluídos. Se tiver dados, os modificadores são completamente substituídos.Os modificadores são armazenados no produto e retornados automaticamente em todos os endpoints que retornam produtos.
Exemplo completo
Este exemplo cria três produtos: uma camiseta com variações de tamanho, uma calça simples e uma pizza com grupos de modificadores.Substitua
{app_id} pelo ID da sua loja e <API_KEY> pelo token fornecido pelo Jelou.Comportamento
Processamento assíncrono
Processamento assíncrono
O endpoint retorna
202 Accepted imediatamente. Os produtos são processados em segundo plano.Filial inexistente
Filial inexistente
Se o código da filial não corresponder a nenhuma filial da loja, o produto é criado sem atribuição de filial. Nenhum erro é produzido.
Categorias automáticas
Categorias automáticas
Se uma categoria não existir, ela é criada automaticamente dentro da loja e da filial correspondente.
Imagens assíncronas
Imagens assíncronas
As imagens são baixadas e processadas em segundo plano após a criação do produto.
Variações por SKU
Variações por SKU
As variações são identificadas pelo SKU. Se uma variação com esse SKU já existir, ela é atualizada em vez de criar uma nova.
Modificadores
Modificadores
Se
modifier_groups estiver ausente no payload, os modificadores existentes são preservados. Se for um array vazio [], todos os modificadores são excluídos. Se tiver dados, os modificadores são completamente substituídos.Erros de validação
Se os dados não atenderem às regras de validação, a API responde com422 e detalha os campos com erros.
Mensagens de erro comuns
Mensagens de erro comuns
| Campo | Mensagem |
|---|---|
resources | Pelo menos um produto é obrigatório. |
resources | Não é possível processar mais de 500 produtos de uma vez. |
resources.*.sku | Cada produto deve ter um SKU. |
resources.*.name | Cada produto deve ter um nome. |
resources.*.price | Cada produto deve ter um preço. / O preço não pode ser negativo. |
resources.*.stock_type | O tipo de estoque deve ser limited ou unlimited. |
resources.*.images.* | Cada imagem deve ser uma URL válida. |
resources.*.variations.*.stock_type | O tipo de estoque da variação deve ser limited ou unlimited. |
resources.*.variations.*.stock | O estoque da variação deve ser um inteiro. / Não pode ser negativo. |
resources.*.modifier_groups.*.code | Cada grupo de modificadores deve ter um código. |
resources.*.modifier_groups.*.name | Cada grupo de modificadores deve ter um nome. |
resources.*.modifier_groups.*.options | Cada grupo de modificadores deve ter pelo menos uma opção. |
resources.*.modifier_groups.*.options.*.code | Cada opção de modificador deve ter um código. |
resources.*.modifier_groups.*.options.*.name | Cada opção de modificador deve ter um nome. |
resources.*.tax | A taxa de imposto deve ser um número. |
resources.*.tax | A taxa de imposto não pode ser negativa. |
resources.*.tax | A taxa de imposto não pode exceder 100. |
Limites
- Máximo de 500 produtos por requisição.
- Máximo de 10.000 produtos por janela de 60 segundos por loja (rate limit). Se excedido, a API responde com
429 Too Many Requests. - Todos os produtos são validados antes de serem processados.