Início rápido
Instale o termo_core, defina o ambiente e faça sua primeira chamada a um serviço da Termotubos em menos de 5 minutos.
O termo_core é o SDK da Termotubos: todos os clientes dos nossos serviços num pacote só, em TypeScript (npm, para frontend e backend) e em Rust (crates.io). Cada aplicativo é um módulo (auth, bucket, portal...) e cada rota da API vira uma função, com o mesmo nome nas duas linguagens.
Ao terminar esta página você terá chamado o TermoAuth e lido um usuário, com 3 passos.
Sem documentação de API
Aqui você não monta requisição HTTP, URL nem cabeçalho. O SDK resolve o endereço pelo ambiente, manda a credencial e devolve o tipo certo. Se a rota existe na API, existe uma função para ela.
Instale o pacote
Fixe sempre a versão exata: cada mudança de contrato publica uma versão nova subindo só o último número, inclusive quando quebra código.
npm install termo_core --save-exactDefina o ambiente
A única configuração é a variável AMBIENTE: LOCALHOST, SANDBOX ou PRODUCTION. Sem ela o processo para com uma mensagem clara, nunca cai em produção por engano.
AMBIENTE=SANDBOXNo navegador não existe process.env: chame definir_ambiente_atual_pelo_codigo(import.meta.env.VITE_AMBIENTE) uma vez ao subir o app. Detalhes em Ambiente.
Chame uma função
Toda rota que exige login recebe uma CredencialDeAcesso como primeiro argumento.
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_usuario, buscar_paginador_usuario } from "termo_core/auth";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const usuario = await buscar_pelo_id_usuario(credencial_de_acesso, id);
const pagina = await buscar_paginador_usuario(credencial_de_acesso, { pagina: 1 });Próximos passos
Todas as funções
Por aplicativo e por entidade, com assinatura, exemplo e tipos.
Credencial e token do aplicativo
Token do usuário logado e conversa entre back-ends.
Tratamento de erros
ErroAoChamarServico, 404 e quando vale tentar de novo.
Eventos do TermoWebhook
Publicar, guardar na fila e receber eventos.