Cliente

5 funções do TermoIntranetAPI para cliente.

// npm install termo_core --save-exact
import * as intranet from "termo_core/intranet";
// ou: import { intranet } from "termo_core";
FunçãoRotaO que faz
buscar_paginador_clienteGET /clienteLista clientes com paginação por cursor
buscar_auto_complete_clienteGET /cliente/autocompleteLista básica para seleção
buscar_pelo_filtro_clienteGET /cliente/filtroBusca por filtro
buscar_total_clienteGET /cliente/totalTotal de registros do paginador
buscar_pelo_id_clienteGET /cliente/{id}Busca pelo id

buscar_paginador_cliente

GET/cliente Exige credencial

Lista clientes com paginação por cursor

Exige qualquer permissão da área clientes. Ordena do id mais novo para o mais antigo (os clientes da intranet não têm índice por nome), sempre 50 itens por página. Só clientes ativos do cadastro da intranet, só leitura. Sem cursor vem a primeira página; para a seguinte, envie em cursor o proximo_cursor recebido (nulo na última página). O total de registros não vem aqui: está em GET /cliente/total, para a lista não esperar o count(*).

function buscar_paginador_cliente(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPaginadorCliente = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaClienteResumoI64>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_cliente } from "termo_core/intranet";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_cliente(credencial_de_acesso, { cursor: 1 });

Argumentos

Nome

Tipo

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

buscar_auto_complete_cliente

GET/cliente/autocomplete Exige credencial

Lista básica para seleção

Exige qualquer permissão da área clientes. Devolve só id, nome e CPF/CNPJ, do id mais novo para o mais antigo, para escolher um cliente ativo. busca procura por trecho do nome, do nome fantasia ou dos dígitos do CPF/CNPJ. Paginação por cursor: tamanho tem padrão 10 e máximo 100, e para a página seguinte envie em cursor o proximo_cursor recebido.

function buscar_auto_complete_cliente(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteCliente = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaClienteAutoCompleteI64>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_cliente } from "termo_core/intranet";

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

Argumentos

Nome

Tipo

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

buscar_pelo_filtro_cliente

GET/cliente/filtro Exige credencial

Busca por filtro

Exige qualquer permissão da área clientes. Aceita nome, cpf_cnpj, email, cidade, uf e vendedor; informe ao menos um. Devolve no máximo 100 registros.

function buscar_pelo_filtro_cliente(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPeloFiltroCliente = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.ClienteResumo>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_cliente } from "termo_core/intranet";

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

Argumentos

Nome

Tipo

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

buscar_total_cliente

GET/cliente/total Exige credencial

Total de registros do paginador

Exige qualquer permissão da área clientes. Devolve só o count(*) com os mesmos filtros de GET /cliente, para o frontend montar o paginador sem atrasar a lista: a tela pede a primeira página e o total em paralelo. Conta os mesmos clientes ativos do cadastro da intranet que a listagem devolve.

function buscar_total_cliente(
  credencial_de_acesso: CredencialDeAcesso,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Total>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_total_cliente } from "termo_core/intranet";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_total_cliente(credencial_de_acesso);

Argumentos

Nome

Tipo

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

buscar_pelo_id_cliente

GET/cliente/{id} Exige credencial

Busca pelo id

Exige qualquer permissão da área clientes. Devolve o cliente ativo completo, com tipos, pessoas de contato e atividades.

function buscar_pelo_id_cliente(
  credencial_de_acesso: CredencialDeAcesso,
  id: number,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Cliente>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_cliente } from "termo_core/intranet";

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

Argumentos

Nome

Tipo

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

Tipos

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

Atividade

import type { Atividade } from "termo_core/intranet";

export interface Atividade {
  cnae?: string | null;
  nome?: string | null;
  principal: boolean;
}

Cliente

import type { Cliente } from "termo_core/intranet";

export interface Cliente {
  atividades: Array<Atividade>;
  atualizado_no_tiny_em?: string | null;
  bairro?: string | null;
  celular?: string | null;
  cep?: string | null;
  cidade?: string | null;
  codigo?: string | null;
  complemento?: string | null;
  cpf_cnpj?: string | null;
  criado_no_tiny_em?: string | null;
  email?: string | null;
  email_nota_fiscal?: string | null;
  id: number;
  id_tiny?: number | null;
  inscricao_estadual?: string | null;
  limite_credito?: number | null;
  logradouro?: string | null;
  nome?: string | null;
  nome_fantasia?: string | null;
  numero?: string | null;
  observacao?: string | null;
  pessoas_contato: Array<PessoaContato>;
  site?: string | null;
  situacao?: string | null;
  telefone?: string | null;
  tipo_pessoa?: string | null;
  tipos: Array<string>;
  uf?: string | null;
  ultima_compra_em?: string | null;
  ultima_compra_numero?: number | null;
  ultima_compra_valor?: number | null;
  vendedor?: string | null;
}

ClienteResumo

import type { ClienteResumo } from "termo_core/intranet";

export interface ClienteResumo {
  celular?: string | null;
  cidade?: string | null;
  codigo?: string | null;
  cpf_cnpj?: string | null;
  email?: string | null;
  id: number;
  id_tiny?: number | null;
  nome?: string | null;
  nome_fantasia?: string | null;
  situacao?: string | null;
  telefone?: string | null;
  tipo_pessoa?: string | null;
  uf?: string | null;
  vendedor?: string | null;
}

PaginaClienteAutoCompleteI64

import type { PaginaClienteAutoCompleteI64 } from "termo_core/intranet";

export interface PaginaClienteAutoCompleteI64 {
  itens: Array<PaginaClienteAutoCompleteI64ItensItem>;
  proximo_cursor?: number;
  tamanho: number;
}

PaginaClienteAutoCompleteI64ItensItem

import type { PaginaClienteAutoCompleteI64ItensItem } from "termo_core/intranet";

export interface PaginaClienteAutoCompleteI64ItensItem {
  cpf_cnpj?: string | null;
  id: number;
  nome?: string | null;
}

PaginaClienteResumoI64

import type { PaginaClienteResumoI64 } from "termo_core/intranet";

export interface PaginaClienteResumoI64 {
  itens: Array<PaginaClienteResumoI64ItensItem>;
  proximo_cursor?: number;
  tamanho: number;
}

PaginaClienteResumoI64ItensItem

import type { PaginaClienteResumoI64ItensItem } from "termo_core/intranet";

export interface PaginaClienteResumoI64ItensItem {
  celular?: string | null;
  cidade?: string | null;
  codigo?: string | null;
  cpf_cnpj?: string | null;
  email?: string | null;
  id: number;
  id_tiny?: number | null;
  nome?: string | null;
  nome_fantasia?: string | null;
  situacao?: string | null;
  telefone?: string | null;
  tipo_pessoa?: string | null;
  uf?: string | null;
  vendedor?: string | null;
}

PessoaContato

import type { PessoaContato } from "termo_core/intranet";

export interface PessoaContato {
  departamento?: string | null;
  email?: string | null;
  id: number;
  marketing: boolean;
  nome?: string | null;
  ramal?: string | null;
  telefone?: string | null;
}

Total

import type { Total } from "termo_core/intranet";

export interface Total {
  total: number;
}

Nesta página