Endereço

7 funções do TermoPortal para endereço.

// npm install termo_core --save-exact
import * as portal from "termo_core/portal";
// ou: import { portal } from "termo_core";
FunçãoRotaO que faz
buscar_paginador_enderecoGET /enderecoLista os endereços paginados
criar_enderecoPOST /enderecoCadastra um endereço de unidade
buscar_auto_complete_enderecoGET /endereco/autocompleteLista básica de endereços para seleção
buscar_pelo_filtro_enderecoGET /endereco/filtroBusca endereços por filtro
buscar_pelo_id_enderecoGET /endereco/{id}Busca um endereço pelo id
atualizar_pelo_id_enderecoPATCH /endereco/{id}Atualiza um endereço
deletar_pelo_id_enderecoDELETE /endereco/{id}Exclui um endereço

buscar_paginador_endereco

GET/endereco Exige credencial

Lista os endereços paginados

Exige só uma sessão válida (qualquer pessoa logada no portal). Ordem: tipo, data de cadastro. Quem não é colaborador interno precisa informar unidade_id de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. Paginado com 50 itens por página (fixo); pagina começa em 1 (padrão 1). A resposta traz itens, total (registros que casam), pagina e tamanho.

function buscar_paginador_endereco(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPaginadorEndereco = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaEndereco>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_endereco } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_endereco(credencial_de_acesso, { unidade_id: "..." });

Argumentos

Nome

Tipo

Retorno: Promise<tipos.PaginaEndereco> · Rust: Result<tipos::PaginaEndereco, ErroAoChamarServico> · veja PaginaEndereco.

criar_endereco

POST/endereco Exige credencial

Cadastra um endereço de unidade

Exige só uma sessão válida (qualquer pessoa logada no portal). Endereço de uma unidade cliente. unidade_id precisa ser uma unidade da sessão (colaborador interno acessa todas); tipo é entrega ou cobranca (no máximo um de cobrança por unidade); cep com 8 dígitos; logradouro e cidade obrigatórios; estado é a sigla da UF. Campos: apelido até 60 caracteres; numero até 20 caracteres; complemento até 120 caracteres; bairro até 120 caracteres.

function criar_endereco(
  credencial_de_acesso: CredencialDeAcesso,
  corpo_da_requisicao: tipos.EnderecoCriar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Endereco>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { criar_endereco } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await criar_endereco(credencial_de_acesso, corpo_da_requisicao);

Argumentos

Nome

Tipo

Retorno: Promise<tipos.Endereco> · Rust: Result<tipos::Endereco, ErroAoChamarServico> · veja Endereco.

buscar_auto_complete_endereco

GET/endereco/autocomplete Exige credencial

Lista básica de endereços para seleção

Exige só uma sessão válida (qualquer pessoa logada no portal). Devolve id e rotulo (apelido ou logradouro com cidade), em ordem alfabética. busca procura no endereço; tipo filtra. Quem não é colaborador interno precisa informar unidade_id de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. tamanho tem padrão 10 e vai de 1 a 50; pagina começa em 1. A resposta traz itens, total, pagina e tamanho.

function buscar_auto_complete_endereco(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteEndereco = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaEnderecoAutoComplete>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_endereco } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_endereco(credencial_de_acesso, { busca: "..." });

Argumentos

Nome

Tipo

Retorno: Promise<tipos.PaginaEnderecoAutoComplete> · Rust: Result<tipos::PaginaEnderecoAutoComplete, ErroAoChamarServico> · veja PaginaEnderecoAutoComplete.

buscar_pelo_filtro_endereco

GET/endereco/filtro Exige credencial

Busca endereços por filtro

Exige só uma sessão válida (qualquer pessoa logada no portal). Devolve os endereços não excluídos que casam com o filtro, até 50 por página (pagina, a partir de 1, padrão 1), por tipo e data de cadastro. Quem não é colaborador interno precisa informar unidade_id de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. tipo (entrega ou cobranca) e cep (só dígitos) são exatos.

function buscar_pelo_filtro_endereco(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPeloFiltroEndereco = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.Endereco>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_endereco } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_endereco(credencial_de_acesso, { unidade_id: "..." });

Argumentos

Nome

Tipo

Retorno: Promise<Array<tipos.Endereco>> · Rust: Result<Vec<tipos::Endereco>, ErroAoChamarServico>

buscar_pelo_id_endereco

GET/endereco/{id} Exige credencial

Busca um endereço pelo id

Exige só uma sessão válida (qualquer pessoa logada no portal). Endereço excluído, ou de unidade fora da sessão, responde 404.

function buscar_pelo_id_endereco(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Endereco>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_endereco } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_endereco(credencial_de_acesso, id);

Argumentos

Nome

Tipo

Retorno: Promise<tipos.Endereco> · Rust: Result<tipos::Endereco, ErroAoChamarServico> · veja Endereco.

atualizar_pelo_id_endereco

PATCH/endereco/{id} Exige credencial

Atualiza um endereço

Exige só uma sessão válida (qualquer pessoa logada no portal). Mesmas validações do cadastro; a unidade não muda. Endereço de unidade fora da sessão responde 404. Atualização parcial: campo ausente mantém o valor atual. Campos: tipo é entrega ou cobranca; apelido até 60 caracteres; cep com 8 dígitos; logradouro até 200 caracteres; numero até 20 caracteres; complemento até 120 caracteres; bairro até 120 caracteres; cidade até 120 caracteres; estado é a sigla da UF.

function atualizar_pelo_id_endereco(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  corpo_da_requisicao: tipos.EnderecoAtualizar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Endereco>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_endereco } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await atualizar_pelo_id_endereco(credencial_de_acesso, id, corpo_da_requisicao);

Argumentos

Nome

Tipo

Retorno: Promise<tipos.Endereco> · Rust: Result<tipos::Endereco, ErroAoChamarServico> · veja Endereco.

deletar_pelo_id_endereco

DELETE/endereco/{id} Exige credencial

Exclui um endereço

Exige só uma sessão válida (qualquer pessoa logada no portal). Endereço de unidade fora da sessão responde 404. A exclusão é lógica: o registro some das leituras, mas a linha não é apagada.

function deletar_pelo_id_endereco(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<void>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { deletar_pelo_id_endereco } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
await deletar_pelo_id_endereco(credencial_de_acesso, id);

Argumentos

Nome

Tipo

Retorno: Promise<void> · Rust: Result<(), ErroAoChamarServico> · sem corpo na resposta.

Tipos

Tipos usados pelas funções desta página. O nome é o mesmo nos dois pacotes.

Endereco

import type { Endereco } from "termo_core/portal";

export interface Endereco {
  apelido?: string | null;
  atualizado_em: string;
  bairro?: string | null;
  cep: string;
  cidade: string;
  complemento?: string | null;
  criado_em: string;
  estado: string;
  id: string;
  logradouro: string;
  numero?: string | null;
  tipo: string;
  unidade_id: string;
}

EnderecoAtualizar

import type { EnderecoAtualizar } from "termo_core/portal";

export interface EnderecoAtualizar {
  apelido?: string | null;
  bairro?: string | null;
  cep?: string | null;
  cidade?: string | null;
  complemento?: string | null;
  estado?: string | null;
  logradouro?: string | null;
  numero?: string | null;
  tipo?: string | null;
}

EnderecoCriar

import type { EnderecoCriar } from "termo_core/portal";

export interface EnderecoCriar {
  apelido?: string | null;
  bairro?: string | null;
  cep: string;
  cidade: string;
  complemento?: string | null;
  estado: string;
  logradouro: string;
  numero?: string | null;
  tipo: string;
  unidade_id: string;
}

PaginaEndereco

import type { PaginaEndereco } from "termo_core/portal";

export interface PaginaEndereco {
  itens: Array<PaginaEnderecoItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaEnderecoAutoComplete

import type { PaginaEnderecoAutoComplete } from "termo_core/portal";

export interface PaginaEnderecoAutoComplete {
  itens: Array<PaginaEnderecoAutoCompleteItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaEnderecoAutoCompleteItensItem

import type { PaginaEnderecoAutoCompleteItensItem } from "termo_core/portal";

export interface PaginaEnderecoAutoCompleteItensItem {
  id: string;
  rotulo: string;
}

PaginaEnderecoItensItem

import type { PaginaEnderecoItensItem } from "termo_core/portal";

export interface PaginaEnderecoItensItem {
  apelido?: string | null;
  atualizado_em: string;
  bairro?: string | null;
  cep: string;
  cidade: string;
  complemento?: string | null;
  criado_em: string;
  estado: string;
  id: string;
  logradouro: string;
  numero?: string | null;
  tipo: string;
  unidade_id: string;
}

Nesta página