Takeat
Versão da documentação

Nova API V1.0 · Referência

Referência da Nova API V1.0

Escolha Restaurante ou Garçom e abra uma categoria para consultar os métodos, parâmetros, respostas e exemplos.

Restaurante

Dados e gestão das lojas e endpoints compartilhados de tokens.

Autenticação3 métodos
getListar lojas acessíveis pela credencialAceita somente access token de integração. Retorna IDs e nomes públicos da concessão atual, intersectada com os vínculos ativos de multilojas. Não aceita chave bruta ou sessão humana. Não exige novo escopo. Concessões universais devem escolher um tenant e não podem enumerar todas as lojas.postEmitir ou renovar tokensSuporta duas formas de iniciar uma sessão: - API key: envie a chave completa `tk_live_...` ou `tk_test_...` como `api_key` com `grant_type=api_key`. Não informe `client_id` ou `client_secret`. - App instalável: envie o código recebido no callback, o client ID público, a redirect URI exata e o `code_verifier` com `grant_type=authorization_code`. O app não possui client secret. O parâmetro `scope` restringe o token a um subconjunto dos escopos da chave no grant `api_key`. A resposta contém um access token curto e um refresh token rotativo. Para renovar uma sessão de API key, envie somente o refresh token atual. Para um app instalável, envie o refresh token atual e seu `client_id`. Sempre substitua o refresh token pelo novo valor da resposta. Alterar as permissões de um app instalável (adição ou remoção de escopos) revoga todas as autorizações e tokens existentes, mantendo o client ID. Códigos e refresh tokens anteriores retornam `invalid_grant`; os access tokens anteriores deixam de acessar os recursos. Cada restaurante deve repetir o consentimento com PKCE para obter tokens com as permissões atuais. postRevogar um access tokenRevoga antecipadamente um access ou refresh token. A operação é idempotente. Apps públicos `tk_app_...` enviam `client_id` e não possuem client secret. Para encerrar todas as sessões de uma API key, revogue a chave no AI Builders.
Takeat Store3 métodos
getConsultar avaliações do app conectadoO client_id do token e sua instalação identificam o app; não aceita ID de outro aplicativo. Exige OAuth PKCE de restaurante com instalação ativa, não expirada e app visível. Não exige escopo adicional. Sem restaurant_id, lista todas as avaliações do app. Com o filtro, lista e resumo incluem somente uma loja autorizada na conexão e nos vínculos atuais da rede. Retorna 10 avaliações por página, da mais recente para a mais antiga. IDs de contas e e-mails não são publicados. Avaliações excluídas logicamente não aparecem em data, ownReview, totais ou médias. postCriar ou atualizar avaliação do app conectadoO token identifica o app e as lojas autorizadas. Cria ou atualiza uma única avaliação por aplicativo e restaurante, retornando 200 nos dois casos. Se ela foi excluída logicamente, restaura o mesmo registro com a nova nota e comentário. Sem restaurant_id, infere a loja se o token autoriza somente uma; com várias lojas, o seletor é obrigatório. A nota e o comentário devem ser escolhidos pelo usuário antes do envio. O autor é o usuário do consentimento ou o dono registrado da rede, com acesso ativo verificado. Conexões sem esse usuário precisam passar novamente pelo consentimento. App e instalação são verificados e bloqueados na transação de gravação. Não exige escopo adicional e não aceita IDs de autor ou app no corpo. deleteExcluir avaliação do próprio restauranteExige uma conexão OAuth de restaurante ativa. O client_id do token identifica o app e o restaurante selecionado deve ser autorizado na conexão e nos vínculos atuais da rede. Só exclui uma avaliação de autoria desse restaurante nesse aplicativo; o usuário individual que escreveu a avaliação não precisa ser o mesmo responsável atual. Registra deleted_at e updated_at, preservando a linha e seu conteúdo. A avaliação deixa de aparecer nas consultas, totais, médias e ownReview da API e da Store. Um novo POST restaura o mesmo registro. Avaliações inexistentes, já excluídas ou de outro app/restaurante retornam o mesmo 404. Não exige escopo adicional.
Restaurante1 método
Marcas1 método
Cardápio1 método
Pedidos3 métodos
getListar sessões de comandaRetorna 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`. getListar sessões de comanda (V2 paginada)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.getConsultar uma sessão de comandaRetorna uma sessão aberta ou fechada, com o mesmo objeto e relações da listagem: pedidos, contas, pagamentos, troco, previsão de recebimento, códigos de complementos, dados fiscais, status_timings e motoboy. Não exige intervalo de datas. O ID interno é combinado com o restaurante autorizado e, quando informado, brand_id. Sessões ausentes, de outra loja ou fora da marca selecionada retornam o mesmo 404 table_session_not_found. Exige table-sessions:read com OAuth ou uma sessão verificada do restaurante.
Catálogo22 métodos
postEnviar uma imagem de produto do cardápioRequer products:write ou sessão de restaurante. Apenas um campo multipart file, JPEG/PNG/WebP de até 10 MiB e 25 megapixels. Conteúdo real é validado; animações são rejeitadas. Produz WebP de até 1600px e miniatura de até 400px, sem metadados. Upload não altera produtos. Use o id como image_id em criações ou edições no mesmo restaurante. Não permite arquivos genéricos nem exclusão. getListar produtos por categoriaRetorna categorias e produtos no formato compatível com o API Legado, incluindo `pdv_codes` e o objeto adicional `fiscal` em cada produto. Com OAuth, exige o escopo `products:read`; a sessão do restaurante também é aceita. postCriar produtoCria um produto em uma categoria não removida do restaurante. Com OAuth, exige `products:write`; a sessão do restaurante também é aceita. Não existe exclusão de produtos nesta API. Uma categoria indisponível pode receber produtos, mas não aparece no menu com only_available=true. Envie preços como números, não strings. Veja a [referência de campos](/externo/v1/campos-do-produto) para padrões de criação e efeitos sobre preços, disponibilidade e esgotamento. getConsultar produtoRequer products:read. Retorna um produto ativo do restaurante autorizado e sua versão updated_at.putEditar produtoAtualização parcial: campos ausentes permanecem intactos. Com OAuth, exige `products:write`; a sessão do restaurante também é aceita. null limpa descrição e preços opcionais; zero define preço zero. Alterar o preço base não encerra uma promoção existente. Consulte a [referência de campos](/externo/v1/campos-do-produto). postCriar de 1 a 100 produtos atomicamenteRequer products:write ou sessão de restaurante. Lote serializável; qualquer erro impede todas as criações. Imagens devem pertencer ao restaurante.putEditar vários produtos atomicamenteRequer products:write ou sessão de restaurante. Corpo é um array de 1–100 edições parciais. IDs repetidos causam 400 duplicate_product_ids. Qualquer falha impede todas as alterações. Zero é permitido nos preços. expected_updated_at permite impedir a aplicação de uma revisão obsoleta. Os campos têm os mesmos efeitos da edição individual; consulte a [referência de campos](/externo/v1/campos-do-produto). patchAlterar disponibilidade por canalAltera `available` (presencial) e/ou `available_in_delivery` (delivery). Ao menos um campo é obrigatório. Com OAuth, exige `products:write`; a sessão do restaurante também é aceita. Os canais são independentes. Para marcar ou reverter esgotamento, envie sold_off no PUT individual ou em lote, não nesta rota. getListar categorias de produtosRetorna as categorias de produtos não removidas do restaurante, ordenadas por `custom_order` e depois por `id`. Com OAuth, exige o escopo `products:read`; a sessão autenticada do restaurante também é aceita. Escopo products:read ou sessão autenticada de restaurante. Isolamento pelo restaurante autorizado. Disponibilidades de cada canal são independentes; omissões preservam campos. Marca deve pertencer ao restaurante e não pode ser trocada na edição. Não expõe exclusão, imagens, horários ou configurações de integração. postCriar categoria de produtosCria uma categoria para uma marca não removida do restaurante autorizado. Com OAuth, exige `products:write`; a sessão autenticada do restaurante também é aceita. Os campos de disponibilidade e ordenação omitidos usam os defaults do cadastro. O nome é normalizado removendo espaços nas extremidades. Escopo products:write ou sessão autenticada de restaurante. Isolamento pelo restaurante autorizado. Disponibilidades de cada canal são independentes; omissões preservam campos. Marca deve pertencer ao restaurante e não pode ser trocada na edição. Não expõe exclusão, imagens, horários ou configurações de integração. getConsultar categoria de produtosRetorna uma categoria de produtos não removida do restaurante autorizado. Com OAuth, exige `products:read`; a sessão autenticada do restaurante também é aceita. Escopo products:read ou sessão autenticada de restaurante. Isolamento pelo restaurante autorizado. Disponibilidades de cada canal são independentes; omissões preservam campos. Marca deve pertencer ao restaurante e não pode ser trocada na edição. Não expõe exclusão, imagens, horários ou configurações de integração. putEditar parcialmente categoria de produtosAtualização parcial: campos omitidos permanecem intactos. Com OAuth, exige `products:write`; a sessão autenticada do restaurante também é aceita. `brand_id` não pode ser alterado. Envie `updated_at` da última consulta como `expected_updated_at` para rejeitar uma revisão obsoleta. O nome é normalizado removendo espaços nas extremidades. Escopo products:write ou sessão autenticada de restaurante. Isolamento pelo restaurante autorizado. Disponibilidades de cada canal são independentes; omissões preservam campos. Marca deve pertencer ao restaurante e não pode ser trocada na edição. Não expõe exclusão, imagens, horários ou configurações de integração. getListar complementos por categoriaRetorna categorias de complementos e seus itens no formato compatível com o API Legado. Com OAuth, exige o escopo `complements:read`; a sessão do restaurante também é aceita. getConsultar complementoRequer complements:read ou sessão de restaurante. Tenant validado pelo restaurante autorizado. Consulte /externo/v1/gerenciar-complementos.putEditar complementoRequer complements:write ou sessão de restaurante. Tenant validado pelo restaurante autorizado. Consulte /externo/v1/gerenciar-complementos. Edição parcial; campos omitidos são preservados. expected_updated_at detecta revisões obsoletas; conflitos retornam 409. Bulk aplica 1–100 itens atomicamente na ordem recebida.putEditar vários complementos atomicamenteRequer complements:write ou sessão de restaurante. Tenant validado pelo restaurante autorizado. Consulte /externo/v1/gerenciar-complementos. Edição parcial; campos omitidos são preservados. expected_updated_at detecta revisões obsoletas; conflitos retornam 409. Bulk aplica 1–100 itens atomicamente na ordem recebida.patchAlterar disponibilidade por canalRequer complements:write ou sessão de restaurante. Tenant validado pelo restaurante autorizado. Consulte /externo/v1/gerenciar-complementos. Edição parcial; campos omitidos são preservados. expected_updated_at detecta revisões obsoletas; conflitos retornam 409. Bulk aplica 1–100 itens atomicamente na ordem recebida.getListar categorias de complementosEscopo complements:read, ou sessão autenticada do restaurante. Vínculos são compartilhados; todas as referências são validadas no restaurante e marca.postCriar categoria de complementosEscopo complements:write, ou sessão autenticada do restaurante. Vínculos são compartilhados; todas as referências são validadas no restaurante e marca.putAtualizar categoria de complementosEscopo complements:write, ou sessão autenticada do restaurante. Vínculos são compartilhados; todas as referências são validadas no restaurante e marca.postCriar complementoEscopo complements:write, ou sessão autenticada do restaurante. Vínculos são compartilhados; todas as referências são validadas no restaurante e marca.getListar métodos de pagamentoRetorna os métodos habilitados para o restaurante. Com OAuth, exige o escopo `payment-methods:read`; a sessão do restaurante também é aceita.
Avaliações1 método
Clientes1 método
Clube de Fidelidade2 métodos
Estoque25 métodos
putEditar insumos em loteOAuth exige inputs:write; aceita também sessão de restaurante. Edição parcial. Unidade muda somente sem saldo nem vínculos. Cadastros mestres e multiloja são protegidos. Custos alteram valorização, sem mudar quantidades. Aceita um objeto ou array de 1 a 100 alterações, cada uma com id. Retorna um array na ordem enviada. IDs duplicados são rejeitados. Qualquer falha desfaz todo o lote. Fichas aceitam até 2000 ingredientes somados; cada proprietário preserva sua verificação expected_updated_at.putEditar intermediários em loteOAuth exige intermediaries:write; aceita também sessão de restaurante. Edição parcial. Unidade muda somente sem saldo nem vínculos. Cadastros mestres e multiloja são protegidos. Custos alteram valorização, sem mudar quantidades. Aceita um objeto ou array de 1 a 100 alterações, cada uma com id. Retorna um array na ordem enviada. IDs duplicados são rejeitados. Qualquer falha desfaz todo o lote. Fichas aceitam até 2000 ingredientes somados; cada proprietário preserva sua verificação expected_updated_at.putSubstituir fichas de intermediários em loteOAuth exige intermediaries:write; aceita também sessão de restaurante. Substitui toda a composição atomicamente. Arrays vazios removem ingredientes editáveis. Preserva insumo mestre, saldos e preços de venda; recalcula custos dependentes. Não executa produção nem conversão de unidade. Recipe omitido limpa o preparo. Aceita um objeto ou array de 1 a 100 alterações, cada uma com id. Retorna um array na ordem enviada. IDs duplicados são rejeitados. Qualquer falha desfaz todo o lote. Fichas aceitam até 2000 ingredientes somados; cada proprietário preserva sua verificação expected_updated_at.putSubstituir fichas de produtos em loteOAuth exige products:write; aceita também sessão de restaurante. Substitui toda a composição atomicamente. Arrays vazios removem ingredientes editáveis. Preserva saldos e preços de venda e apresenta o custo da ficha atualizado. Produtos preservam o insumo mestre. Não aceita yield nem recipe; não executa produção ou movimentação quantitativa. Aceita um objeto ou array de 1 a 100 alterações, cada uma com id. Retorna um array na ordem enviada. IDs duplicados são rejeitados. Qualquer falha desfaz todo o lote. Fichas aceitam até 2000 ingredientes somados; cada proprietário preserva sua verificação expected_updated_at.putSubstituir fichas de complementos em loteOAuth exige complements:write; aceita também sessão de restaurante. Substitui toda a composição atomicamente. Arrays vazios removem ingredientes editáveis. Preserva saldos e preços de venda e apresenta o custo da ficha atualizado. Produtos preservam o insumo mestre. Não aceita yield nem recipe; não executa produção ou movimentação quantitativa. Aceita um objeto ou array de 1 a 100 alterações, cada uma com id. Retorna um array na ordem enviada. IDs duplicados são rejeitados. Qualquer falha desfaz todo o lote. Fichas aceitam até 2000 ingredientes somados; cada proprietário preserva sua verificação expected_updated_at.getListar cadastro de insumosOAuth exige inputs:read; aceita também sessão de restaurante. Inclui IDs, saldos e indicadores de gestão.postCriar cadastro de insumosOAuth exige inputs:write; aceita também sessão de restaurante. Cria com saldo zero; não produz nem consome ingredientes. Aceita um objeto ou um array de 1 a 100 cadastros. Objeto retorna objeto; array retorna array na ordem enviada. O lote inteiro é atômico. Lotes de intermediários aceitam até 2000 ingredientes somados.getListar cadastro de insumos (V2 paginada)OAuth exige inputs:read; aceita também sessão de restaurante. Inclui IDs, saldos e indicadores de gestão. Retorna data e pagination; siga pagination.next mantendo os filtros. A V1 permanece disponível com seu contrato anterior.getConsultar cadastro de insumosOAuth exige inputs:read; aceita também sessão de restaurante. Leitura no primário.putEditar cadastro de insumosOAuth exige inputs:write; aceita também sessão de restaurante. Edição parcial. Unidade muda somente sem saldo nem vínculos. Cadastros mestres e multiloja são protegidos. Custos alteram valorização, sem mudar quantidades.getListar cadastro de intermediáriosOAuth exige intermediaries:read; aceita também sessão de restaurante. Inclui IDs, saldos e indicadores de gestão.postCriar cadastro de intermediáriosOAuth exige intermediaries:write; aceita também sessão de restaurante. Cria com saldo zero; não produz nem consome ingredientes. Aceita um objeto ou um array de 1 a 100 cadastros. Objeto retorna objeto; array retorna array na ordem enviada. O lote inteiro é atômico. Lotes de intermediários aceitam até 2000 ingredientes somados.getListar cadastro de intermediários (V2 paginada)OAuth exige intermediaries:read; aceita também sessão de restaurante. Inclui IDs, saldos e indicadores de gestão. Retorna data e pagination; siga pagination.next mantendo os filtros. A V1 permanece disponível com seu contrato anterior.getConsultar cadastro de intermediáriosOAuth exige intermediaries:read; aceita também sessão de restaurante. Leitura no primário.putEditar cadastro de intermediáriosOAuth exige intermediaries:write; aceita também sessão de restaurante. Edição parcial. Unidade muda somente sem saldo nem vínculos. Cadastros mestres e multiloja são protegidos. Custos alteram valorização, sem mudar quantidades.getConsultar ficha de intermediáriosOAuth exige intermediaries:read; aceita também sessão de restaurante. Quantidades por lote para intermediários e por unidade vendida para produtos/complementos. Insumo mestre é separado.putSubstituir ficha de intermediáriosOAuth exige intermediaries:write; aceita também sessão de restaurante. Substitui toda a composição atomicamente. Arrays vazios removem ingredientes editáveis. Preserva insumo mestre, saldos e preços de venda; recalcula custos dependentes. Não executa produção nem conversão de unidade. Recipe omitido limpa o preparo.getConsultar ficha de produtosOAuth exige products:read; aceita também sessão de restaurante. Quantidades por lote para intermediários e por unidade vendida para produtos/complementos. Insumo mestre é separado.putSubstituir ficha de produtosOAuth exige products:write; aceita também sessão de restaurante. Substitui toda a composição atomicamente. Arrays vazios removem ingredientes editáveis. Preserva saldos e preços de venda e apresenta o custo da ficha atualizado. Produtos preservam o insumo mestre. Não aceita yield nem recipe; não executa produção ou movimentação quantitativa.getConsultar ficha de complementosOAuth exige complements:read; aceita também sessão de restaurante. Quantidades por lote para intermediários e por unidade vendida para produtos/complementos. Insumo mestre é separado.putSubstituir ficha de complementosOAuth exige complements:write; aceita também sessão de restaurante. Substitui toda a composição atomicamente. Arrays vazios removem ingredientes editáveis. Preserva saldos e preços de venda e apresenta o custo da ficha atualizado. Produtos preservam o insumo mestre. Não aceita yield nem recipe; não executa produção ou movimentação quantitativa.getListar insumosRegistros não cancelados do restaurante, ordenados por nome e por ID em empates. Com OAuth exige `inputs:read`; aceita também a sessão do restaurante. Página fixa de 100 registros; não permite escrita. Quantidades mantêm o texto e os valores monetários têm duas casas decimais. Valores inválidos já armazenados preservam a string NaN do PostgreSQL. getListar insumos (V2 paginada)Registros não cancelados do restaurante, ordenados por nome e por ID em empates. Com OAuth exige `inputs:read`; aceita também a sessão do restaurante. Página fixa de 100 registros; não permite escrita. Quantidades mantêm o texto e os valores monetários têm duas casas decimais. Valores inválidos já armazenados preservam a string NaN do PostgreSQL. Retorna data e pagination; siga pagination.next mantendo os filtros. A V1 permanece disponível com seu contrato anterior.getListar produtos intermediáriosRegistros não cancelados do restaurante, ordenados por nome e por ID em empates. Com OAuth exige `intermediaries:read`; aceita também a sessão do restaurante. Página fixa de 100 registros; não permite escrita. Quantidades mantêm o texto e os valores monetários têm duas casas decimais. Valores inválidos já armazenados preservam a string NaN do PostgreSQL. getListar produtos intermediários (V2 paginada)Registros não cancelados do restaurante, ordenados por nome e por ID em empates. Com OAuth exige `intermediaries:read`; aceita também a sessão do restaurante. Página fixa de 100 registros; não permite escrita. Quantidades mantêm o texto e os valores monetários têm duas casas decimais. Valores inválidos já armazenados preservam a string NaN do PostgreSQL. Retorna data e pagination; siga pagination.next mantendo os filtros. A V1 permanece disponível com seu contrato anterior.
Financeiro2 métodos
Fiscal2 métodos

Garçom

Consultas limitadas ao atendimento, com autorização OAuth pessoal e PKCE.

Perfil1 método
Cardápio3 métodos
Mesas2 métodos
Comandas3 métodos
Pedidos3 métodos
getListar pedidos ativosExige autorização OAuth pessoal de garçom. A loja vem da concessão; não envie restaurante, identidade alternativa ou corpo. Retorna apenas campos públicos aprovados, sem dados pessoais dos clientes, observações livres, chaves de sessão, dados de pagamentos ou configuração de terminais. Limitado ao atendimento presencial ativo na loja; não é um histórico de vendas. A lista considera os pedidos das últimas 48 horas que continuam ativos.getListar pedidos ativos (V2 paginada)Exige autorização OAuth pessoal de garçom. A loja vem da concessão; não envie restaurante, identidade alternativa ou corpo. Retorna apenas campos públicos aprovados, sem dados pessoais dos clientes, observações livres, chaves de sessão, dados de pagamentos ou configuração de terminais. Limitado ao atendimento presencial ativo na loja; não é um histórico de vendas. A lista considera os pedidos das últimas 48 horas que continuam ativos. Retorna data e pagination; siga pagination.next mantendo os filtros. A V1 permanece disponível com seu contrato anterior.getConsultar itens de um pedidoExige autorização OAuth pessoal de garçom. A loja vem da concessão; não envie restaurante, identidade alternativa ou corpo. Retorna apenas campos públicos aprovados, sem dados pessoais dos clientes, observações livres, chaves de sessão, dados de pagamentos ou configuração de terminais. Limitado ao atendimento presencial ativo na loja; não é um histórico de vendas.

On this page