Pedido venda Tiny
5 funções do TermoPortal para pedido venda tiny.
// 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_tiny | GET /pedido_venda_tiny | Paginador dos pedidos de venda salvos no portal |
criar_pedido_venda_tiny | POST /pedido_venda_tiny | Sincroniza um lote de pedidos de venda com a Intranet |
buscar_auto_complete_pedido_venda_tiny | GET /pedido_venda_tiny/autocomplete | Autocomplete dos pedidos de venda salvos no portal |
buscar_pelo_filtro_pedido_venda_tiny | GET /pedido_venda_tiny/filtro | Uma página de pedidos de venda salvos no portal |
buscar_pelo_id_pedido_venda_tiny | GET /pedido_venda_tiny/{id} | Um pedido de venda salvo no portal |
buscar_paginador_pedido_venda_tiny
GET/pedido_venda_tiny Exige credencial
Paginador dos pedidos de venda salvos no portal
Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Quem não é colaborador interno precisa informar unidade_id de uma unidade da sessão e só recebe os pedidos do CNPJ dela, sem vendedor, canal e marcadores; colaborador interno pode omitir e ver todos. Lê a cópia dos pedidos de venda da Intranet salva no banco do portal (atualizada por POST /pedido_venda_tiny) e devolve só a paginação, sem os itens (eles vêm de GET /pedido_venda_tiny/filtro): pagina, por_pagina (sempre 50), total_paginas, total_registros da situação pedida, a contagem por situação e sincronizado_em (a última sincronização). Filtros iguais aos da lista: situacao (todos, aberto, aprovado, faturado, pronto, enviado, entregue, cancelado; padrão todos), busca (CNPJ/CPF, número do pedido ou nome do cliente), inicio e fim (AAAA-MM-DD, data do pedido) e vendedor (id do vendedor no Tiny, só para colaborador interno).
function buscar_paginador_pedido_venda_tiny(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPaginadorPedidoVendaTiny = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginadorPedidosVendaTiny>import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_pedido_venda_tiny } from "termo_core/portal";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_pedido_venda_tiny(credencial_de_acesso, { pagina: 1 });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginadorPedidosVendaTiny> · Rust: Result<tipos::PaginadorPedidosVendaTiny, ErroAoChamarServico> · veja PaginadorPedidosVendaTiny.
criar_pedido_venda_tiny
POST/pedido_venda_tiny Exige credencial
Sincroniza um lote de pedidos de venda com a Intranet
Só colaborador interno com a permissão ver no módulo Pedidos. Lê 10 páginas (500 pedidos) da Intranet a partir de pagina (começa em 1) e grava no banco do portal, criando ou atualizando pelo id da Intranet. modo: recentes (padrão, os pedidos dos últimos 90 dias) ou tudo (todos os pedidos). Para sincronizar tudo, chame de novo com proxima_pagina até ela vir null. O backend também sincroniza sozinho: os últimos dias a cada 15 min e os últimos 90 dias a cada 6 h (SINCRONIZACAO_* no .env). Até 120 chamadas por minuto por pessoa.
function criar_pedido_venda_tiny(
credencial_de_acesso: CredencialDeAcesso,
corpo_da_requisicao: tipos.PedidoVendaTinySincronizar,
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.SincronizacaoPedidosVendaTiny>import { CredencialDeAcesso } from "termo_core";
import { criar_pedido_venda_tiny } from "termo_core/portal";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await criar_pedido_venda_tiny(credencial_de_acesso, corpo_da_requisicao);Argumentos
Nome
Tipo
Retorno: Promise<tipos.SincronizacaoPedidosVendaTiny> · Rust: Result<tipos::SincronizacaoPedidosVendaTiny, ErroAoChamarServico> · veja SincronizacaoPedidosVendaTiny.
buscar_auto_complete_pedido_venda_tiny
GET/pedido_venda_tiny/autocomplete Exige credencial
Autocomplete dos pedidos de venda salvos no portal
Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Quem não é colaborador interno precisa informar unidade_id de uma unidade da sessão e só recebe pedidos do CNPJ dela. Devolve só id (id na Intranet) e rotulo (#número - cliente), em ordem alfabética do cliente. busca: número do pedido (até 10 dígitos, # opcional) ou palavras do nome do cliente (por prefixo, sem acento). pagina começa em 1; tamanho padrão 10, máximo 50.
function buscar_auto_complete_pedido_venda_tiny(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarAutoCompletePedidoVendaTiny = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaPedidosVendaTinyAutoComplete>import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_pedido_venda_tiny } from "termo_core/portal";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_auto_complete_pedido_venda_tiny(credencial_de_acesso, { busca: "..." });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PaginaPedidosVendaTinyAutoComplete> · Rust: Result<tipos::PaginaPedidosVendaTinyAutoComplete, ErroAoChamarServico> · veja PaginaPedidosVendaTinyAutoComplete.
buscar_pelo_filtro_pedido_venda_tiny
GET/pedido_venda_tiny/filtro Exige credencial
Uma página de pedidos de venda salvos no portal
Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Quem não é colaborador interno precisa informar unidade_id de uma unidade da sessão e só recebe os pedidos do CNPJ dela, sem vendedor, canal e marcadores; colaborador interno pode omitir e ver todos. Devolve só os itens de uma página (sempre 50, sem como mudar), do pedido mais recente para o mais antigo; a paginação e as contagens vêm de GET /pedido_venda_tiny. pagina começa em 1. Filtros: situacao (todos, aberto, aprovado, faturado, pronto, enviado, entregue, cancelado; padrão todos), busca (14 ou 11 dígitos = CNPJ/CPF; até 10 dígitos = número do pedido; texto = palavras do nome do cliente, por prefixo e sem acento), inicio e fim (AAAA-MM-DD, data do pedido) e vendedor (id do vendedor no Tiny). O detalhe de um pedido continua em GET /pedido_venda/{id}, com o id daqui.
function buscar_pelo_filtro_pedido_venda_tiny(
credencial_de_acesso: CredencialDeAcesso,
parametros: ParametrosDeBuscarPeloFiltroPedidoVendaTiny = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.PedidoVendaTiny>>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_pedido_venda_tiny } from "termo_core/portal";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_filtro_pedido_venda_tiny(credencial_de_acesso, { pagina: 1 });Argumentos
Nome
Tipo
Retorno: Promise<Array<tipos.PedidoVendaTiny>> · Rust: Result<Vec<tipos::PedidoVendaTiny>, ErroAoChamarServico>
buscar_pelo_id_pedido_venda_tiny
GET/pedido_venda_tiny/{id} Exige credencial
Um pedido de venda salvo no portal
Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Quem não é colaborador interno precisa informar unidade_id de uma unidade da sessão e só acha pedidos do CNPJ dela, sem vendedor, canal e marcadores. id é o id do pedido na Intranet (o mesmo da lista). Devolve só o resumo salvo no portal; os itens e o detalhe completo vêm de GET /pedido_venda/{id}. Pedidos são só leitura: não há PATCH nem DELETE.
function buscar_pelo_id_pedido_venda_tiny(
credencial_de_acesso: CredencialDeAcesso,
id: number,
parametros: ParametrosDeBuscarPeloIdPedidoVendaTiny = {},
opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PedidoVendaTiny>import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_id_pedido_venda_tiny } from "termo_core/portal";
const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_pelo_id_pedido_venda_tiny(credencial_de_acesso, id, { unidade_id: "..." });Argumentos
Nome
Tipo
Retorno: Promise<tipos.PedidoVendaTiny> · Rust: Result<tipos::PedidoVendaTiny, ErroAoChamarServico> · veja PedidoVendaTiny.
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;
}PaginadorPedidosVendaTiny
import type { PaginadorPedidosVendaTiny } from "termo_core/portal";
export interface PaginadorPedidosVendaTiny {
contagens: ContagemPedidosVenda;
pagina: number;
por_pagina: number;
sincronizado_em?: string | null;
total_paginas: number;
total_registros: number;
}PaginaPedidosVendaTinyAutoComplete
import type { PaginaPedidosVendaTinyAutoComplete } from "termo_core/portal";
export interface PaginaPedidosVendaTinyAutoComplete {
itens: Array<PedidoVendaTinyAutoComplete>;
pagina: number;
tamanho: number;
total: number;
}PedidoVendaTiny
import type { PedidoVendaTiny } from "termo_core/portal";
export interface PedidoVendaTiny {
canal?: string | null;
cidade?: string | null;
cliente?: string | null;
cliente_documento?: string | null;
codigo_rastreio?: string | null;
data?: string | null;
forma_envio?: string | null;
id: number;
link_rastreio?: string | null;
marcadores: Array<string>;
numero?: number | null;
numero_no_canal?: string | null;
previsao?: string | null;
situacao_id?: number | null;
transportadora?: string | null;
uf?: string | null;
valor?: number | null;
vendedor?: string | null;
vendedor_tiny_id?: number | null;
}PedidoVendaTinyAutoComplete
import type { PedidoVendaTinyAutoComplete } from "termo_core/portal";
export interface PedidoVendaTinyAutoComplete {
id: number;
rotulo: string;
}PedidoVendaTinySincronizar
import type { PedidoVendaTinySincronizar } from "termo_core/portal";
export interface PedidoVendaTinySincronizar {
modo?: string | null;
pagina?: number | null;
}SincronizacaoPedidosVendaTiny
import type { SincronizacaoPedidosVendaTiny } from "termo_core/portal";
export interface SincronizacaoPedidosVendaTiny {
gravados: number;
modo: string;
pagina: number;
proxima_pagina?: number | null;
total_paginas: number;
total_registros: number;
}