Docs Produtos - API
O envio dos produtos é realizado através de nossa chamada de produtointegracao, onde após recebermos o json os itens passarão por nossas regras de disponibilidade e posteriormente eles subirão ao APP
Os métodos de envio são os seguintes:
Este método é utilizado para integração de novos produtos ou para atualizá-los.
Rate Limit: 30 minutos.
| Campo | Valor | Tamanho | Obrigatório |
|---|---|---|---|
"idLoja" | integer | 25 | Sim |
"departamento" | string | 100 | Sim |
"categoria" | string | 100 | Sim |
"subCategoria" | string | 100 | Não |
"marca" | string | 100 | Não |
"unidade" | string | 100 | Não |
"volume" | string | 100 | Não |
"codigoBarra" | string | 15 | Sim |
"nome" | string | 150 | Sim |
"valor" | number | 10.4 | Sim |
"valorPromocao" | number | 10.4 | Não |
"valorAtacado" | number | 10.4 | Não |
"valorCompra" | number | 10.4 | Não |
"quantidadeEstoqueAtual" | number | 10.4 | Sim |
"quantidadeEstoqueMinimo" | number | 10.4 | Não |
"quantidadeAtacado" | number | 10.4 | Não |
"descricao" | string | 8000 | Não |
"ativo" | boolean | 1 | Sim |
"plu" | string | 20 | Não |
"validadeProxima" | boolean | 1 | Não |
"imageURL" | string | 150 | Não |
"multiploEanOriginal" | string | 15 | Não |
"multiploQtd" | integer | 10 | Não |
Método utilizado somente para atualizar produtos já enviados, com o intuito de modificar uma informação específica do item como por exemplo estoque e preço.
Rate Limit: 30 minutos.
Sua estrutura é a mesma do método post porém somente com os campos idLoja e codigoBarra obrigatórios.
| Campo | Valor | Tamanho | Obrigatório |
|---|---|---|---|
"idLoja" | integer | 25 | Sim |
"departamento" | string | 100 | Não |
"categoria" | string | 100 | Não |
"subCategoria" | string | 100 | Não |
"marca" | string | 100 | Não |
"unidade" | string | 100 | Não |
"codigoBarra" | string | 15 | Sim |
"nome" | string | 150 | Não |
"valor" | number | 10.4 | Não |
"valorPromocao" | number | 10.4 | Não |
"valorAtacado" | number | 10.4 | Não |
"valorCompra" | number | 10.4 | Não |
"quantidadeEstoqueAtual" | number | 10.4 | Não |
"quantidadeEstoqueMinimo" | number | 10.4 | Não |
"quantidadeAtacado" | number | 10.4 | Não |
"descricao" | string | 8000 | Não |
"ativo" | boolean | 1 | Não |
"plu" | string | 20 | Não |
"validadeProxima" | boolean | 1 | Não |
"imageURL" | string | 150 | Não |
"multiploEanOriginal" | string | 15 | Não |
"multiploQtd" | integer | 10 | Não |
Sobre o método PATCH
Produtos internos são aqueles que o código existe apenas naquela loja/rede (de 1 até 7 dígitos) FLVs, Cortes, Próprios; Em alguns casos é necessário vincular foto, descrição e como será vendido na plataforma (Precesso realizado no Portal do Parceiro)
[
{
"idLoja": 001,
"departamento": "Açougue",
"categoria": "Cortes",
"subCategoria": "Carnes Frescas",
"marca": "Contra Filé Prime",
"unidade": "KG",
"volume": "1KG",
"codigoBarra": "102030",
"nome": "Contra Filé KG",
"valor": 89.99,
"valorPromocao": 0,
"valorAtacado": 0,
"valorCompra": 0,
"quantidadeEstoqueAtual": 3.756,
"quantidadeEstoqueMinimo": 0,
"quantidadeAtacado": 0,
"descricao": "Contra Filé KG",
"ativo": true,
"plu": "101030",
"validadeProxima": false,
"imageURL": "https://site.com/imagem.jpg"
}
]valor: Valor do produto.
valorPromocao: Valor do produto em promoção.
Lembrando que o valor de venda será representado pelo menor enviado nos campos.
[
{
"idLoja": 001,
"departamento": "PERECIVEIS",
"categoria": "FRIOS",
"subCategoria": "APRESUNTADO",
"marca": "SADIA",
"unidade": "KG",
"volume": "1KG",
"codigoBarra": "7891231231231",
"nome": "APRESUNTADO SADIA 1KG",
"valor": 19.99,
"valorPromocao": 14.99,
"valorAtacado": 0,
"valorCompra": 0,
"quantidadeEstoqueAtual": 5.492,
"quantidadeEstoqueMinimo": 0,
"quantidadeAtacado": 0,
"descricao": "APRESUNTADO SADIA 1KG",
"ativo": true,
"plu": "101010",
"validadeProxima": false,
"imageURL": "https://site.com/imagem.jpg"
}
]É uma dinâmica de venda onde a loja pode vender embalagens com produtos EAN, ou seja, embalagens feitas manualmente pelo lojista ou embalagens da própria industria.
Abaixo um exemplo de como deve ser integrado:
codigoBarra < código interno do Seller > Código criado pela Loja
multiploEanOriginal: < Código EAN do produto Unitário >
multiploQtd: < Quantidade de itens na embalagem criada pela loja >
plu: Código interno do produto para controle do pacote. Replicar o campo CódigoBarra acrescentando um "_" underline no final do codigo junto a quantidade (Ex.: 1234_12).
É obrigatório o utilizar o preenchimento do PLU contendo o underline no final do codigo junto a quantidade do item.
[
{
"idLoja": 001,
"departamento": "Bebidas Alcoólicas",
"categoria": "Cerveja",
"subCategoria": "Cerveja Nacional",
"marca": "Heineken",
"unidade": "Embalagem",
"volume": "12un",
"codigoBarra": "1234",
"nome": "Cerveja Heineken Lata 473Ml com 12Un",
"valor": 126,
"valorPromocao": 0,
"valorAtacado": 0,
"valorCompra": 0,
"quantidadeEstoqueAtual": 300,
"quantidadeEstoqueMinimo": 0,
"quantidadeAtacado": 0,
"descricao": "Cerveja Heineken Lata 473Ml com 12Un",
"ativo": true,
"plu": "1234_12",
"validadeProxima": false,
"imageURL": "https://site.com/imagem.jpg",
"multiploEanOriginal": "7896045506248",
"multiploQtd": 12
}
]Com o envio realizado siga o passo a passo de validação dos itens integrados atraves do link abaixo:
Logo após entendido e configurado o primeiro envio, é essencial que o parceiro parametrize o envio periódico dos produtos para as lojas.
Sugerimos que seja enviado inicialmente uma carga completa contendo todos os produtos praticados em venda que devem ser disponibilizados na plataforma, e nas demais cargas apenas o envio dos produtos que sofreram atualizações (estoque, preço, inativações e etc.).
O parceiro não deve parametrizar cargas contínuas de todos os produtos da loja nas integrações. Esta pratica causa alto impacto no processamento dos dados, o que pode impactar no processo de integrações da loja e das demais ativas.
Nossa recomendação é que as cargas completas não ultrapassem o valor de 10mb.
Caso seja indentificado um alto envio de produtos na integração, a credencial estará sujeita a bloqueios prévios até que ocorra normalização dos envios.
Durante as atualizações é essencial que sejam enviadas as posições de estoque 0 e/ou negativo sempre que necessário, assim evitando rupturas e cancelamentos de pedidos. Porque isto é importante:
Estoque 0 - Nas plataformas já temos funcionalidades para tratar esta posição de estoque, quando o item é enviado com estoque 0, o mesmo sai automaticamente de venda. Por este motivo é importante que esta informação seja enviada sempre.
Estoque negativo - Armazenamos as movimentações dos itens mesmo que negativamente, pois a partir dela podemos validar se o item em loja esta sendo movimentado, mesmo que seu valor não tenha sido alterado para um valor positivo ele pode estar sendo alterado negativamente como -1,-2,-3 e assim por diante.
Markup - Importamos do sistema na integração os valores dos produtos praticados em loja, o valor do MARKUP é configurado na plataforma iFood no ato da ativação de acordo com a negociação comercial no fechamento do contrato. O parâmetro do markup é global (o mesmo valor para todos os produtos de forma percentual).
O 'reset = true' é uma ação destrutiva, portanto deve ser utilizado somente com o intuito de limpar testes da base e/ou eliminar itens integrados indevidamente.
Exemplo de uso No cenário onde a loja detém 20.000 produtos ativos e deseja retirar vários itens que não possui mais informações em sua base, o sistema deve primeiro enviar uma carga completa respeitando o tamanho de 10mb de itens e utilizar o método "RESET=true" para limpar a base, caso a carga completa ultrapasse o limite será necessário dividir os envios, lembrando de que o parâmetro de reset será enviado somente na primeira....
Posteriormente, enviar as cargas de produtos apenas com atualizações no intervalo sugerido de 30 minutos sem o parâmetro "RESET=true" nos cenários relacionados abaixo:
Alteração de Preço, estoque, descrição e etc. dos produtos;
Atualizações para inserção de novos produtos;
Inativações de produtos.
Mais detalhes na referência do endpoint
Caso sejam pontuados problemas com o uso do parâmetro e os mesmos não forem corrigidos, as integrações das lojas podem ser desativadas até que ocorra o ajuste pelo responsável.
Para rotas de envio de produtos possuimos um intervalo padrão de 30 minutos entre cargas.
Em casos de múltiplas tentativas de envios dentro do intervalo padrão, a credencial estará sujeita a bloqueios prévios até que ocorra normalização dos envios.