Expedição

3 funções do TermoPortal para expediçã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_expedicaoGET /expedicaoLista as entregas (expedições) do ERP
buscar_auto_complete_expedicaoGET /expedicao/autocompleteLista transportadoras ou vendedores das entregas
buscar_pelo_id_expedicaoGET /expedicao/{id}Busca uma entrega pelo id do ERP

buscar_paginador_expedicao

GET/expedicao Exige credencial

Lista as entregas (expedições) do ERP

Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Consulta na hora a API de logística da Termotubos (notas expedidas pelo Tiny). Quem não é colaborador interno precisa informar unidade_id de uma unidade da sessão e só vê as entregas do CNPJ dela, sem dados do vendedor; colaborador interno pode omitir e ver todas. Filtros: situacao (todas, aguardando, transito, entregue, atrasada; padrão todas), busca (texto), inicio e fim (AAAA-MM-DD, data de emissão), transportadora (CNPJ) e vendedor (id do vendedor no Tiny). 50 entregas por página; pagina começa em 1. A resposta traz itens, pagina, total_paginas, total_registros, a contagem por situação e um resumo (notas de hoje, entregues no mês, próxima entrega). Até 60 chamadas por minuto por pessoa.

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

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

Argumentos

Nome

Tipo

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

buscar_auto_complete_expedicao

GET/expedicao/autocomplete Exige credencial

Lista transportadoras ou vendedores das entregas

Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Opções para os filtros da tela de entregas, tiradas da API de logística (no máximo 50, da mais usada para a menos usada): tipo transportadora ou vendedor (vendedor só para colaborador interno). Cada opção traz valor (CNPJ da transportadora ou id do vendedor), rotulo e a quantidade de entregas. Quem não é colaborador interno precisa informar unidade_id de uma unidade da sessão. Lista inteira, sem paginação.

function buscar_auto_complete_expedicao(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteExpedicao,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.OpcaoDeFiltro>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_expedicao } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_expedicao(credencial_de_acesso, { tipo });

Argumentos

Nome

Tipo

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

buscar_pelo_id_expedicao

GET/expedicao/{id} Exige credencial

Busca uma entrega pelo id do ERP

Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Consulta a entrega na API de logística (nota, transportadora, previsão, rastreio, ocorrência). Quem não é colaborador interno só abre entregas do CNPJ das próprias unidades (as outras respondem 404) e não recebe os dados do vendedor.

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

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

Argumentos

Nome

Tipo

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

Tipos

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

ContagemExpedicoes

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

export interface ContagemExpedicoes {
  aguardando: number;
  atrasadas: number;
  entregues: number;
  todas: number;
  transito: number;
}

ExpedicaoTermotubos

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

export interface ExpedicaoTermotubos {
  atualizado_em?: string | null;
  cep?: string | null;
  cidade?: string | null;
  cliente?: string | null;
  cliente_documento?: string | null;
  codigo_rastreio?: string | null;
  emissao?: string | null;
  entrega?: string | null;
  envio?: string | null;
  frete?: number | null;
  id: number;
  link_rastreio?: string | null;
  nota_fiscal?: number | null;
  nota_tiny_id?: number | null;
  ocorrencia?: string | null;
  peso_kg?: number | null;
  previsao?: string | null;
  situacao?: string | null;
  situacao_id?: number | null;
  transportadora?: string | null;
  transportadora_documento?: string | null;
  uf?: string | null;
  valor_mercadorias?: number | null;
  valor_nota?: number | null;
  vendedor?: string | null;
  vendedor_tiny_id?: number | null;
  volumes?: number | null;
}

OpcaoDeFiltro

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

export interface OpcaoDeFiltro {
  entregas: number;
  rotulo: string;
  valor: string;
}

PaginaExpedicoes

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

export interface PaginaExpedicoes {
  contagens: ContagemExpedicoes;
  itens: Array<ExpedicaoTermotubos>;
  pagina: number;
  resumo: ResumoExpedicoes;
  total_paginas: number;
  total_registros: number;
}

ResumoExpedicoes

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

export interface ResumoExpedicoes {
  entregues_no_mes: number;
  notas_hoje: number;
  proxima_entrega?: string | null;
}

Nesta página