Produto conflito sincronização

7 funções do TermoPortal para produto conflito sincronizaçã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_produto_conflito_sincronizacaoGET /produto_conflito_sincronizacaoLista os conflitos de sincronização paginados
criar_produto_conflito_sincronizacaoPOST /produto_conflito_sincronizacaoRegistra um conflito de sincronização de produto
buscar_auto_complete_produto_conflito_sincronizacaoGET /produto_conflito_sincronizacao/autocompleteLista básica de conflitos de sincronização para seleção
buscar_pelo_filtro_produto_conflito_sincronizacaoGET /produto_conflito_sincronizacao/filtroBusca conflitos de sincronização por filtro
buscar_pelo_id_produto_conflito_sincronizacaoGET /produto_conflito_sincronizacao/{id}Busca um conflito de sincronização pelo id
atualizar_pelo_id_produto_conflito_sincronizacaoPATCH /produto_conflito_sincronizacao/{id}Resolve um conflito de sincronização
deletar_pelo_id_produto_conflito_sincronizacaoDELETE /produto_conflito_sincronizacao/{id}Exclui um conflito de sincronização

buscar_paginador_produto_conflito_sincronizacao

GET/produto_conflito_sincronizacao Exige credencial

Lista os conflitos de sincronização paginados

Exige só uma sessão válida (qualquer pessoa logada no portal). Dos mais novos para os mais antigos; resolvido opcional filtra. 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_produto_conflito_sincronizacao(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarPaginadorProdutoConflitoSincronizacao = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaProdutoConflitoSincronizacao>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_paginador_produto_conflito_sincronizacao } from "termo_core/portal";

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
const resposta = await buscar_paginador_produto_conflito_sincronizacao(credencial_de_acesso, { resolvido: true });

Argumentos

Nome

Tipo

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

criar_produto_conflito_sincronizacao

POST/produto_conflito_sincronizacao Exige credencial

Registra um conflito de sincronização de produto

Exige a permissão criar no módulo Configuracoes do perfil de quem chama (administrador e master têm tudo). Conflito entre o valor do portal e o da API da Termotubos (Tiny) num campo monitorado do produto. campo é preco, preco_a_vista ou estoque; valor_local e valor_api em texto (o da API precisa ser numérico). Campos: produto_id (uuid) é o produto do conflito.

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

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

Argumentos

Nome

Tipo

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

buscar_auto_complete_produto_conflito_sincronizacao

GET/produto_conflito_sincronizacao/autocomplete Exige credencial

Lista básica de conflitos de sincronização para seleção

Exige só uma sessão válida (qualquer pessoa logada no portal). Devolve id e rotulo (SKU - campo), em ordem alfabética. busca procura no SKU e no campo; resolvido filtra. 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_produto_conflito_sincronizacao(
  credencial_de_acesso: CredencialDeAcesso,
  parametros: ParametrosDeBuscarAutoCompleteProdutoConflitoSincronizacao = {},
  opcoes_da_chamada?: OpcoesDaChamada,
): Promise<tipos.PaginaProdutoConflitoSincronizacaoAutoComplete>
Exemplo
import { CredencialDeAcesso } from "termo_core";
import { buscar_auto_complete_produto_conflito_sincronizacao } from "termo_core/portal";

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

Argumentos

Nome

Tipo

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

buscar_pelo_filtro_produto_conflito_sincronizacao

GET/produto_conflito_sincronizacao/filtro Exige credencial

Busca conflitos de sincronização por filtro

Exige só uma sessão válida (qualquer pessoa logada no portal). Devolve os conflitos não excluídos que casam com o filtro, até 50 por página (pagina, a partir de 1, padrão 1), dos mais novos para os mais antigos. produto_id e campo são exatos; resolvido separa pendentes (false) e resolvidos (true).

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

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

Argumentos

Nome

Tipo

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

buscar_pelo_id_produto_conflito_sincronizacao

GET/produto_conflito_sincronizacao/{id} Exige credencial

Busca um conflito de sincronização pelo id

Exige só uma sessão válida (qualquer pessoa logada no portal). Conflito excluído não é encontrado. Traz SKU e nome do produto.

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

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

Argumentos

Nome

Tipo

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

atualizar_pelo_id_produto_conflito_sincronizacao

PATCH/produto_conflito_sincronizacao/{id} Exige credencial

Resolve um conflito de sincronização

Exige a permissão editar no módulo Configuracoes do perfil de quem chama (administrador e master têm tudo). Resolve um conflito pendente: resolucao local mantém o valor do portal e api aplica o valor da API no produto.

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

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

Argumentos

Nome

Tipo

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

deletar_pelo_id_produto_conflito_sincronizacao

DELETE/produto_conflito_sincronizacao/{id} Exige credencial

Exclui um conflito de sincronização

Exige a permissão excluir no módulo Configuracoes do perfil de quem chama (administrador e master têm tudo). A exclusão é lógica: o registro some das leituras, mas a linha não é apagada.

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

const credencial_de_acesso = CredencialDeAcesso.token_do_usuario_logado(token_do_usuario);
await deletar_pelo_id_produto_conflito_sincronizacao(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.

PaginaProdutoConflitoSincronizacao

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

export interface PaginaProdutoConflitoSincronizacao {
  itens: Array<PaginaProdutoConflitoSincronizacaoItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaProdutoConflitoSincronizacaoAutoComplete

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

export interface PaginaProdutoConflitoSincronizacaoAutoComplete {
  itens: Array<PaginaProdutoConflitoSincronizacaoAutoCompleteItensItem>;
  pagina: number;
  tamanho: number;
  total: number;
}

PaginaProdutoConflitoSincronizacaoAutoCompleteItensItem

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

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

PaginaProdutoConflitoSincronizacaoItensItem

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

export interface PaginaProdutoConflitoSincronizacaoItensItem {
  atualizado_em: string;
  campo: string;
  criado_em: string;
  id: string;
  produto_id: string;
  produto_nome: string;
  produto_sku: string;
  resolucao?: string | null;
  resolvido_em?: string | null;
  valor_api: string;
  valor_local: string;
}

ProdutoConflitoSincronizacao

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

export interface ProdutoConflitoSincronizacao {
  atualizado_em: string;
  campo: string;
  criado_em: string;
  id: string;
  produto_id: string;
  produto_nome: string;
  produto_sku: string;
  resolucao?: string | null;
  resolvido_em?: string | null;
  valor_api: string;
  valor_local: string;
}

ProdutoConflitoSincronizacaoAtualizar

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

export interface ProdutoConflitoSincronizacaoAtualizar {
  resolucao: string;
}

ProdutoConflitoSincronizacaoCriar

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

export interface ProdutoConflitoSincronizacaoCriar {
  campo: string;
  produto_id: string;
  valor_api: string;
  valor_local: string;
}

Nesta página