Nova API V1.0 · Referência
Consultar cardápio publicado
Retorna as seções vendidas ao cliente, seus produtos e, opcionalmente, os grupos de complementos. Com OAuth, exige o escopo `menu:read`; a sessão do restaurante também é aceita sem escopos de integração. O contrato remove registros excluídos, categorias de embalagem e espelhos internos do iFood. Preços, disponibilidade e apresentação são agrupados em objetos. `pricing.resolved.base` aplica a prioridade dos preços do canal; `pricing.resolved.minimum` soma as escolhas obrigatórias. Disponibilidade avalia canal, horários, esgotamento e escolhas válidas. Não retorna objeto de restaurante nem aliases do contrato anterior. Não substitui validação de checkout, abertura da loja ou capacidade de entrega.
Retorna as seções vendidas ao cliente, seus produtos e, opcionalmente,
os grupos de complementos. Com OAuth, exige o escopo menu:read; a
sessão do restaurante também é aceita sem escopos de integração.
O contrato remove registros excluídos, categorias de embalagem e
espelhos internos do iFood. Preços, disponibilidade e apresentação são
agrupados em objetos. pricing.resolved.base aplica a prioridade dos
preços do canal; pricing.resolved.minimum soma as escolhas obrigatórias.
Disponibilidade avalia canal, horários, esgotamento e escolhas válidas.
Não retorna objeto de restaurante nem aliases do contrato anterior.
Não substitui validação de checkout, abertura da loja ou capacidade de entrega.
Authorization
bearerAuth Access token OAuth obtido em POST /oauth/token ou sessão autenticada
do restaurante emitida pelo login Takeat. Tokens OAuth exigem os
escopos de cada operação. A sessão não usa escopos de integração e
fica limitada ao restaurant_id assinado. Chaves tk_ não são aceitas.
In: header
Query Parameters
Omitido para sessões de restaurante ou credenciais com uma única loja.
Obrigatório quando uma chave ou autorização OAuth multilojas, ou um
parceiro, cobre várias lojas. É validado contra as lojas atualmente
autorizadas pela credencial. Em uma sessão, um valor diferente do
restaurant_id assinado responde 403.
Canal que define disponibilidade e preço efetivo.
Quando true, remove itens inelegíveis, esgotados, grupos inutilizáveis e seções vazias. False preserva-os com availability.resolved.reason.
Restringe a resposta a uma categoria.
Busca por nome e descrição, sem diferenciar acentos ou caixa.
Restringe às categorias da marca, sempre dentro do restaurante autorizado.
Instante ISO 8601 com Z ou offset explícito; exige channel=delivery. Avalia horários e permissão de agendamento do produto. Sem este parâmetro, usa o instante atual e o canal imediato.
Inclui grupos e opções. False omite a propriedade, mas mantém os mesmos cálculos de preço e disponibilidade.
Inclui fiscal em cada produto, sem alias fiscal_info nem metadados internos.
Response Body
application/json
application/json
application/json
application/json
Listar marcas do restaurante GET
OAuth exige brands:read; também aceita sessão autenticada de restaurante. Retorna marcas não excluídas, ativas ou inativas, ordenadas por padrão primeiro, nome e id. Não expõe credenciais fiscais nem cursor de distribuição.
Listar sessões de comanda GET
Retorna comandas abertas e fechadas com contas, pedidos, pagamentos e dados fiscais. O intervalo máximo é de três dias e as datas são UTC. Com OAuth, exige o escopo `table-sessions:read`; a sessão do restaurante também é aceita sem escopos de integração. A resposta preserva o contrato publicado: chaves `snake_case`, valores monetários como strings com escala e relações aninhadas. `status_timings` sempre está presente e agrupa os horários persistidos do ciclo do pedido. Etapas ainda não atingidas retornam `null`; a API não infere transições ausentes nem calcula durações. `bills[].buyer.delivery_address` é o destino selecionado pela sessão por `buyer_delivery_address_id`, nunca um endereço arbitrário do cadastro do comprador. Retorna null para sessões sem entrega, retirada, destino ausente ou de outro restaurante; um comprador ausente também permanece null. `motoboy_id` filtra pelo entregador atribuído à sessão, dentro do mesmo restaurante, mantendo todos os pedidos aninhados. Pode ser combinado com `brand_id`; as datas continuam obrigatórias. IDs sem correspondência ou de outro restaurante retornam lista vazia. `motoboy_id` e `motoboy` sempre estão presentes. O objeto contém apenas `id`, `name` e `phone`, com contatos anuláveis. Ambos retornam null para vínculos ausentes ou contraditórios, inclusive de outro restaurante. Atribuições históricas permanecem disponíveis para entregadores arquivados. `intended_payments` sempre está presente e concentra `payment_method`, `change_for`, `is_prepaid` e `ifood_paid`, mesmo antes de existir um pagamento. A forma é uma intenção; no checkout nativo, `change_for` representa "troco para", não troco já devolvido. `payments` continua contendo somente os pagamentos registrados. `session_number` é a sequência anulável da comanda no restaurante, distinta do ID interno e de `attendance_password`.