Nova API V1.0 · Referência
Listar sessões de comanda
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`.
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.
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.
Filtra o recurso pela marca. A marca deve estar ativa, não removida e pertencer ao restaurante autorizado. Omitir preserva o comportamento agregado atual da rota.
ID do entregador atribuído à sessão no restaurante consultado.
Data/hora inicial em UTC.
Data/hora final em UTC. Aceita até três dias inteiros mais uma fração; quatro dias são rejeitados. Intervalo invertido retorna lista vazia.
Response Body
application/json
application/json
application/json
application/json
Consultar cardápio publicado GET
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.
Listar sessões de comanda (V2 paginada) GET
Comandas, contas, pedidos, pagamentos e dados fiscais em páginas ordenadas por ID. Datas UTC, sem limite de dias na V2. limit: padrão 50, máximo 100; cursor vinculado à loja e aos filtros. Continue com pagination.next até has_more=false. Cada sessão inclui o objeto intended_payments (payment_method, change_for, is_prepaid, ifood_paid), separado de payments. No checkout nativo, change_for significa troco para, não o troco devolvido. A V1 mantém seu envelope anterior.