TB Knowledge Agro
Biblioteca Agrícola · Protótipo v0.1
Backend em produção (tbka-api) — playground abaixo ainda simula localmente

A mesma base de conhecimento, pronta pra virar API.

Esta página documenta a interface para consumir os 54 registros da TB Knowledge Agro por fora do catálogo — incluindo o TerraBase e outros consumidores. O servidor real (tbka-api) já responde nos quatro endpoints abaixo; o playground continua simulando as respostas localmente, sem chamar o servidor, só pra facilitar testar o formato.

4endpoints especificados
54registros na base hoje
0chamadas reais em produção
v0.1versão da especificação
Visão geral

O que existe hoje e o que ainda é plano

Ser direto aqui evita que alguém integre contra algo que não existe. A tabela abaixo separa o que já está funcionando do que ainda está em especificação.

Já existe

  • Catálogo estático de 54 registros, navegável na Biblioteca
  • Busca e filtros por categoria, cultura e região, rodando no navegador
  • Identificação por foto, servida pelo backend real — o navegador nunca vê nenhuma chave de IA
  • Servidor real (tbka-api) respondendo nos quatro endpoints abaixo, em produção
  • Chaves de API funcionais, emitidas manualmente mediante cadastro — ver Termos de uso

Ainda não existe

  • Emissão de chave self-serve (hoje é sempre manual, por pedido)
  • Faturamento ou painel de consumo por app
  • Busca semântica por sintomas (hoje é correspondência por palavra-chave)
  • Este playground ainda simula chamadas lendo os dados do catálogo, em vez de bater no servidor real
Autenticação

Chave de acesso

Toda aplicação autentica com uma chave no cabeçalho Authorization: Bearer <chave>. A API está em produção, mas a emissão de chaves ainda é manual — não existe cadastro self-serve nesta versão. Gere abaixo uma chave no formato final só pra ver como ela se parece; ela não ativa nada.

Chave ilustrativa, não funcional. Ela é gerada aqui mesmo no navegador e não é enviada a nenhum servidor. Pra obter uma chave que funcione de verdade, leia os Termos de uso abaixo e solicite acesso — hoje toda chave é emitida manualmente, uma por uma.

Acesso

Termos de uso

Regras válidas para toda chave de API emitida, enquanto a TBKA estiver nesta fase de acesso manual e sem faturamento.

Permitido

  • Consultar o catálogo e usar a identificação por foto dentro de uma aplicação própria
  • Citar a fonte ("Dataset TB Knowledge Agro") quando os dados aparecerem publicamente em outro produto
  • Uso comercial, desde que dentro dos limites de requisição da chave

Não permitido

  • Redistribuir ou revender o dataset bruto (os 54 registros) fora de uma aplicação que consuma a API
  • Scraping em massa ou automação que contorne o limite de requisições da chave
  • Compartilhar a própria chave com terceiros — cada aplicação/projeto tem a sua
  • Reintroduzir nome comercial de insumo ou dosagem em cima da resposta da API — o dataset já retorna só categoria de insumo, por exigência legal (Lei 14.785/2023 e Resolução Confea 1.149/2025), e isso não pode ser contornado a jusante

Como pedir uma chave: hoje a emissão é manual — não há formulário automático. Descreva o projeto e o uso pretendido e a chave é gerada e enviada por fora. Limites: cada chave tem um limite padrão de requisições por minuto; se seu caso de uso precisar de mais, informe ao pedir a chave. Revogação: uma chave pode ser revogada a qualquer momento em caso de uso fora destes termos, sem aviso prévio.

Endpoints planejados

Quatro operações cobrem o catálogo inteiro

A base já é pequena e bem tipada — não há necessidade de uma superfície grande de API. Estes quatro endpoints espelham exatamente o que o catálogo já faz na interface.

GET/v1/records

Listar registros

Retorna registros do catálogo, com os mesmos filtros já disponíveis na Biblioteca.

ParâmetroDescrição
categoriaFiltra por uma das 8 categorias (ex: Praga, Doença Fúngica)
culturaCafé Arábica, Café Conilon, ou ambos
regiaoEstadual, Sul ou Norte/Noroeste ES
qBusca livre por nome, sintoma ou espécie científica
Requisição
curl https://tbka-api.vercel.app/v1/records \
  -H "Authorization: Bearer <chave>" \
  -G --data-urlencode "categoria=Praga" \
     --data-urlencode "cultura=Café Conilon"
GET/v1/records/{id}

Buscar um registro

Retorna a ficha técnica completa de um registro pelo seu código (ex: CAF-001), com todos os campos exibidos na ficha do catálogo.

ParâmetroDescrição
idCódigo do registro, CAF-001 a CAF-050
Requisição
curl https://tbka-api.vercel.app/v1/records/CAF-001 \
  -H "Authorization: Bearer <chave>"
POST/v1/identify

Identificar por sintomas ou foto

Recebe uma descrição textual (e, futuramente, fotos por parte da planta) e retorna até 3 candidatos do catálogo, nunca um diagnóstico fora da base — mesma regra já aplicada na identificação por foto do protótipo.

ParâmetroDescrição
descricaoTexto livre descrevendo os sintomas observados
parteOpcional: folhas, caule, base, raízes
Requisição
curl -X POST https://tbka-api.vercel.app/v1/identify \
  -H "Authorization: Bearer <chave>" \
  -H "Content-Type: application/json" \
  -d '{"descricao": "manchas alaranjadas na folha"}'
GET/v1/records/search

Busca por palavra-chave

Em produção, com os mesmos filtros de /v1/records, sem paginação. Faz correspondência por palavra-chave nos campos de texto. Busca por similaridade de sintomas (semântica, sem precisar da palavra exata) é planejada para o dataset v2.0 — ver Roadmap abaixo.

ParâmetroDescrição
qTexto livre — busca em nome, sintomas, agente, parte afetada e id
categoriaFiltra por categoria (substring)
culturaFiltra por cultura (match exato)
regiaoFiltra por região (substring)
Exemplo
curl "https://tbka-api.vercel.app/v1/records/search?q=amarelecimento" \
  -H "Authorization: Bearer SUA_CHAVE"
Playground

Simule uma chamada

Roda inteiramente no seu navegador, lendo os mesmos 54 registros do catálogo — não existe uma chamada de rede real acontecendo aqui.

Resposta simulada 200 OK
// Escolha um endpoint e clique em "Simular chamada".
Simulação client-side — o JSON acima ilustra o formato de resposta planejado, montado a partir dos dados reais do catálogo, sem nenhuma chamada de rede.
Referência

Schema de um registro

Todo registro retornado pela API (ou visível no playground acima) segue estes campos, os mesmos usados internamente pelo catálogo.

CampoTipoDescrição
idstringCódigo do registro, ex: CAF-001
rankingnumberPosição de relevância dentro do dataset
categoriastringUma ou mais das 8 categorias, separadas por ";"
culturastringCafé Arábica, Café Conilon, ou ambos
regiaostringAbrangência geográfica no Espírito Santo
nomestringNome popular do problema
cientificostringNome científico do agente, quando aplicável
agentestringOrganismo ou causa física/química responsável
partestringParte da planta tipicamente afetada
sint_inicialstringSintomas no estágio inicial
sint_avancadostringSintomas no estágio avançado
confiancanumberConfiabilidade de triagem por fotografia, de 0 a 1
manejo_prevstringManejo preventivo, por categoria de insumo — nunca marca ou dose
manejo_corrstringManejo corretivo, por categoria de insumo — nunca marca ou dose
Roadmap

Do dataset estático à API real

Esta é uma sequência real de versões, na ordem em que estão planejadas — não uma lista decorativa.

v1.1 — atual

54 registros, catálogo estático

Dataset consolidado e navegável na Biblioteca, sem backend — este site é um arquivo único.

v1.2

Revisão técnica por agrônomo

Validação de cada ficha por um engenheiro agrônomo antes de qualquer uso além de consulta e triagem.

v1.3

Fotos reais

Substituição das fotos geradas por IA por fotografias de campo confirmadas.

v2.0

IA treinada + busca semântica

Base para o endpoint /v1/records/search funcionar por similaridade de sintomas, não só palavra-chave.

Concluído

Backend real

Servidor em produção (tbka-api) respondendo nos quatro endpoints, com autenticação por chave e identificação por foto processada no servidor — já consumível por terceiros, incluindo o TerraBase.