Pedido

7 funções do TermoPortal para pedido.

// 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_pedidoGET /pedidoLista os pedidos paginados
criar_pedidoPOST /pedidoCadastra um pedido
buscar_auto_complete_pedidoGET /pedido/autocompleteLista básica de pedidos para seleção
buscar_pelo_filtro_pedidoGET /pedido/filtroBusca pedidos por filtro
buscar_pelo_id_pedidoGET /pedido/{id}Busca um pedido pelo id
atualizar_pelo_id_pedidoPATCH /pedido/{id}Atualiza um pedido
deletar_pelo_id_pedidoDELETE /pedido/{id}Exclui um pedido

buscar_paginador_pedido

GET/pedido Exige credencial

Lista os pedidos paginados

Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Do faturamento mais recente para o mais antigo. Quem não é colaborador interno precisa informar unidade_id de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. Paginado com 50 itens por página (fixo); pagina começa em 1 (padrão 1). A resposta traz itens, total (registros que casam), pagina e tamanho.

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

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

Argumentos

Nome

Tipo

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

criar_pedido

POST/pedido Exige credencial

Cadastra um pedido

Exige a permissão criar no módulo Configuracoes do perfil de quem chama (administrador e master têm tudo). Pedido faturado de uma unidade cliente, mostrado em Pedidos do portal. numero (até 40 caracteres) é único; unidade_id precisa ser da sessão (colaborador interno acessa todas); nota_fiscal e cotacao_origem opcionais; data_faturamento e previsao_entrega (AAAA-MM-DD); status_rotulo (até 60 caracteres, texto exibido) e tom (sucesso, alerta, perigo, informacao ou neutro); entregue tem padrão false; itens opcionais com sku, produto e quantidade (texto).

function criar_pedido(
  credencial_de_acesso: CredencialDeAcesso,
  corpo_da_requisicao: tipos.PedidoCriar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Pedido>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { criar_pedido } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await criar_pedido(credencial_de_acesso, corpo_da_requisicao);

Argumentos

Nome

Tipo

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

buscar_auto_complete_pedido

GET/pedido/autocomplete Exige credencial

Lista básica de pedidos para seleção

Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Devolve id e rotulo (número e nota fiscal), em ordem do número. busca procura no número e na nota. Quem não é colaborador interno precisa informar unidade_id de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. tamanho tem padrão 10 e vai de 1 a 50; pagina começa em 1. A resposta traz itens, total, pagina e tamanho.

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

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

Argumentos

Nome

Tipo

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

buscar_pelo_filtro_pedido

GET/pedido/filtro Exige credencial

Busca pedidos por filtro

Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Devolve os pedidos não excluídos que casam com o filtro, até 50 por página (pagina, a partir de 1, padrão 1), do faturamento mais recente para o mais antigo. Quem não é colaborador interno precisa informar unidade_id de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. numero compara com o número ou com a nota fiscal; entregue filtra.

function buscar_pelo_filtro_pedido(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPeloFiltroPedido = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<Array<tipos.Pedido>>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_pelo_filtro_pedido } from "termo_core/portal";

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

Argumentos

Nome

Tipo

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

buscar_pelo_id_pedido

GET/pedido/{id} Exige credencial

Busca um pedido pelo id

Exige a permissão ver no módulo Pedidos do perfil de quem chama (administrador e master têm tudo). Pedido excluído, ou de unidade fora da sessão, responde 404.

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

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

Argumentos

Nome

Tipo

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

atualizar_pelo_id_pedido

PATCH/pedido/{id} Exige credencial

Atualiza um pedido

Exige a permissão editar no módulo Configuracoes do perfil de quem chama (administrador e master têm tudo). Mesmas regras do cadastro; nota_fiscal e cotacao_origem aceitam null para apagar; itens, quando enviado, substitui a lista. A unidade não muda. Pedido de unidade fora da sessão responde 404. Cada item de itens tem sku, produto (nome) e quantidade (texto). Atualização parcial: campo ausente mantém o valor atual. Campos: numero até 40 caracteres e único; data_faturamento em AAAA-MM-DD; status_rotulo até 60 caracteres (texto do selo); tom é sucesso, alerta, perigo, informacao ou neutro; previsao_entrega em AAAA-MM-DD; entregue (booleano) marca o pedido como entregue.

function atualizar_pelo_id_pedido(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  corpo_da_requisicao: tipos.PedidoAtualizar,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.Pedido>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { atualizar_pelo_id_pedido } from "termo_core/portal";

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

Argumentos

Nome

Tipo

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

deletar_pelo_id_pedido

DELETE/pedido/{id} Exige credencial

Exclui um pedido

Exige a permissão excluir no módulo Configuracoes do perfil de quem chama (administrador e master têm tudo). Recusa pedido com faturas vinculadas. Pedido de unidade fora da sessão responde 404. A exclusão é lógica: o registro some das leituras, mas a linha não é apagada.

function deletar_pelo_id_pedido(
  credencial_de_acesso: CredencialDeAcesso,
  id: string,
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<void>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { deletar_pelo_id_pedido } from "termo_core/portal";

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

Argumentos

Nome

Tipo

Retorno: Promise<void> · Rust: Result<(), ErroAoChamarServico> · sem corpo na resposta.

Tipos

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

PaginaPedido

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

export interface PaginaPedido {
  itens: Array<PaginaPedidoItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaPedidoAutoComplete

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

export interface PaginaPedidoAutoComplete {
  itens: Array<PaginaPedidoAutoCompleteItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaPedidoAutoCompleteItensItem

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

export interface PaginaPedidoAutoCompleteItensItem {
  id: string;
  rotulo: string;
}

PaginaPedidoItensItem

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

export interface PaginaPedidoItensItem {
  atualizado_em: string;
  cotacao_origem?: string | null;
  criado_em: string;
  data_faturamento: string;
  entregue: boolean;
  id: string;
  itens: Array<PedidoItem>;
  nota_fiscal?: string | null;
  numero: string;
  previsao_entrega: string;
  status_rotulo: string;
  tom: string;
  unidade_cnpj: string;
  unidade_id: string;
  unidade_razao_social: string;
}

Pedido

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

export interface Pedido {
  atualizado_em: string;
  cotacao_origem?: string | null;
  criado_em: string;
  data_faturamento: string;
  entregue: boolean;
  id: string;
  itens: Array<PedidoItem>;
  nota_fiscal?: string | null;
  numero: string;
  previsao_entrega: string;
  status_rotulo: string;
  tom: string;
  unidade_cnpj: string;
  unidade_id: string;
  unidade_razao_social: string;
}

PedidoAtualizar

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

export interface PedidoAtualizar {
  cotacao_origem?: string | null;
  data_faturamento?: string | null;
  entregue?: boolean | null;
  itens?: Array<PedidoItem> | null;
  nota_fiscal?: string | null;
  numero?: string | null;
  previsao_entrega?: string | null;
  status_rotulo?: string | null;
  tom?: string | null;
}

PedidoCriar

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

export interface PedidoCriar {
  cotacao_origem?: string | null;
  data_faturamento: string;
  entregue?: boolean | null;
  itens?: Array<PedidoItem> | null;
  nota_fiscal?: string | null;
  numero: string;
  previsao_entrega: string;
  status_rotulo: string;
  tom?: string | null;
  unidade_id: string;
}

PedidoItem

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

export interface PedidoItem {
  produto: string;
  quantidade: string;
  sku: string;
}

Nesta página