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çãoRotaO que faz
buscar_paginador_pedido_venda_tinyGET /pedido_venda_tinyPaginador dos pedidos de venda salvos no portal
criar_pedido_venda_tinyPOST /pedido_venda_tinySincroniza um lote de pedidos de venda com a Intranet
buscar_auto_complete_pedido_venda_tinyGET /pedido_venda_tiny/autocompleteAutocomplete dos pedidos de venda salvos no portal
buscar_pelo_filtro_pedido_venda_tinyGET /pedido_venda_tiny/filtroUma página de pedidos de venda salvos no portal
buscar_pelo_id_pedido_venda_tinyGET /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>
Exemplo
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>
Exemplo
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>
Exemplo
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>>
Exemplo
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>
Exemplo
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;
}

Nesta página