Banco de dados (CRUD)

API CRUD centralizada (/data) + dicionário de metadados (/dictionary). Endpoint único para todas as operações com modo structured (recomendado) ou raw.

Banco de dados (CRUD)

API centralizada para acesso ao banco de dados da Plataforma Keeptor. Dois endpoints:

  • /data — operações CRUD genéricas (SELECT/INSERT/UPDATE/DELETE/UPSERT) com 2 modos: structured (recomendado) e raw
  • /dictionary — retorna metadados de uma entidade (cabeçalhos de tabelas dinâmicas, chaves estrangeiras como objetos aninhados, suporte a i18n)

Modos do /data

🔷 Modo structured (recomendado)

Use para operações comuns. Mais seguro (parametrizado) e fácil de usar:

  • SELECT — buscar dados com filtros, joins, paginação, ordenação
  • INSERT — inserir um ou mais registros (data como array)
  • UPDATE — atualizar registros com filters (data como objeto)
  • UPSERT — inserir ou atualizar com onConflict declarado
  • DELETE — remover com filters

Operadores de filtro: =, <>, >, >=, <, <=, like, ilike, in, not in, is, is not. Não existe != nem IS NULL (usar <> e is + value: null).

⚙️ Modo raw (avançado)

Aceita SQL parametrizado direto (apenas SELECT). Use somente quando o modo structured não cobrir o caso. Sempre valide o payload contra o schema OpenAPI antes de enviar.

Segurança e isolamento

  • Token obrigatório — todas as rotas exigem Authorization: Bearer <access_token>
  • Isolamento por organização — você só acessa dados da sua própria organização. Tentar referenciar dados de outra organização retorna 404 NOT_FOUND

i18n

Queries que dependem do /dictionary (catálogos traduzíveis) devem incluir o campo locale (pt, en, es) no payload.