Configuração
2 funções do TermoLeads para configuração.
// npm install termo_core --save-exact
import * as leads from "termo_core/leads";
// ou: import { leads } from "termo_core";| Função | Rota | O que faz |
|---|---|---|
buscar_pelo_id_configuracao | GET /api/configuracao | Mostra a situação do segredo do app |
atualizar_pelo_id_configuracao | PATCH /api/configuracao | Grava ou apaga o segredo do app |
buscar_pelo_id_configuracao
GET/api/configuracao Exige credencial
Mostra a situação do segredo do app
Exige o usuário master (token do TermoAuth com isMaster). Devolve se o segredo do app termo-leads gerado no TermoAuth está cadastrado e o final mascarado dele, nunca o valor. O segredo fica cifrado no banco (AES-256-GCM, chave derivada da GLOBAL_SECRET_CRIPTOGRAFIA do servidor); sem essa variável, ou se ela mudou, o segredo aparece como não configurado.
function buscar_pelo_id_configuracao(
credencial_de_acesso: CredencialDeAcesso,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Configuracao>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_configuracao } from "termo_core/leads";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_configuracao(credencial_de_acesso);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Configuracao> · Rust: Result<tipos::Configuracao, ErroAoChamarServico> · veja Configuracao.
atualizar_pelo_id_configuracao
PATCH/api/configuracao Exige credencial
Grava ou apaga o segredo do app
Exige o usuário master (token do TermoAuth com isMaster). segredo_do_app_gerado_no_termo_auth ausente não mexe, texto troca e null apaga. O valor é cifrado antes de ir para o banco e entregue na hora ao termo_core, que o usa para pedir o token de aplicativo ao TermoAuth: vale sem deploy. Responde 503 quando o servidor está sem a GLOBAL_SECRET_CRIPTOGRAFIA.
function atualizar_pelo_id_configuracao(
credencial_de_acesso: CredencialDeAcesso,
corpo_da_requisicao: tipos.ConfiguracaoAtualizar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Configuracao>import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_configuracao } from "termo_core/leads";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await atualizar_pelo_id_configuracao(credencial_de_acesso, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.Configuracao> · Rust: Result<tipos::Configuracao, ErroAoChamarServico> · veja Configuracao.
Tipos
Tipos usados pelas funções desta página. O nome é o mesmo nos dois pacotes.
Configuracao
import type { Configuracao } from "termo_core/leads";
export interface Configuracao {
/**
* Data e hora da última alteração (ISO 8601, UTC)
*/
atualizado_em: string;
/**
* E-mail de quem gravou por último; `null` antes da primeira gravação
*/
atualizado_por?: string | null;
/**
* `false` quando o servidor está sem a `GLOBAL_SECRET_CRIPTOGRAFIA`: nada abre e nada pode ser gravado
*/
criptografia_disponivel: boolean;
/**
* Situação do segredo do app `termo-leads` gerado no TermoAuth; o valor nunca é devolvido
*/
segredo_do_app_gerado_no_termo_auth: ValorProtegido;
}ConfiguracaoAtualizar
import type { ConfiguracaoAtualizar } from "termo_core/leads";
export interface ConfiguracaoAtualizar {
/**
* Segredo do app gerado no TermoAuth: ausente não mexe, texto troca (até 2.000 caracteres, sem quebra de linha) e `null` apaga
*/
segredo_do_app_gerado_no_termo_auth?: string | null;
}ValorProtegido
import type { ValorProtegido } from "termo_core/leads";
export interface ValorProtegido {
/**
* `true` quando há um valor gravado que abre com a `GLOBAL_SECRET_CRIPTOGRAFIA` atual
*/
configurado: boolean;
/**
* Os 4 últimos caracteres do valor, mascarados (`••••abcd`); `null` quando não há valor
*/
final_visivel?: string | null;
}