Módulo exclusivo
Esse módulo é de uso exclusivo de parceiros que operam com canais de mercado e não está disponível para todos os desenvolvedores.
Caso tenha interesse em utilizar funções dessa API, entre em contato com time de atendimento.
Visão Geral
Use a API de Item para enviar e gerenciar produtos. O iFood processa os dados com base em regras de disponibilidade antes de exibi-los no aplicativo.
Estratégia de integração (POST vs PATCH)
ATENÇÃO: Use POST apenas para criar itens. O uso incorreto para atualizações degrada a performance da integração.
Para otimizar a performance, utilize os métodos HTTP conforme descrito abaixo:Método POST (Criação):
Use APENAS para cadastrar novos itens ou reativar itens inativos.
Não reenvie o catálogo completo se não houver novos produtos.
Método PATCH (Atualização):
Use para qualquer atualização de itens existentes (preço, estoque, detalhes).
Envie apenas os dados que sofreram alteração.
Limites de processamento e volumetria
Para assegurar a ingestão rápida de dados e evitar filas de processamento, siga rigorosamente a regra abaixo:Regra de ouro: Planeje a orquestração dos envios para não exceder 25% do total de itens do catálogo em uma janela de 35 minutos.Impacto: O cumprimento desta métrica é essencial para garantir a estabilidade da performance e a agilidade na atualização dos dados.Exemplo: Se o catálogo possui 10.000 itens, envie no máximo 2.500 itens a cada 35 minutos.Bloqueio: A API retorna o status 429 Too Many Requests caso o limite seja excedido. Se receber esse erro, aguarde o início da próxima janela de tempo.
OBSERVAÇÃO: Se os campos active e prices.price não forem enviados, receberão os valores padrão false e 0, respectivamente. Isso fará com que o item não seja disponibilizado no catálogo.
1.1. Parâmetro reset
Quando você envia reset=true, o iFood desativa automaticamente todos os produtos ausentes no payload.
ATENÇÃO: Esta ação é destrutiva.
Quando usar:
Limpar produtos de teste da base
Remover itens integrados indevidamente
Comportamento:
Se nenhum produto for identificado para desativação, o processo não será executado.Exemplo de Payload:
400 Bad Request: Erro na requisição (validação de dados)
429 Too Many Requests: Limite de requisições excedido
500 Server Error: Erro no servidor
Campos da requisição:
Campo
Tipo
Obrigatório
Descrição
barcode
string
Sim
EAN ou código interno de balança
name
string
Sim
Nome do produto
plu
string
Não
Código interno PLU
active
boolean
Não
Define se o item está ativo para venda
details
object
Não
Detalhes do produto (categorização, marca, volume, unidade, imagem, descrição)
prices
object
Não
Objeto contendo price (preço) e promotionPrice (preço promocional)
scalePrices
array
Não
Array com regras de preço escalonado por quantidade
inventory
object
Não
Objeto contendo stock (quantidade em estoque)
multiple
object
Não
Objeto para configuração de múltiplos (exclusivo iFood Shop) com originalEan e quantity
channels
array
Não
Canais de venda: ifood-app, ifood-shop
PATCH Item Integration
Descrição: Atualização parcial recomendada se o produto já foi enviado anteriormente e nem todos os campos exigem alterações. Permite enviar apenas os campos que deseja atualizar.cURL de exemplo:
Aplicação imediata: Promoções neste módulo não utilizam agendamento (datas de início/fim). O desconto entra em vigor imediatamente após o envio.Atualização: Para alterar um valor promocional, reenvie o item via PATCH com o novo preço.Remoção: Para encerrar uma promoção, envie os campos de valor promocional como null.
Validação e impacto
Verificação: Confirme a aplicação do desconto na seção de Catálogo do Portal do Parceiro.Módulo Order: Os pedidos recebidos conterão automaticamente o preço final com desconto aplicado (preço "por" ou atacado).
Mecânica 'DE-POR'
Configure preços promocionais enviando o valor original e o valor com desconto.Como configurar:
prices.price: Valor original (preço "DE")
prices.promotionPrice: Valor promocional (preço "POR")
Regras:
O desconto deve ser superior a 5%
Para remover a promoção, envie prices.promotionPrice: null
Para parceiros que já integram seus itens pela SiteMercado Service API a migração para a Merchant API traz muitas similaridades que facilitam a mudança de integração.