Takeat
Versão da documentação
Status e funcionalidades

Documentação

Status e funcionalidades do restaurante

Descubra quais tutoriais oferecer a cada restaurante, com autorização e sem expor dados de conta.

Consulte GET /v1/restaurants/features com um access token OAuth que contenha restaurants:read, ou com a sessão autenticada do próprio restaurante. Chaves tk_ precisam ser trocadas por um token em /oauth/token antes da consulta. A permissão é de leitura e não permite ativar ou desativar recursos.

GET /v1/restaurants/features?restaurant_id=123
Authorization: Bearer {access_token}

A seleção segue as outras rotas de dados: uma única loja autorizada pode ser inferida; credenciais de várias lojas ou com acesso universal exigem restaurant_id. O ID deve pertencer à autorização atual. Sessões de restaurante usam exclusivamente o ID assinado, rejeitando uma loja diferente na query. Tokens de garçom e sessões de administrador não são aceitos nesta rota.

Resposta

O objeto contém exatamente estes campos:

CampoSignificado
restaurant_idID numérico do restaurante autorizado.
is_activeValor de restaurants.is_active. Indica a ativação da conta, independentemente do horário de funcionamento.
operation_typedelivery-only, delivery-and-balcony ou delivery-balcony-and-tables, com a mesma precedência do backend legado.
featuresObjeto com 26 capacidades exportáveis distribuídas nos cinco grupos abaixo. Preserva a configuração de contas inativas e aplica as regras descritas abaixo.
available_featuresLista plana dos identificadores com valor true nos grupos de features quando a conta está ativa. Sempre [] para uma conta inativa.

Para decidir qual tutorial exibir, use, por exemplo:

const showReservationsTutorial = response.available_features.includes('reservations');

A leitura ocorre no banco primário, sem cache, com Cache-Control: no-store. Não retorna o objeto completo do restaurante, dados de clientes, informações de cobrança ou credenciais de integrações. Restaurantes inexistentes e excluídos retornam 404 restaurant_not_found. Um restaurante inativo continua retornando 200 quando a credencial ainda possui autorização válida; vínculos revogados ou removidos continuam sendo recusados pelas regras de autenticação existentes.

Grupos e identificadores para tutoriais

features contém exatamente operation, payments, offline, delivery e additional_features. Todas as flags são booleanas, incluindo as desabilitadas. available_features continua sendo uma lista plana de identificadores; não usa nomes de grupos nem caminhos como operation.table_service.

Operação: operation

IdentificadorFuncionalidade
table_serviceAtendimento por mesas/comandas
counterBalcão
drive_thruDrive-thru
dispatch_appApp de despacho
dark_kitchenMúltiplas marcas (Dark Kitchen)
totemTotem
tabletTablet
pinpadTEF no balcão
inputCadastro de insumos
credit_registerCrediário
fiscal_aiAssistência fiscal por IA
fiscalEmissão fiscal
whatsapp_automationAutomação de WhatsApp

Payments: payments

IdentificadorFuncionalidade
online_pixPIX online
online_credit_cardCartão online
online_paymentPIX ou cartão online habilitado
stockEstoque

Operação offline: offline

IdentificadorFuncionalidade
offline_operationPermissão para ativar a operação offline, sem informar o estado dos equipamentos

Delivery: delivery

IdentificadorFuncionalidade
delivery_routingRoteirização de entregas

Recursos adicionais: additional_features

IdentificadorFuncionalidade
reservationsReservas
labelsEtiquetas de manipulados
balanceBalança
turnstileCatraca
multilinksMultiLinks
cashbackClube/cashback
crmCRM disponível, sem expor versão ou plano

table_service identifica a capacidade de atendimento por mesas/comandas. Seu valor é calculado pelo modo de operação; não é uma contagem nem uma consulta à existência de mesas. A chave de cadastro de insumos é input, no singular. stock pertence ao grupo payments neste contrato.

Exemplo completo

Exemplo ilustrativo de uma conta ativa com todas as capacidades configuradas:

{
  "restaurant_id": 123,
  "is_active": true,
  "operation_type": "delivery-balcony-and-tables",
  "features": {
    "operation": {
      "table_service": true,
      "counter": true,
      "drive_thru": true,
      "dispatch_app": true,
      "dark_kitchen": true,
      "totem": true,
      "tablet": true,
      "pinpad": true,
      "input": true,
      "credit_register": true,
      "fiscal_ai": true,
      "fiscal": true,
      "whatsapp_automation": true
    },
    "payments": {
      "online_pix": true,
      "online_credit_card": true,
      "online_payment": true,
      "stock": true
    },
    "offline": {
      "offline_operation": true
    },
    "delivery": {
      "delivery_routing": true
    },
    "additional_features": {
      "reservations": true,
      "labels": true,
      "balance": true,
      "turnstile": true,
      "multilinks": true,
      "cashback": true,
      "crm": true
    }
  },
  "available_features": [
    "table_service",
    "counter",
    "drive_thru",
    "dispatch_app",
    "dark_kitchen",
    "totem",
    "tablet",
    "pinpad",
    "input",
    "credit_register",
    "fiscal_ai",
    "fiscal",
    "whatsapp_automation",
    "online_pix",
    "online_credit_card",
    "online_payment",
    "stock",
    "offline_operation",
    "delivery_routing",
    "reservations",
    "labels",
    "balance",
    "turnstile",
    "multilinks",
    "cashback",
    "crm"
  ]
}
const hasTableService = response.features.operation.table_service;
const hasInputs = response.features.operation.input;
const showReservationsTutorial = response.available_features.includes('reservations');

A resposta usa uma lista explícita de capacidades exportáveis. Controles de rollout, detalhes de implementação e configuração técnica interna ficam fora da resposta e da lista de funcionalidades disponíveis. Não existe parâmetro para incluí-los. O indicador crm agrega o acesso disponível sem identificar versão ou plano. offline_operation informa a permissão de ativação do produto e não indica que a loja esteja operando offline neste momento.

O modo de operação determina balcão e mesas. online_payment é verdadeiro quando PIX ou cartão online está habilitado. Configurações ausentes retornam false conservadoramente.

Este é um catálogo de capacidades configuradas para orientar tutoriais. Não valida horário de abertura, estado dos provedores de pagamento, credenciais ou configuração completa de integrações, limites de equipamentos e permissões individuais do operador. Também não concede escopos para chamar outras rotas. Apps devem ignorar identificadores novos que ainda não conhecem.

Habilitar a permissão em um app existente

Adicione explicitamente restaurants:read à definição da chave ou app. Para apps OAuth, a alteração de escopos segue a política existente de invalidação de instalações e tokens; o dono precisa revisar o consentimento e reconectar. Para chaves REST do restaurante, salve a nova permissão e troque a mesma chave por um novo token. Atualizar ou renovar um token antigo não adiciona permissões.

On this page