Crie e gerencie o cardápio da sua loja no iFood via API. A API de Catálogo sincroniza categorias, itens e complementos em tempo real com Entrega, Cardápio Digital e Consumo no Local, com preços e disponibilidade independentes por canal.Se você está integrando um POS existente, use a API para espelhar seu cardápio no iFood e manter preços, status e estoque atualizados em todas as plataformas.
Antes de começar
Você precisa de:
merchantId — ID da sua loja, fornecido no onboarding.
accessToken — Token Bearer para autenticação. Veja Autenticação para obter o seu.
Nos exemplos abaixo, substitua YOUR_MERCHANT_ID e YOUR_ACCESS_TOKEN pelos seus valores.
Começar agora
Siga os 5 passos práticos abaixo para criar seu primeiro catálogo, categoria, item e complementos. Para conceitos detalhados, consulte Como funciona.
Passo 1: Listar seus catálogos
Toda loja já tem pelo menos um catálogo criado. Liste-os para obter o catalogId que você usará nos próximos passos:
Crie uma categoria dentro do catálogo com POST /categories. O campo template define o tipo de categoria — use DEFAULT para itens comuns (lanches, bebidas, sobremesas); use PIZZA para estruturas especiais de pizza.
Guarde o id retornado — você usará como categoryId no próximo passo.
Passo 3: Criar um item
Crie um item com PUT /items usando o categoryId retornado no Passo 2.
Hierarquia do payload
Antes de criar, compreenda a estrutura aninhada do payload de PUT /items:
item → metadados do item (id, preço, status, categoryId)├── products → produtos usados no item e nos complementos├── optionGroups → grupos de complementos (bebidas, tamanhos)└── options → opções dentro dos grupos (Coca-Cola, Suco)
Todos os quatro campos são sempre enviados, mesmo que optionGroups e options estejam vazios.
Geração e padrão de IDs
Os campos id (para itens, produtos e opções) são gerados por você e devem seguir o padrão UUID v4. Cada id deve ser único dentro do merchant.Se você enviar um id que não esteja no formato UUID v4, a API retornará um erro 404. Exemplos de UUIDs v4 válidos:
550e8400-e29b-41d4-a716-446655440000
123e4567-e89b-12d3-a456-426614174000
O campo externalCode é seu identificador customizado para integração com o POS. Diferentemente do id, o externalCodenão precisa seguir o padrão UUID — é uma string arbitrária que você controla. Mantenha um padrão consistente nele. Exemplos válidos:
BURGER_001, COKE_001, COLDRINK_GROUP
xburger-default, frappuccino-grande
Esses IDs são essenciais: você os usará para referenciar o item em atualizações futuras.
O `id` deve ser UUID v4 (obrigatório). O `externalCode` é opcional mas recomendado para facilitar a sincronização bidirecional com seu POS e evitar duplicatas. Não envie um `id` em outro formato — você receberá um erro `404`.
PUT /items é idempotente: cada chamada substitui o item inteiro. Para adicionar complementos (bebidas, tamanhos, extras), reenvie a estrutura completa do item com os campos optionGroups e options preenchidos.