Pedido venda
3 funções do TermoPortal para pedido venda.
// npm install termo_core --save-exact
import * as portal from "termo_core/portal";
// ou: import { portal } from "termo_core";| Função | Rota | O que faz |
|---|---|---|
buscar_paginador_pedido_venda | GET /pedido_venda | Lista os pedidos de venda do ERP |
buscar_pelo_filtro_pedido_venda | GET /pedido_venda/filtro | Acha o pedido de venda de uma entrega |
buscar_pelo_id_pedido_venda | GET /pedido_venda/{id} | Busca um pedido de venda do ERP pelo id |
buscar_paginador_pedido_venda
GET/pedido_venda Exige credencial
Lista os pedidos de venda 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 os pedidos de venda do Tiny pela API da Termotubos. Quem não é colaborador interno precisa informar unidade_id de uma unidade da sessão e só vê os pedidos do CNPJ dela, sem vendedor, canal e observações internas; colaborador interno pode omitir e ver todos. Filtros: situacao (todos, aberto, aprovado, faturado, pronto, enviado, entregue, cancelado; padrão todos), busca (texto), inicio e fim (AAAA-MM-DD) e vendedor (id no Tiny). 50 pedidos 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 (pedidos de hoje e do mês). Até 60 chamadas por minuto por pessoa.
function buscar_paginador_pedido_venda(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPaginadorPedidoVenda = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaPedidosVenda>import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_pedido_venda } from "termo_core/portal";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_pedido_venda(credencial_de_acesso, { pagina: 1 });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaPedidosVenda> · Rust: Result<tipos::PaginaPedidosVenda, ErroAoChamarServico> · veja PaginaPedidosVenda.
buscar_pelo_filtro_pedido_venda
GET/pedido_venda/filtro Exige credencial
Acha o pedido de venda de uma entrega
Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Procura no Tiny o pedido de venda que gerou a entrega expedicao_id (id da entrega na API de logística) e devolve o id do pedido, para abrir em GET /pedido_venda/{id}. Quem não é colaborador interno só acha pedidos das próprias unidades.
function buscar_pelo_filtro_pedido_venda(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPeloFiltroPedidoVenda,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PedidoDaEntrega>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_pedido_venda } from "termo_core/portal";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_pedido_venda(credencial_de_acesso, { expedicao_id });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PedidoDaEntrega> · Rust: Result<tipos::PedidoDaEntrega, ErroAoChamarServico> · veja PedidoDaEntrega.
buscar_pelo_id_pedido_venda
GET/pedido_venda/{id} Exige credencial
Busca um pedido de venda do ERP pelo id
Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Consulta o pedido no Tiny com itens, valores, pagamento e rastreio, mais a entrega ligada a ele quando houver. Quem não é colaborador interno só abre pedidos do CNPJ das próprias unidades (os outros respondem 404) e não recebe vendedor, canal e observações internas.
function buscar_pelo_id_pedido_venda(
credencial_de_acesso: CredencialDeAcesso,
id: number,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PedidoVendaDetalhe>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_pedido_venda } from "termo_core/portal";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_pedido_venda(credencial_de_acesso, id);Argumentos
Nome
Tipo
Retorno: Promise<tipos.PedidoVendaDetalhe> · Rust: Result<tipos::PedidoVendaDetalhe, ErroAoChamarServico> · veja PedidoVendaDetalhe.
Tipos
Tipos usados pelas funções desta página. O nome é o mesmo nos dois pacotes.
ContagemPedidosVenda
import type { ContagemPedidosVenda } from "termo_core/portal";
export interface ContagemPedidosVenda {
aberto: number;
aprovado: number;
cancelado: number;
entregue: number;
enviado: number;
faturado: number;
pronto: number;
todos: 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;
}ItemPedidoVenda
import type { ItemPedidoVenda } from "termo_core/portal";
export interface ItemPedidoVenda {
descricao?: string | null;
preco_unitario?: number | null;
quantidade?: number | null;
sku?: string | null;
}PaginaPedidosVenda
import type { PaginaPedidosVenda } from "termo_core/portal";
export interface PaginaPedidosVenda {
contagens: ContagemPedidosVenda;
itens: Array<PedidoVendaTermotubos>;
pagina: number;
resumo: ResumoPedidosVenda;
total_paginas: number;
total_registros: number;
}PedidoDaEntrega
import type { PedidoDaEntrega } from "termo_core/portal";
export interface PedidoDaEntrega {
id: number;
}PedidoVendaDetalhe
import type { PedidoVendaDetalhe } from "termo_core/portal";
export type PedidoVendaDetalhe = PedidoVendaTermotubos & PedidoVendaDetalheParte2;PedidoVendaDetalheParte2
import type { PedidoVendaDetalheParte2 } from "termo_core/portal";
export interface PedidoVendaDetalheParte2 {
entrega?: ExpedicaoTermotubos | null;
}PedidoVendaTermotubos
import type { PedidoVendaTermotubos } from "termo_core/portal";
export interface PedidoVendaTermotubos {
canal?: string | null;
cidade?: string | null;
cliente?: string | null;
cliente_documento?: string | null;
cliente_tiny_id?: number | null;
codigo_rastreio?: string | null;
data?: string | null;
desconto?: number | null;
entregue_em?: string | null;
enviado_em?: string | null;
faturado_em?: string | null;
forma_envio?: string | null;
frete?: number | null;
id: number;
itens: Array<ItemPedidoVenda>;
link_rastreio?: string | null;
marcadores: Array<string>;
nota_tiny_id?: number | null;
numero?: number | null;
numero_no_canal?: string | null;
observacoes?: string | null;
observacoes_internas?: string | null;
outros?: number | null;
pagamento?: string | null;
previsao?: string | null;
situacao_id?: number | null;
transportadora?: string | null;
uf?: string | null;
valor?: number | null;
valor_produtos?: number | null;
vendedor?: string | null;
vendedor_tiny_id?: number | null;
}ResumoPedidosVenda
import type { ResumoPedidosVenda } from "termo_core/portal";
export interface ResumoPedidosVenda {
pedidos_hoje: number;
pedidos_no_mes: number;
}