O API Legado será removido em breve
A Nova API V1.0 já está disponível para novas integrações. Migre autenticação e rotas seguindo o guia de migração para evitar interrupções quando esta versão for descontinuada.
API Legado · Referência
Referência do API Legado
Endpoints publicados da API externa da Takeat. Selecione um endpoint para ver parâmetros, respostas e testá-lo direto na página.
Endpoints
postAutenticar restauranteRealiza a autenticação do restaurante e retorna o token JWT usado nas
demais requisições.
- Utilize o token no header `Authorization: Bearer {token}` em todas as
chamadas autenticadas.
- O token possui validade de **15 dias**.
- Recomenda-se criar um usuário exclusivo por restaurante para acessar a
API externa (via Área do Gestor).
getListar sessões de comandaRetorna as comandas das mesas do restaurante autenticado dentro do
intervalo de datas informado.
Inclui informações da comanda, mesa, pagamentos e método de pagamento,
nota fiscal emitida (se houver), as contas individuais, cestas de cada
conta e cada pedido com seu respectivo produto e complementos.
**Observações importantes**
- O intervalo entre as datas é de **no máximo 3 dias**.
- As datas de consulta e de retorno estão em **UTC-0**. Para o horário de
Brasília, adicione 3 horas.
- Em `orders`, se `canceled_at` for diferente de `null`, o pedido foi
cancelado e `cancel_reason` traz o motivo informado.
- `total_price` é a soma dos produtos; `total_service_price` é o
`total_price` + taxa de serviço.
- Na `table_session`, `total_price`/`total_service_price` já consideram o
desconto (se houver); `old_total_price` é o valor sem desconto. Em
`bills`, `order_baskets` e `orders` os valores **não** têm o desconto
aplicado.
- Pagamentos consideram o troco no valor pago em dinheiro:
`payment_value` é o valor que entrou no faturamento (já descontado o
troco), `original_value` é o valor original pago pelo cliente e
`change` é o troco.
- `predicted_received_value` é o valor a receber já descontadas as taxas
do método; `predicted_received_date` é a data prevista de recebimento,
calculada a partir das configurações do método na Área do Gestor.
- `channel` (em `order_baskets`) indica por onde o pedido foi feito.
getListar métodos de pagamentoRetorna todos os métodos de pagamento ativos cadastrados no sistema.
Alguns métodos podem não ter `method` e/ou `brand` — principalmente os
criados pelo próprio restaurante. Isso é esperado.
getListar produtos por categoriaRetorna as categorias de produtos do restaurante e, dentro de cada
categoria, seus respectivos produtos.
**Observações**
- Produtos/categorias com `deleted_at` diferente de `null` já foram
deletados.
- `is_exclusive` indica categorias/produtos de uso exclusivo do
restaurante, que não aparecem para o cliente final.
- `price` é o preço presencial; `price_promotion` o preço promocional
presencial (se houver). `delivery_price` é o preço para
delivery/retirada; `delivery_price_promotion` o promocional para
delivery (se houver). Sem `delivery_price`, usa-se `price`/`price_promotion`.
- `available` indica disponibilidade presencial; `available_in_delivery`
a disponibilidade no delivery/retirada.
- `use_weight` indica se o produto é vendido por peso em vez de unidade.
getListar complementos por categoriaRetorna as categorias de complementos disponíveis no restaurante, com os
complementos associados a cada uma. Um complemento pode estar em mais de
uma categoria.
**Observações**
- `available` indica disponibilidade presencial; `available_in_delivery`
a disponibilidade no delivery/retirada.
- `question` é a pergunta exibida ao cliente ao apresentar a categoria.
- `minimum` é a quantidade mínima e `limit` (na categoria) a quantidade
máxima de complementos que podem ser adicionados naquela categoria.
- `optional` indica se a categoria é opcional; se `false`, é obrigatória.
- `additional` indica se os valores dos complementos são cobrados; se
`false`, os complementos não são cobrados mesmo tendo valor.
- `use_average` cobra a média dos complementos selecionados;
`more_expensive_only` cobra apenas o complemento mais caro.
- `is_exclusive` indica categorias/complementos de uso exclusivo do
restaurante.
- `limit` no complemento é a quantidade máxima daquele complemento.
- `price` é o preço presencial; `delivery_price` o de delivery/retirada.
Sem `delivery_price`, usa-se `price`.
getListar insumosRetorna, de forma paginada, os **insumos** (matérias-primas) cadastrados
no controle de estoque do restaurante autenticado, com saldo atual,
custo e parâmetros de reposição.
Insumo é o item base do estoque: aquilo que é comprado do fornecedor e
consumido na produção (ex.: `Queijo mussarela`, `Copo 300ml`). Produtos
e complementos consomem insumos através da ficha técnica, e produtos
intermediários são compostos por eles — veja
[Listar produtos intermediários](/externo/referencia/estoque/getIntermediaries).
**Observações**
- Somente insumos **ativos** são retornados. Insumos cancelados
(`canceled_at` preenchido) ficam de fora da listagem e da contagem.
- Os resultados vêm ordenados por `name` em ordem alfabética crescente.
- O `limit` é fixo em **100** registros por requisição e não pode ser
alterado. Use `offset` para paginar.
- Valores numéricos (`quantidade`, `total_value`, `unitary_price`,
`ideal_stock`, `minimum_stock`) são retornados como **string**.
- `unidade` é a unidade de medida usada no controle de estoque. É um
texto livre definido pelo restaurante na Área do Gestor (ex.: `kg`,
`un`, `l`, `g`).
- `total_value` é o valor total do insumo em estoque e `unitary_price` o
custo unitário na unidade informada em `unidade`.
- `ideal_stock` e `minimum_stock` são os parâmetros de reposição
definidos pelo restaurante: quantidade ideal a manter em estoque e
quantidade mínima antes do alerta de reposição.
- `is_master` indica um insumo criado automaticamente para controlar o
estoque de um produto diretamente (o produto "vira" um insumo, com o
mesmo nome e unidade `un`), em vez de ser composto por outros insumos.
- `cash_flow_category_subcategory` traz a categoria financeira vinculada
ao insumo, no formato `Categoria: Subcategoria`. Quando não há
vínculo, vem como string vazia (`""`).
getListar produtos intermediáriosRetorna, de forma paginada, os **produtos intermediários** cadastrados
no controle de estoque do restaurante autenticado, com saldo atual,
custo e parâmetros de reposição.
Produto intermediário é um item produzido internamente a partir de
insumos (e, eventualmente, de outros intermediários) e que ainda não é
vendido diretamente ao cliente — ex.: `Molho da casa`, `Massa de pizza`.
Ele é consumido por produtos, complementos ou por outros intermediários.
Os itens base estão em
[Listar insumos](/externo/referencia/estoque/getInputs).
**Observações**
- Somente intermediários **ativos** são retornados. Intermediários
cancelados (`canceled_at` preenchido) ficam de fora da listagem e da
contagem.
- Os resultados vêm ordenados por `name` em ordem alfabética crescente.
- O `limit` é fixo em **100** registros por requisição e não pode ser
alterado. Use `offset` para paginar.
- Valores numéricos (`quantidade`, `total_value`, `unitary_price`,
`ideal_stock`, `minimum_stock`) são retornados como **string**.
- `unidade` é a unidade de medida usada no controle de estoque. É um
texto livre definido pelo restaurante na Área do Gestor (ex.: `kg`,
`un`, `l`, `g`).
- `unitary_price` é o custo unitário do intermediário, calculado a
partir da sua ficha técnica, e `total_value` o valor total em estoque.
- `ideal_stock` e `minimum_stock` são os parâmetros de reposição
definidos pelo restaurante: quantidade ideal a manter em estoque e
quantidade mínima antes do alerta de reposição.
- A composição da ficha técnica (quais insumos formam o intermediário) e
o rendimento da receita **não** são retornados por este endpoint.
getListar clientes do Clube de FidelidadeRetorna, de forma paginada, os clientes do Clube de Fidelidade do
restaurante autenticado, com dados relevantes para CRM: cadastro, saldo
de cashback, pontos, visitas, produto favorito, histórico de resgates e
histórico de mensagens enviadas.
**Observações**
- Disponível apenas para restaurantes com Clube de Fidelidade
configurado. Caso contrário, retorna `400 clube_not_configured`.
- Cada cliente pertence somente à loja autenticada — clientes de outras
lojas nunca são retornados.
- `messages` contém apenas mensagens **enviadas** ao cliente (não há
registro de mensagens recebidas).
- `cashback`, `total_spent` e `points` podem ser retornados como string
numérica.
- `cashback_expires_at` é a data em que o cashback do cliente expira;
ela é renovada a cada nova compra e pode ser `null` se o cliente ainda
não acumulou cashback.
- `cashback_updated_at` é a data da última modificação do saldo de
cashback — o evento mais recente entre uma compra que gerou cashback e
um resgate. Expirações automáticas e ajustes manuais de saldo não são
registrados e, portanto, **não** são refletidos nesse campo.
- `favorite_product` pode ser `null` quando o cliente ainda não tem
compras suficientes.