termo_core 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/rotas.d.ts +0 -263
- package/dist/ai/rotas.js +0 -397
- package/dist/ai/tipos.d.ts +0 -202
- package/dist/auth/rotas.d.ts +0 -8
- package/dist/auth/rotas.js +0 -16
- package/dist/auth/tipos.d.ts +0 -8
- package/dist/intranet/rotas.d.ts +0 -335
- package/dist/intranet/rotas.js +0 -463
- package/dist/intranet/tipos.d.ts +0 -210
- package/dist/leads/rotas.d.ts +0 -334
- package/dist/leads/rotas.js +0 -440
- package/dist/leads/tipos.d.ts +0 -653
- package/dist/portal/rotas.d.ts +46 -453
- package/dist/portal/rotas.js +36 -634
- package/dist/portal/tipos.d.ts +108 -313
- package/dist/support/rotas.d.ts +0 -306
- package/dist/support/rotas.js +0 -420
- package/dist/support/tipos.d.ts +0 -216
- package/dist/tracing/rotas.d.ts +0 -305
- package/dist/tracing/rotas.js +0 -415
- package/dist/tracing/tipos.d.ts +0 -250
- package/dist/webhook/rotas.d.ts +0 -333
- package/dist/webhook/rotas.js +0 -458
- package/dist/webhook/tipos.d.ts +0 -255
- package/package.json +1 -1
package/dist/portal/rotas.d.ts
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import type * as tipos from "./tipos.js";
|
|
2
2
|
import type { CredencialDeAcesso } from "../base/credencial.js";
|
|
3
3
|
import { type OpcoesDaChamada } from "../base/requisicao.js";
|
|
4
|
-
/**
|
|
5
|
-
* Parâmetros de consulta e de cabeçalho de `/arquivo/{caminho}`.
|
|
6
|
-
*/
|
|
7
|
-
export interface ParametrosDeBuscarPeloIdArquivo {
|
|
8
|
-
baixar?: string;
|
|
9
|
-
nome?: string;
|
|
10
|
-
}
|
|
11
4
|
/**
|
|
12
5
|
* Parâmetros de consulta e de cabeçalho de `/boletim_tecnico`.
|
|
13
6
|
*/
|
|
@@ -315,6 +308,26 @@ export interface ParametrosDeBuscarPeloFiltroIndicadorVenda {
|
|
|
315
308
|
inicio?: string;
|
|
316
309
|
fim?: string;
|
|
317
310
|
}
|
|
311
|
+
/**
|
|
312
|
+
* Parâmetros de consulta e de cabeçalho de `/nao_conformidade`.
|
|
313
|
+
*/
|
|
314
|
+
export interface ParametrosDeBuscarPaginadorNaoConformidade {
|
|
315
|
+
unidade_id?: string;
|
|
316
|
+
situacao?: string;
|
|
317
|
+
tipo?: string;
|
|
318
|
+
busca?: string;
|
|
319
|
+
pagina?: number;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Parâmetros de consulta e de cabeçalho de `/nao_conformidade/paginador`.
|
|
323
|
+
*/
|
|
324
|
+
export interface ParametrosDeBuscarInformacoesPaginadorNaoConformidade {
|
|
325
|
+
unidade_id?: string;
|
|
326
|
+
situacao?: string;
|
|
327
|
+
tipo?: string;
|
|
328
|
+
busca?: string;
|
|
329
|
+
pagina?: number;
|
|
330
|
+
}
|
|
318
331
|
/**
|
|
319
332
|
* Parâmetros de consulta e de cabeçalho de `/nota_fiscal`.
|
|
320
333
|
*/
|
|
@@ -355,48 +368,6 @@ export interface ParametrosDeBuscarInformacoesPaginadorNotaFiscal {
|
|
|
355
368
|
export interface ParametrosDeBuscarPeloIdNotaFiscal {
|
|
356
369
|
xml?: string;
|
|
357
370
|
}
|
|
358
|
-
/**
|
|
359
|
-
* Parâmetros de consulta e de cabeçalho de `/painel_produto`.
|
|
360
|
-
*/
|
|
361
|
-
export interface ParametrosDeBuscarPaginadorPainelProduto {
|
|
362
|
-
busca?: string;
|
|
363
|
-
cursor?: string;
|
|
364
|
-
ultima_sincronizacao?: string;
|
|
365
|
-
categoria_tiny?: string;
|
|
366
|
-
marca_tiny?: string;
|
|
367
|
-
tipo_tiny?: string;
|
|
368
|
-
unidade?: string;
|
|
369
|
-
ncm?: string;
|
|
370
|
-
garantia?: string;
|
|
371
|
-
cor?: string;
|
|
372
|
-
embalagem_rotulo?: string;
|
|
373
|
-
sku_categoria?: string;
|
|
374
|
-
sku_medida?: string;
|
|
375
|
-
sku_cor?: string;
|
|
376
|
-
na_vitrine?: boolean;
|
|
377
|
-
com_estoque?: boolean;
|
|
378
|
-
}
|
|
379
|
-
/**
|
|
380
|
-
* Parâmetros de consulta e de cabeçalho de `/painel_produto/paginador`.
|
|
381
|
-
*/
|
|
382
|
-
export interface ParametrosDeBuscarInformacoesPaginadorPainelProduto {
|
|
383
|
-
busca?: string;
|
|
384
|
-
cursor?: string;
|
|
385
|
-
ultima_sincronizacao?: string;
|
|
386
|
-
categoria_tiny?: string;
|
|
387
|
-
marca_tiny?: string;
|
|
388
|
-
tipo_tiny?: string;
|
|
389
|
-
unidade?: string;
|
|
390
|
-
ncm?: string;
|
|
391
|
-
garantia?: string;
|
|
392
|
-
cor?: string;
|
|
393
|
-
embalagem_rotulo?: string;
|
|
394
|
-
sku_categoria?: string;
|
|
395
|
-
sku_medida?: string;
|
|
396
|
-
sku_cor?: string;
|
|
397
|
-
na_vitrine?: boolean;
|
|
398
|
-
com_estoque?: boolean;
|
|
399
|
-
}
|
|
400
371
|
/**
|
|
401
372
|
* Parâmetros de consulta e de cabeçalho de `/pedido`.
|
|
402
373
|
*/
|
|
@@ -501,30 +472,6 @@ export interface ParametrosDeBuscarPeloFiltroPedidoVendaTiny {
|
|
|
501
472
|
export interface ParametrosDeBuscarPeloIdPedidoVendaTiny {
|
|
502
473
|
unidade_id?: string;
|
|
503
474
|
}
|
|
504
|
-
/**
|
|
505
|
-
* Parâmetros de consulta e de cabeçalho de `/perfil`.
|
|
506
|
-
*/
|
|
507
|
-
export interface ParametrosDeBuscarPaginadorPerfil {
|
|
508
|
-
pagina?: number;
|
|
509
|
-
}
|
|
510
|
-
/**
|
|
511
|
-
* Parâmetros de consulta e de cabeçalho de `/perfil/autocomplete`.
|
|
512
|
-
*/
|
|
513
|
-
export interface ParametrosDeBuscarAutoCompletePerfil {
|
|
514
|
-
busca?: string;
|
|
515
|
-
pagina?: number;
|
|
516
|
-
tamanho?: number;
|
|
517
|
-
}
|
|
518
|
-
/**
|
|
519
|
-
* Parâmetros de consulta e de cabeçalho de `/perfil/filtro`.
|
|
520
|
-
*/
|
|
521
|
-
export interface ParametrosDeBuscarPeloFiltroPerfil {
|
|
522
|
-
nome?: string;
|
|
523
|
-
slug?: string;
|
|
524
|
-
base?: boolean;
|
|
525
|
-
tipo?: string;
|
|
526
|
-
pagina?: number;
|
|
527
|
-
}
|
|
528
475
|
/**
|
|
529
476
|
* Parâmetros de consulta e de cabeçalho de `/produto`.
|
|
530
477
|
*/
|
|
@@ -600,51 +547,12 @@ export interface ParametrosDeBuscarPeloFiltroProduto {
|
|
|
600
547
|
ordem?: string;
|
|
601
548
|
pagina?: number;
|
|
602
549
|
}
|
|
603
|
-
/**
|
|
604
|
-
* Parâmetros de consulta e de cabeçalho de `/produto_conflito_sincronizacao`.
|
|
605
|
-
*/
|
|
606
|
-
export interface ParametrosDeBuscarPaginadorProdutoConflitoSincronizacao {
|
|
607
|
-
resolvido?: boolean;
|
|
608
|
-
pagina?: number;
|
|
609
|
-
}
|
|
610
|
-
/**
|
|
611
|
-
* Parâmetros de consulta e de cabeçalho de `/produto_conflito_sincronizacao/autocomplete`.
|
|
612
|
-
*/
|
|
613
|
-
export interface ParametrosDeBuscarAutoCompleteProdutoConflitoSincronizacao {
|
|
614
|
-
busca?: string;
|
|
615
|
-
pagina?: number;
|
|
616
|
-
tamanho?: number;
|
|
617
|
-
}
|
|
618
|
-
/**
|
|
619
|
-
* Parâmetros de consulta e de cabeçalho de `/produto_conflito_sincronizacao/filtro`.
|
|
620
|
-
*/
|
|
621
|
-
export interface ParametrosDeBuscarPeloFiltroProdutoConflitoSincronizacao {
|
|
622
|
-
produto_id?: string;
|
|
623
|
-
campo?: string;
|
|
624
|
-
resolvido?: boolean;
|
|
625
|
-
pagina?: number;
|
|
626
|
-
}
|
|
627
550
|
/**
|
|
628
551
|
* Parâmetros de consulta e de cabeçalho de `/produto_estrutura/filtro`.
|
|
629
552
|
*/
|
|
630
553
|
export interface ParametrosDeBuscarPeloFiltroProdutoEstrutura {
|
|
631
554
|
sku: string;
|
|
632
555
|
}
|
|
633
|
-
/**
|
|
634
|
-
* Parâmetros de consulta e de cabeçalho de `/produto_termotubos/filtro`.
|
|
635
|
-
*/
|
|
636
|
-
export interface ParametrosDeBuscarPeloFiltroProdutoTermotubos {
|
|
637
|
-
busca?: string;
|
|
638
|
-
apenas_ativos?: boolean;
|
|
639
|
-
pagina?: number;
|
|
640
|
-
por_pagina?: number;
|
|
641
|
-
}
|
|
642
|
-
/**
|
|
643
|
-
* Parâmetros de consulta e de cabeçalho de `/produto_termotubos/sincronizacao`.
|
|
644
|
-
*/
|
|
645
|
-
export interface ParametrosDeIniciarSincronizacaoProdutoTermotubos {
|
|
646
|
-
apenas_ativos?: boolean;
|
|
647
|
-
}
|
|
648
556
|
/**
|
|
649
557
|
* Parâmetros de consulta e de cabeçalho de `/produto_tiny/filtro`.
|
|
650
558
|
*/
|
|
@@ -694,33 +602,6 @@ export interface ParametrosDeBuscarInformacoesPaginadorRastreamento {
|
|
|
694
602
|
auxiliar_transportadora?: string;
|
|
695
603
|
auxiliar_situacao?: string;
|
|
696
604
|
}
|
|
697
|
-
/**
|
|
698
|
-
* Parâmetros de consulta e de cabeçalho de `/tabela_auxiliar`.
|
|
699
|
-
*/
|
|
700
|
-
export interface ParametrosDeBuscarPaginadorTabelaAuxiliar {
|
|
701
|
-
tabela?: string;
|
|
702
|
-
campo?: string;
|
|
703
|
-
pagina?: number;
|
|
704
|
-
}
|
|
705
|
-
/**
|
|
706
|
-
* Parâmetros de consulta e de cabeçalho de `/tabela_auxiliar/autocomplete`.
|
|
707
|
-
*/
|
|
708
|
-
export interface ParametrosDeBuscarAutoCompleteTabelaAuxiliar {
|
|
709
|
-
tabela: string;
|
|
710
|
-
campo: string;
|
|
711
|
-
busca?: string;
|
|
712
|
-
pagina?: number;
|
|
713
|
-
tamanho?: number;
|
|
714
|
-
}
|
|
715
|
-
/**
|
|
716
|
-
* Parâmetros de consulta e de cabeçalho de `/tabela_auxiliar/filtro`.
|
|
717
|
-
*/
|
|
718
|
-
export interface ParametrosDeBuscarPeloFiltroTabelaAuxiliar {
|
|
719
|
-
tabela?: string;
|
|
720
|
-
campo?: string;
|
|
721
|
-
label?: string;
|
|
722
|
-
pagina?: number;
|
|
723
|
-
}
|
|
724
605
|
/**
|
|
725
606
|
* Parâmetros de consulta e de cabeçalho de `/unidade`.
|
|
726
607
|
*/
|
|
@@ -747,34 +628,10 @@ export interface ParametrosDeBuscarPeloFiltroUnidade {
|
|
|
747
628
|
cliente_id?: string;
|
|
748
629
|
pagina?: number;
|
|
749
630
|
}
|
|
750
|
-
/**
|
|
751
|
-
* Envia um arquivo (imagem ou PDF de boletim)
|
|
752
|
-
*
|
|
753
|
-
* Exige uma sessão válida; as pastas (`produtos` e `boletins`) exigem a permissão `criar` ou `editar` no módulo `Configuracoes`. Formulário `multipart/form-data` com os campos `pasta` e `arquivo`. Imagem de produto (`produtos`, até 5 MB, PNG, JPG, WEBP ou GIF) vai para o TermoBucket (bucket público, app `portal-b2b`, pelo token do próprio app) e a `url` devolvida é o endereço público permanente dela, que vai nas `imagens` do produto (até 15). PDF de boletim (`boletins`, até 20 MB) fica no disco da API e a `url` é relativa (`/arquivo/boletins/<uuid>.pdf`).
|
|
754
|
-
*
|
|
755
|
-
* `POST /arquivo`
|
|
756
|
-
*/
|
|
757
|
-
export declare function criar_arquivo(credencial_de_acesso: CredencialDeAcesso, formulario: FormData, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Arquivo>;
|
|
758
|
-
/**
|
|
759
|
-
* Lê um arquivo enviado
|
|
760
|
-
*
|
|
761
|
-
* Exige só uma sessão válida (qualquer pessoa logada no portal). Devolve o conteúdo do arquivo com o `Content-Type` dele (imagem ou PDF). `caminho` é o que vem depois de `/arquivo/` na `url` devolvida pelo envio (ex.: `produtos/<uuid>.png`). Campos: `baixar` com o valor `1` força o download (Content-Disposition attachment); `nome` é o nome sugerido para o download (só letras, números, ponto, hífen e `_`).
|
|
762
|
-
*
|
|
763
|
-
* `GET /arquivo/{caminho}`
|
|
764
|
-
*/
|
|
765
|
-
export declare function buscar_pelo_id_arquivo(credencial_de_acesso: CredencialDeAcesso, caminho: string, parametros?: ParametrosDeBuscarPeloIdArquivo, opcoes_da_chamada?: OpcoesDaChamada): Promise<Uint8Array>;
|
|
766
|
-
/**
|
|
767
|
-
* Apaga um arquivo enviado
|
|
768
|
-
*
|
|
769
|
-
* Exige a permissão `excluir` no módulo `Configuracoes` do perfil de quem chama (administrador e master têm tudo). Apaga o arquivo do disco de verdade (não há exclusão lógica para arquivos). `caminho` é o que vem depois de `/arquivo/` na `url`.
|
|
770
|
-
*
|
|
771
|
-
* `DELETE /arquivo/{caminho}`
|
|
772
|
-
*/
|
|
773
|
-
export declare function deletar_pelo_id_arquivo(credencial_de_acesso: CredencialDeAcesso, caminho: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
|
|
774
631
|
/**
|
|
775
632
|
* Lista as categorias com a situação do boletim
|
|
776
633
|
*
|
|
777
|
-
* Exige sessão. Uma linha por categoria do SKU (`sku_categoria` da tabela auxiliar, mais as que já têm boletim), tenha ela boletim ou não: `boletim_tecnico_id` e `atualizado_em` vêm nulos quando ainda não tem. `total_medidas` junta as medidas dos produtos da categoria e as já descritas; `situacao` é `vazio` (sem
|
|
634
|
+
* Exige sessão. Uma linha por categoria do SKU (`sku_categoria` da tabela auxiliar, mais as que já têm boletim), tenha ela boletim ou não: `boletim_tecnico_id` e `atualizado_em` vêm nulos quando ainda não tem. `total_medidas` junta as medidas dos produtos da categoria e as já descritas; `situacao` é `vazio` (sem nome e sem descrição), `completo` (com nome e descrição) ou `incompleto` (só um dos dois); as medidas não contam. `busca` procura no código e na descrição; `situacao` filtra. Ordem pelo código, 50 por página, por cursor: `cursor` é o `sku_categoria` da última linha recebida. As categorias saem de um cache em memória, descartado a cada gravação em boletim, medida, tabela auxiliar ou produto (e recarregado do banco no máximo a cada 10 minutos).
|
|
778
635
|
*
|
|
779
636
|
* `GET /boletim_tecnico`
|
|
780
637
|
*/
|
|
@@ -1035,14 +892,6 @@ export declare function buscar_pelo_filtro_cliente(credencial_de_acesso: Credenc
|
|
|
1035
892
|
* `GET /cliente/paginador`
|
|
1036
893
|
*/
|
|
1037
894
|
export declare function buscar_informacoes_paginador_cliente(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarInformacoesPaginadorCliente, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.ClientePaginador>;
|
|
1038
|
-
/**
|
|
1039
|
-
* Sincroniza um lote de clientes do Tiny
|
|
1040
|
-
*
|
|
1041
|
-
* Só colaborador interno com `editar` no módulo `Configuracoes`. Traz 10 páginas (500 clientes) do TermoIntranetAPI pelo `termo_core` (token do próprio app no TermoAuth) e grava na tabela `cliente`: cliente que já entra no portal é casado pelo CNPJ da unidade dele e só recebe os campos do Tiny (`id_api`, `codigo`, `id_tiny`, `cpf_cnpj`, `tipo_pessoa`, `nome_fantasia`, `email_tiny`, `telefone_tiny`, `celular`, `cidade`, `uf`, `vendedor`, `situacao_tiny`); os demais entram sem login (`email` nulo, `status` `inativo`). A listagem de lá é por cursor: a primeira chamada vai sem `cursor` e a seguinte manda o `proximo_cursor` recebido (nulo no fim). `total` é o total de clientes ativos na intranet. O backend também sincroniza sozinho (`SINCRONIZACAO_CLIENTE_MINUTOS`, `_PAGINAS` e `_COMPLETA_HORAS`).
|
|
1042
|
-
*
|
|
1043
|
-
* `POST /cliente/sincronizar`
|
|
1044
|
-
*/
|
|
1045
|
-
export declare function sincronizar_cliente(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.ClienteSincronizar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.SincronizacaoClientes>;
|
|
1046
895
|
/**
|
|
1047
896
|
* Busca o cliente pelo id
|
|
1048
897
|
*
|
|
@@ -1334,7 +1183,7 @@ export declare function deletar_pelo_id_fatura(credencial_de_acesso: CredencialD
|
|
|
1334
1183
|
/**
|
|
1335
1184
|
* Indicadores de compra de uma unidade
|
|
1336
1185
|
*
|
|
1337
|
-
* Exige a permissão `ver` no módulo `Dashboard` do perfil de quem chama (administrador e master têm tudo). Soma na hora as compras (notas emitidas pelo Tiny) do CNPJ da unidade `unidade_id`: total comprado, comparação com o período anterior (períodos de até 731 dias), notas, produtos diferentes, última compra, compras por mês, por tipo e os produtos mais comprados (até
|
|
1186
|
+
* Exige a permissão `ver` no módulo `Dashboard` do perfil de quem chama (administrador e master têm tudo). Soma na hora as compras (notas emitidas pelo Tiny) do CNPJ da unidade `unidade_id`: total comprado, comparação com o período anterior (períodos de até 731 dias), notas, produtos diferentes, última compra, compras por mês, por tipo e os produtos mais comprados (até 10). `unidade_id` é obrigatório e precisa ser uma unidade da sessão (colaborador interno acessa todas). `inicio` e `fim` em AAAA-MM-DD (padrão: últimos 365 dias). `amostra: true` indica soma parcial. Até 30 chamadas por minuto por pessoa.
|
|
1338
1187
|
*
|
|
1339
1188
|
* `GET /indicador_compra/filtro`
|
|
1340
1189
|
*/
|
|
@@ -1348,45 +1197,45 @@ export declare function buscar_pelo_filtro_indicador_compra(credencial_de_acesso
|
|
|
1348
1197
|
*/
|
|
1349
1198
|
export declare function buscar_pelo_filtro_indicador_venda(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPeloFiltroIndicadorVenda, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.IndicadoresDeVenda>;
|
|
1350
1199
|
/**
|
|
1351
|
-
*
|
|
1200
|
+
* Lista as RNCs e ocorrências da qualidade de uma unidade
|
|
1352
1201
|
*
|
|
1353
|
-
*
|
|
1202
|
+
* Só colaborador interno. Consulta na hora a API de qualidade da Termotubos (intranet) pelo CNPJ da unidade (`unidade_id`, obrigatório), da mais recente para a mais antiga. Filtros: `situacao` (`todas`, `abertas`, `fechadas`, `rascunho`; padrão `todas`), `tipo` (`todos`, `rnc`, `ocorrencia`; padrão `todos`) e `busca` (número, nota fiscal, documento, código do produto, lote, problema, motivo, objetivo, responsável ou emitente). 50 por página; `pagina` começa em 1. Totais e contagens em `GET /nao_conformidade/paginador`.
|
|
1354
1203
|
*
|
|
1355
|
-
* `GET /
|
|
1204
|
+
* `GET /nao_conformidade`
|
|
1356
1205
|
*/
|
|
1357
|
-
export declare function
|
|
1206
|
+
export declare function buscar_paginador_nao_conformidade(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPaginadorNaoConformidade, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.NaoConformidadeTermotubos>>;
|
|
1358
1207
|
/**
|
|
1359
|
-
*
|
|
1208
|
+
* Totais, contagens e resumo das RNCs de uma unidade
|
|
1360
1209
|
*
|
|
1361
|
-
*
|
|
1210
|
+
* Só colaborador interno. Mesmos filtros de `GET /nao_conformidade`. `total` e `paginas` seguem todos os filtros; `contagens` (todas, abertas, fechadas, rascunho, rnc, ocorrencias) seguem só a `busca`; o `resumo` (custo total, abertas com gravidade alta, abertura mais antiga ainda aberta, última abertura, média de dias para fechar e até 3 problemas que se repetem) olha todas as não conformidades da unidade.
|
|
1362
1211
|
*
|
|
1363
|
-
* `GET /
|
|
1212
|
+
* `GET /nao_conformidade/paginador`
|
|
1364
1213
|
*/
|
|
1365
|
-
export declare function
|
|
1214
|
+
export declare function buscar_informacoes_paginador_nao_conformidade(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarInformacoesPaginadorNaoConformidade, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.NaoConformidadePaginador>;
|
|
1366
1215
|
/**
|
|
1367
|
-
*
|
|
1216
|
+
* Busca uma RNC ou ocorrência completa pelo id da intranet
|
|
1368
1217
|
*
|
|
1369
|
-
* Só colaborador interno
|
|
1218
|
+
* Só colaborador interno. Traz os dados da lista e mais as etapas do tratamento (descrição, ação imediata, análise da causa raiz, ação corretiva, evidência, eficácia, justificativa e observação geral), cada uma com os responsáveis e as mensagens em texto (o HTML da intranet é convertido e as imagens coladas como link vêm em `imagens`), além dos custos e anexos.
|
|
1370
1219
|
*
|
|
1371
|
-
* `GET /
|
|
1220
|
+
* `GET /nao_conformidade/{id}`
|
|
1372
1221
|
*/
|
|
1373
|
-
export declare function
|
|
1222
|
+
export declare function buscar_pelo_id_nao_conformidade(credencial_de_acesso: CredencialDeAcesso, id: number, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.DetalheNaoConformidadeTermotubos>;
|
|
1374
1223
|
/**
|
|
1375
|
-
*
|
|
1224
|
+
* Uma página das notas fiscais, por cursor
|
|
1376
1225
|
*
|
|
1377
|
-
*
|
|
1226
|
+
* Exige a permissão `ver` no módulo `Financeiro` do perfil de quem chama (administrador e master têm tudo). Lê a tabela `nota_fiscal`, que o backend sincroniza sozinho com as notas emitidas no Tiny (pela API da Termotubos), com parcelas e situação financeira; a emissão mais recente vem primeiro e a resposta é só o array das 50 notas da página. Quem não é colaborador interno precisa informar `unidade_id` de uma unidade da sessão e só vê as notas do CNPJ dela; colaborador interno pode omitir e ver todas. Filtros: `filtro` (`todas`, `hoje`, `mes`; padrão `todas`; `hoje` e `mes` trocam o período), `busca` (CPF/CNPJ, número da nota ou nome do cliente), `inicio` e `fim` (AAAA-MM-DD) e `vendedor` (id no Tiny, só colaborador). A paginação é por cursor: a primeira página vai sem `cursor` e a seguinte manda em `cursor` o `id` da última nota recebida. Total, páginas e contagens vêm de `GET /nota_fiscal/paginador`, com o mesmo filtro.
|
|
1378
1227
|
*
|
|
1379
|
-
* `
|
|
1228
|
+
* `GET /nota_fiscal`
|
|
1380
1229
|
*/
|
|
1381
|
-
export declare function
|
|
1230
|
+
export declare function buscar_paginador_nota_fiscal(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPaginadorNotaFiscal, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.NotaFiscal>>;
|
|
1382
1231
|
/**
|
|
1383
|
-
*
|
|
1232
|
+
* Total, páginas e contagens das notas fiscais
|
|
1384
1233
|
*
|
|
1385
|
-
*
|
|
1234
|
+
* Mesma permissão, mesmos filtros e mesma regra de unidade de `GET /nota_fiscal` (o `cursor` é ignorado). Devolve `total` e `paginas` com o filtro escolhido, `tamanho` (50), `sincronizado_em` (a última sincronização; nulo se nunca houve) e `contagens` (`todas`, `hoje`, `mes`), que usam os outros filtros e trocam o período pelo do bloco.
|
|
1386
1235
|
*
|
|
1387
|
-
* `
|
|
1236
|
+
* `GET /nota_fiscal/paginador`
|
|
1388
1237
|
*/
|
|
1389
|
-
export declare function
|
|
1238
|
+
export declare function buscar_informacoes_paginador_nota_fiscal(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarInformacoesPaginadorNotaFiscal, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.NotaFiscalPaginador>;
|
|
1390
1239
|
/**
|
|
1391
1240
|
* Busca uma nota fiscal pelo id do Tiny
|
|
1392
1241
|
*
|
|
@@ -1395,22 +1244,6 @@ export declare function cancelar_sincronizacao_nota_fiscal(credencial_de_acesso:
|
|
|
1395
1244
|
* `GET /nota_fiscal/{id}`
|
|
1396
1245
|
*/
|
|
1397
1246
|
export declare function buscar_pelo_id_nota_fiscal(credencial_de_acesso: CredencialDeAcesso, id: number, parametros?: ParametrosDeBuscarPeloIdNotaFiscal, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.NotaFiscal>;
|
|
1398
|
-
/**
|
|
1399
|
-
* Uma página da lista de Produtos do painel, por cursor
|
|
1400
|
-
*
|
|
1401
|
-
* Só colaborador interno (mesma regra da leitura de `produto_conflito_sincronizacao`). Lê a tabela `produto` inteira de um cache em memória (descartado a cada gravação em produto ou em conflito de sincronização, e recarregado do banco no máximo a cada 10 minutos), em ordem alfabética do nome (sem diferença de maiúscula; empate pelo id), e devolve só o array das 50 linhas da página. A paginação é por cursor: a primeira página vai sem `cursor`, e a seguinte manda em `cursor` o `id` da última linha recebida. `busca` (sem acento e sem maiúscula) procura o texto no nome ou no SKU. `ultima_sincronizacao` (data ISO, AAAA-MM-DD ou data e hora com fuso) é o início da última sincronização do painel: produto criado depois dela vem com `estado` `novo` e produto da API sincronizado depois dela, `mudou`; com conflito de sincronização pendente, `conflito`; senão, `em-dia`. Total e páginas vêm de `GET /painel_produto/paginador`, com a mesma `busca`.
|
|
1402
|
-
*
|
|
1403
|
-
* `GET /painel_produto`
|
|
1404
|
-
*/
|
|
1405
|
-
export declare function buscar_paginador_painel_produto(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPaginadorPainelProduto, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.PainelProdutoLinha>>;
|
|
1406
|
-
/**
|
|
1407
|
-
* Total e páginas da lista de Produtos do painel
|
|
1408
|
-
*
|
|
1409
|
-
* Só colaborador interno (mesma regra da leitura de `produto_conflito_sincronizacao`). Recebe os mesmos parâmetros de `GET /painel_produto` (`cursor` e `ultima_sincronizacao` não mudam a conta) e devolve `total` (produtos com a `busca`), `paginas` (total dividido por `tamanho`, arredondado para cima, no mínimo 1) e `tamanho` (sempre 50).
|
|
1410
|
-
*
|
|
1411
|
-
* `GET /painel_produto/paginador`
|
|
1412
|
-
*/
|
|
1413
|
-
export declare function buscar_informacoes_paginador_painel_produto(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarInformacoesPaginadorPainelProduto, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PainelProdutoPaginador>;
|
|
1414
1247
|
/**
|
|
1415
1248
|
* Lista os pedidos paginados
|
|
1416
1249
|
*
|
|
@@ -1470,7 +1303,7 @@ export declare function deletar_pelo_id_pedido(credencial_de_acesso: CredencialD
|
|
|
1470
1303
|
/**
|
|
1471
1304
|
* Envia um pedido para a IA montar
|
|
1472
1305
|
*
|
|
1473
|
-
* Exige a permissão `criar` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Formulário `multipart/form-data` com `unidade_id` (uma unidade da sessão), `texto` (opcional, até 4000 caracteres) e até 5 campos `arquivo` (áudio MP3, M4A, OGG, OPUS, WAV ou WEBM; PDF; foto PNG, JPG ou WEBP; planilha XLSX ou CSV), cada um com até 20 MB e o envio inteiro com até 25 MB; é preciso mandar o texto ou ao menos um anexo. Grava o pedido com `status` `analisando` e responde na hora; a análise roda no servidor: os anexos vão para o TermoBucket (privados), tudo vira texto (PDF e planilha no próprio Portal, foto, PDF escaneado e áudio pelo TermoAI) e a IA de texto escolhida em Provedores procura cada item no catálogo e no boletim técnico. Acompanhe por `GET /pedido_inteligente/{id}` até `status` virar `pronto` (com os `itens` para revisar) ou `erro` (com o motivo em `erro`). Cada unidade manda no máximo 20 pedidos por hora.
|
|
1306
|
+
* Exige a permissão `criar` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Formulário `multipart/form-data` com `unidade_id` (uma unidade da sessão), `texto` (opcional, até 4000 caracteres) e até 5 campos `arquivo` (áudio MP3, M4A, OGG, OPUS, WAV ou WEBM; PDF; foto PNG, JPG ou WEBP; planilha XLSX ou CSV), cada um com até 20 MB e o envio inteiro com até 25 MB; é preciso mandar o texto ou ao menos um anexo. Grava o pedido com `status` `analisando` e responde na hora; a análise roda no servidor: os anexos vão para o TermoBucket (privados), tudo vira texto (PDF e planilha no próprio Portal, foto, PDF escaneado e áudio pelo TermoAI) e a IA de texto escolhida em Provedores procura cada item no catálogo e no boletim técnico. Os nomes que a unidade já vinculou na revisão (veja o `PATCH`) vão para a IA e fecham os itens com o mesmo nome. Se a IA falhar ou não achar nenhum item, cada linha do texto vira um item `nao_encontrado` para o cliente vincular, e `aviso` explica isso. Acompanhe por `GET /pedido_inteligente/{id}` até `status` virar `pronto` (com os `itens` para revisar) ou `erro` (com o motivo em `erro`). Cada unidade manda no máximo 20 pedidos por hora.
|
|
1474
1307
|
*
|
|
1475
1308
|
* `POST /pedido_inteligente`
|
|
1476
1309
|
*/
|
|
@@ -1486,7 +1319,7 @@ export declare function buscar_pelo_filtro_pedido_inteligente(credencial_de_aces
|
|
|
1486
1319
|
/**
|
|
1487
1320
|
* Busca um pedido inteligente pelo id
|
|
1488
1321
|
*
|
|
1489
|
-
* Exige a permissão `ver` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Pedido de uma unidade fora da sessão responde 404, como se não existisse. Depois da análise, cada anexo guardado traz `url`, um link de download do TermoBucket que vale 15 minutos. Cada item traz `pedido_do_cliente` (o trecho que o cliente escreveu), `situacao` (`encontrado`, `escolher`, `indisponivel` ou `nao_encontrado`), `quantidade`, `escolhido`, `opcoes` e `observacao` (como a IA entendeu o item); `cotacao_id` aparece quando o pedido já virou cotação.
|
|
1322
|
+
* Exige a permissão `ver` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Pedido de uma unidade fora da sessão responde 404, como se não existisse. Depois da análise, cada anexo guardado traz `url`, um link de download do TermoBucket que vale 15 minutos. Cada item traz `pedido_do_cliente` (o trecho que o cliente escreveu), `situacao` (`encontrado`, `escolher`, `indisponivel` ou `nao_encontrado`), `quantidade`, `escolhido`, `opcoes` e `observacao` (como a IA entendeu o item); `aviso` aparece quando o pedido foi montado sem a IA; `cotacao_id` aparece quando o pedido já virou cotação.
|
|
1490
1323
|
*
|
|
1491
1324
|
* `GET /pedido_inteligente/{id}`
|
|
1492
1325
|
*/
|
|
@@ -1494,7 +1327,7 @@ export declare function buscar_pelo_id_pedido_inteligente(credencial_de_acesso:
|
|
|
1494
1327
|
/**
|
|
1495
1328
|
* Grava a revisão do cliente
|
|
1496
1329
|
*
|
|
1497
|
-
* Exige a permissão `editar` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Só vale com `status` `pronto`. `itens` tem uma escolha por item do pedido, na mesma ordem: `produto_id` é o produto escolhido
|
|
1330
|
+
* Exige a permissão `editar` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Só vale com `status` `pronto`. `itens` tem uma escolha por item do pedido, na mesma ordem: `produto_id` é o produto escolhido (nulo tira o item da cotação), `quantidade` vai de 0 a 9999 (acima de zero) e `remover` (opcional, padrão `false`) tira o item do pedido. O produto pode ser o `escolhido`, uma das `opcoes` ou qualquer produto ativo do catálogo; neste último caso a unidade guarda o vínculo entre o nome que o cliente escreveu e o produto, e os próximos pedidos com o mesmo nome já chegam com ele.
|
|
1498
1331
|
*
|
|
1499
1332
|
* `PATCH /pedido_inteligente/{id}`
|
|
1500
1333
|
*/
|
|
@@ -1534,19 +1367,11 @@ export declare function buscar_pelo_id_pedido_venda(credencial_de_acesso: Creden
|
|
|
1534
1367
|
/**
|
|
1535
1368
|
* Paginador dos pedidos de venda salvos no portal
|
|
1536
1369
|
*
|
|
1537
|
-
* 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
|
|
1370
|
+
* 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 pela sincronização do backend) 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).
|
|
1538
1371
|
*
|
|
1539
1372
|
* `GET /pedido_venda_tiny`
|
|
1540
1373
|
*/
|
|
1541
1374
|
export declare function buscar_paginador_pedido_venda_tiny(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPaginadorPedidoVendaTiny, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginadorPedidosVendaTiny>;
|
|
1542
|
-
/**
|
|
1543
|
-
* Sincroniza um lote de pedidos de venda com a Intranet
|
|
1544
|
-
*
|
|
1545
|
-
* 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.
|
|
1546
|
-
*
|
|
1547
|
-
* `POST /pedido_venda_tiny`
|
|
1548
|
-
*/
|
|
1549
|
-
export declare function criar_pedido_venda_tiny(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.PedidoVendaTinySincronizar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.SincronizacaoPedidosVendaTiny>;
|
|
1550
1375
|
/**
|
|
1551
1376
|
* Autocomplete dos pedidos de venda salvos no portal
|
|
1552
1377
|
*
|
|
@@ -1571,62 +1396,6 @@ export declare function buscar_pelo_filtro_pedido_venda_tiny(credencial_de_acess
|
|
|
1571
1396
|
* `GET /pedido_venda_tiny/{id}`
|
|
1572
1397
|
*/
|
|
1573
1398
|
export declare function buscar_pelo_id_pedido_venda_tiny(credencial_de_acesso: CredencialDeAcesso, id: number, parametros?: ParametrosDeBuscarPeloIdPedidoVendaTiny, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PedidoVendaTiny>;
|
|
1574
|
-
/**
|
|
1575
|
-
* Lista os perfis paginados
|
|
1576
|
-
*
|
|
1577
|
-
* Exige só uma sessão válida (qualquer pessoa logada no portal). Ordem alfabética. 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`.
|
|
1578
|
-
*
|
|
1579
|
-
* `GET /perfil`
|
|
1580
|
-
*/
|
|
1581
|
-
export declare function buscar_paginador_perfil(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPaginadorPerfil, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaPerfil>;
|
|
1582
|
-
/**
|
|
1583
|
-
* Cadastra um perfil de acesso
|
|
1584
|
-
*
|
|
1585
|
-
* Exige perfil administrador ou master. Perfil de acesso (RBAC) das pessoas do portal. `nome` obrigatório, até 120 caracteres e único (o `slug` sai do nome); `resumo` até 500; `tipo` é `termotubos` ou `cliente`; `base: true` marca o perfil dado ao cliente novo (só um, só de cliente, nunca administrador); `permissoes` por módulo (`Dashboard`, `Pedidos`, `Financeiro`, `Catalogo`, `Cotacoes`, `Assistente`, `Configuracoes`) com `ver`, `criar`, `editar`, `excluir` e a exibição no menu; `permissoes_administrativas` entre `contexto_administrativo.entrar`, `unidades.ler`, `pedidos.ler_todos`, `cotacoes.ler_todas`, `financeiro.ler_todos` e `usuarios.gerenciar`. Cada item de `permissoes` tem `modulo`, `pagina` (página do módulo; `*` vale para o módulo inteiro, padrão), `ver`, `criar`, `editar`, `excluir` (booleanos) e `mostrar_na_sidebar` e `mostrar_nas_configuracoes` (booleanos, exibição no menu). Campos: `base` (booleano) marca o perfil dado ao cliente novo (só um, só de cliente).
|
|
1586
|
-
*
|
|
1587
|
-
* `POST /perfil`
|
|
1588
|
-
*/
|
|
1589
|
-
export declare function criar_perfil(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.PerfilCriar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Perfil>;
|
|
1590
|
-
/**
|
|
1591
|
-
* Lista básica de perfis para seleção
|
|
1592
|
-
*
|
|
1593
|
-
* Exige só uma sessão válida (qualquer pessoa logada no portal). Devolve só id e nome, em ordem alfabética. `busca` procura no nome. `tamanho` tem padrão 10 e vai de 1 a 50; `pagina` começa em 1. A resposta traz `itens`, `total`, `pagina` e `tamanho`.
|
|
1594
|
-
*
|
|
1595
|
-
* `GET /perfil/autocomplete`
|
|
1596
|
-
*/
|
|
1597
|
-
export declare function buscar_auto_complete_perfil(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarAutoCompletePerfil, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaPerfilAutoComplete>;
|
|
1598
|
-
/**
|
|
1599
|
-
* Busca perfis por filtro
|
|
1600
|
-
*
|
|
1601
|
-
* Exige só uma sessão válida (qualquer pessoa logada no portal). Devolve os perfis não excluídos que casam com o filtro, até 50 por página (`pagina`, a partir de 1, padrão 1), em ordem alfabética. `nome` procura o trecho; `slug`, `base` e `tipo` são exatos.
|
|
1602
|
-
*
|
|
1603
|
-
* `GET /perfil/filtro`
|
|
1604
|
-
*/
|
|
1605
|
-
export declare function buscar_pelo_filtro_perfil(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPeloFiltroPerfil, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.Perfil>>;
|
|
1606
|
-
/**
|
|
1607
|
-
* Busca um perfil pelo id
|
|
1608
|
-
*
|
|
1609
|
-
* Exige só uma sessão válida (qualquer pessoa logada no portal). Perfil excluído não é encontrado. Traz permissões e quantidade de pessoas.
|
|
1610
|
-
*
|
|
1611
|
-
* `GET /perfil/{id}`
|
|
1612
|
-
*/
|
|
1613
|
-
export declare function buscar_pelo_id_perfil(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Perfil>;
|
|
1614
|
-
/**
|
|
1615
|
-
* Atualiza um perfil de acesso
|
|
1616
|
-
*
|
|
1617
|
-
* Exige perfil administrador ou master. Mesmas regras do cadastro; o tipo não muda. `permissoes` e `permissoes_administrativas`, quando enviados, substituem as anteriores. Cada item de `permissoes` tem `modulo`, `pagina` (página do módulo; `*` vale para o módulo inteiro, padrão), `ver`, `criar`, `editar`, `excluir` (booleanos) e `mostrar_na_sidebar` e `mostrar_nas_configuracoes` (booleanos, exibição no menu). Atualização parcial: campo ausente mantém o valor atual. Campos: `nome` é obrigatório quando enviado (mesmo limite do cadastro); `resumo` até 500 caracteres; `base` (booleano) marca o perfil dado ao cliente novo (só um, só de cliente).
|
|
1618
|
-
*
|
|
1619
|
-
* `PATCH /perfil/{id}`
|
|
1620
|
-
*/
|
|
1621
|
-
export declare function atualizar_pelo_id_perfil(credencial_de_acesso: CredencialDeAcesso, id: string, corpo_da_requisicao: tipos.PerfilAtualizar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Perfil>;
|
|
1622
|
-
/**
|
|
1623
|
-
* Exclui um perfil de acesso
|
|
1624
|
-
*
|
|
1625
|
-
* Exige perfil administrador ou master. Recusa o perfil base e perfis com pessoas vinculadas. A exclusão é lógica: o registro some das leituras, mas a linha não é apagada.
|
|
1626
|
-
*
|
|
1627
|
-
* `DELETE /perfil/{id}`
|
|
1628
|
-
*/
|
|
1629
|
-
export declare function deletar_pelo_id_perfil(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
|
|
1630
1399
|
/**
|
|
1631
1400
|
* Lista os produtos paginados
|
|
1632
1401
|
*
|
|
@@ -1683,62 +1452,6 @@ export declare function atualizar_pelo_id_produto(credencial_de_acesso: Credenci
|
|
|
1683
1452
|
* `DELETE /produto/{id}`
|
|
1684
1453
|
*/
|
|
1685
1454
|
export declare function deletar_pelo_id_produto(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
|
|
1686
|
-
/**
|
|
1687
|
-
* Lista os conflitos de sincronização paginados
|
|
1688
|
-
*
|
|
1689
|
-
* 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`.
|
|
1690
|
-
*
|
|
1691
|
-
* `GET /produto_conflito_sincronizacao`
|
|
1692
|
-
*/
|
|
1693
|
-
export declare function buscar_paginador_produto_conflito_sincronizacao(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPaginadorProdutoConflitoSincronizacao, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaProdutoConflitoSincronizacao>;
|
|
1694
|
-
/**
|
|
1695
|
-
* Registra um conflito de sincronização de produto
|
|
1696
|
-
*
|
|
1697
|
-
* 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.
|
|
1698
|
-
*
|
|
1699
|
-
* `POST /produto_conflito_sincronizacao`
|
|
1700
|
-
*/
|
|
1701
|
-
export declare function criar_produto_conflito_sincronizacao(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.ProdutoConflitoSincronizacaoCriar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.ProdutoConflitoSincronizacao>;
|
|
1702
|
-
/**
|
|
1703
|
-
* Lista básica de conflitos de sincronização para seleção
|
|
1704
|
-
*
|
|
1705
|
-
* 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`.
|
|
1706
|
-
*
|
|
1707
|
-
* `GET /produto_conflito_sincronizacao/autocomplete`
|
|
1708
|
-
*/
|
|
1709
|
-
export declare function buscar_auto_complete_produto_conflito_sincronizacao(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarAutoCompleteProdutoConflitoSincronizacao, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaProdutoConflitoSincronizacaoAutoComplete>;
|
|
1710
|
-
/**
|
|
1711
|
-
* Busca conflitos de sincronização por filtro
|
|
1712
|
-
*
|
|
1713
|
-
* 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`).
|
|
1714
|
-
*
|
|
1715
|
-
* `GET /produto_conflito_sincronizacao/filtro`
|
|
1716
|
-
*/
|
|
1717
|
-
export declare function buscar_pelo_filtro_produto_conflito_sincronizacao(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPeloFiltroProdutoConflitoSincronizacao, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.ProdutoConflitoSincronizacao>>;
|
|
1718
|
-
/**
|
|
1719
|
-
* Busca um conflito de sincronização pelo id
|
|
1720
|
-
*
|
|
1721
|
-
* Exige só uma sessão válida (qualquer pessoa logada no portal). Conflito excluído não é encontrado. Traz SKU e nome do produto.
|
|
1722
|
-
*
|
|
1723
|
-
* `GET /produto_conflito_sincronizacao/{id}`
|
|
1724
|
-
*/
|
|
1725
|
-
export declare function buscar_pelo_id_produto_conflito_sincronizacao(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.ProdutoConflitoSincronizacao>;
|
|
1726
|
-
/**
|
|
1727
|
-
* Resolve um conflito de sincronização
|
|
1728
|
-
*
|
|
1729
|
-
* 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.
|
|
1730
|
-
*
|
|
1731
|
-
* `PATCH /produto_conflito_sincronizacao/{id}`
|
|
1732
|
-
*/
|
|
1733
|
-
export declare 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>;
|
|
1734
|
-
/**
|
|
1735
|
-
* Exclui um conflito de sincronização
|
|
1736
|
-
*
|
|
1737
|
-
* 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.
|
|
1738
|
-
*
|
|
1739
|
-
* `DELETE /produto_conflito_sincronizacao/{id}`
|
|
1740
|
-
*/
|
|
1741
|
-
export declare function deletar_pelo_id_produto_conflito_sincronizacao(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
|
|
1742
1455
|
/**
|
|
1743
1456
|
* Busca as embalagens e os componentes de um produto
|
|
1744
1457
|
*
|
|
@@ -1747,46 +1460,6 @@ export declare function deletar_pelo_id_produto_conflito_sincronizacao(credencia
|
|
|
1747
1460
|
* `GET /produto_estrutura/filtro`
|
|
1748
1461
|
*/
|
|
1749
1462
|
export declare function buscar_pelo_filtro_produto_estrutura(credencial_de_acesso: CredencialDeAcesso, parametros: ParametrosDeBuscarPeloFiltroProdutoEstrutura, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.ProdutoEstrutura>;
|
|
1750
|
-
/**
|
|
1751
|
-
* Importa ou sincroniza produtos do Tiny pelo SKU
|
|
1752
|
-
*
|
|
1753
|
-
* Exige a permissão `criar` no módulo `Configuracoes` do perfil de quem chama (administrador e master têm tudo). Importa no portal os produtos do Tiny pelos `skus` (1 a 100 por vez; vazios e repetidos são descartados). Produto novo é criado; produto que já existe é atualizado, e diferença de preço ou estoque em produto com preço definido no portal vira conflito de sincronização. Responde 200 com o resultado de cada SKU (`criado`, `atualizado`, `conflito` ou `falha`) e os totais. Até 10 chamadas por minuto por pessoa.
|
|
1754
|
-
*
|
|
1755
|
-
* `POST /produto_termotubos`
|
|
1756
|
-
*/
|
|
1757
|
-
export declare function criar_produto_termotubos(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.ProdutoTermotubosCriar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.ImportacaoProdutos>;
|
|
1758
|
-
/**
|
|
1759
|
-
* Busca produtos no catálogo da Termotubos (Tiny)
|
|
1760
|
-
*
|
|
1761
|
-
* Exige a permissão `ver` no módulo `Configuracoes` do perfil de quem chama (administrador e master têm tudo). Consulta o catálogo do Tiny pela API da Termotubos para importar produtos no portal. `busca` aceita SKUs separados por vírgula, ponto e vírgula ou espaço; termo terminado em `*` busca pelo prefixo (ex.: `B68*`). `apenas_ativos` filtra; `pagina` começa em 1 e `por_pagina` tem padrão 20 e vai de 1 a 50 (vale também para a busca por termos, paginada no servidor com `tem_mais`, `total_paginas` e `total_registros`). Cada item diz se já existe no portal (`ja_existe`). Termos inválidos voltam em `termos_invalidos`; `truncado: true` indica que a busca por prefixo foi cortada. Até 30 chamadas por minuto por pessoa.
|
|
1762
|
-
*
|
|
1763
|
-
* `GET /produto_termotubos/filtro`
|
|
1764
|
-
*/
|
|
1765
|
-
export declare function buscar_pelo_filtro_produto_termotubos(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPeloFiltroProdutoTermotubos, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.BuscaTermotubos>;
|
|
1766
|
-
/**
|
|
1767
|
-
* Status da sincronização do catálogo com o Tiny
|
|
1768
|
-
*
|
|
1769
|
-
* Exige a permissão `ver` no módulo `Configuracoes`. Devolve a sincronização em andamento ou a última que terminou: `etapa` (`lendo` ou `gravando`), `gravados` de `total`, `cancelada`, `erro` e o `resumo` (conferidos, criados, atualizados, conflitos e falhas).
|
|
1770
|
-
*
|
|
1771
|
-
* `GET /produto_termotubos/sincronizacao`
|
|
1772
|
-
*/
|
|
1773
|
-
export declare function buscar_sincronizacao_produto_termotubos(credencial_de_acesso: CredencialDeAcesso, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.StatusSincronizacaoCatalogo>;
|
|
1774
|
-
/**
|
|
1775
|
-
* Inicia a sincronização do catálogo com o Tiny em segundo plano
|
|
1776
|
-
*
|
|
1777
|
-
* Exige a permissão `criar` no módulo `Configuracoes`. Lê o catálogo do Tiny e grava no portal o que é novo ou mudou, em segundo plano no servidor: a tela pode ser fechada. `apenas_ativos` lê só os produtos ativos. Responde 202 com o status inicial; acompanhe por `GET /produto_termotubos/sincronizacao`. O status fica em memória e se perde se o servidor reiniciar.
|
|
1778
|
-
*
|
|
1779
|
-
* `POST /produto_termotubos/sincronizacao`
|
|
1780
|
-
*/
|
|
1781
|
-
export declare function iniciar_sincronizacao_produto_termotubos(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeIniciarSincronizacaoProdutoTermotubos, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.StatusSincronizacaoCatalogo>;
|
|
1782
|
-
/**
|
|
1783
|
-
* Cancela a sincronização do catálogo em andamento
|
|
1784
|
-
*
|
|
1785
|
-
* Exige a permissão `excluir` no módulo `Configuracoes`. Para depois do lote em gravação; o que já foi gravado fica.
|
|
1786
|
-
*
|
|
1787
|
-
* `DELETE /produto_termotubos/sincronizacao`
|
|
1788
|
-
*/
|
|
1789
|
-
export declare function cancelar_sincronizacao_produto_termotubos(credencial_de_acesso: CredencialDeAcesso, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
|
|
1790
1463
|
/**
|
|
1791
1464
|
* Busca os dados internos de um produto no Tiny
|
|
1792
1465
|
*
|
|
@@ -1819,30 +1492,6 @@ export declare function buscar_auto_complete_rastreamento(credencial_de_acesso:
|
|
|
1819
1492
|
* `GET /rastreamento/paginador`
|
|
1820
1493
|
*/
|
|
1821
1494
|
export declare function buscar_informacoes_paginador_rastreamento(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarInformacoesPaginadorRastreamento, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.RastreamentoPaginador>;
|
|
1822
|
-
/**
|
|
1823
|
-
* Status da sincronização das entregas
|
|
1824
|
-
*
|
|
1825
|
-
* Só colaborador interno com `ver` no módulo `Pedidos`. Devolve a sincronização em andamento ou a última que terminou: `rodando`, `pagina` de `total_paginas` (páginas da API), `progresso` (percentual), `gravados`, `cancelada`, `concluida`, `erro`, `iniciada_em` e `terminada_em`.
|
|
1826
|
-
*
|
|
1827
|
-
* `GET /rastreamento/sincronizacao`
|
|
1828
|
-
*/
|
|
1829
|
-
export declare function buscar_sincronizacao_rastreamento(credencial_de_acesso: CredencialDeAcesso, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.StatusSincronizacaoRastreamento>;
|
|
1830
|
-
/**
|
|
1831
|
-
* Inicia a sincronização das entregas em segundo plano
|
|
1832
|
-
*
|
|
1833
|
-
* Só colaborador interno com `ver` no módulo `Pedidos`. Traz as entregas (expedições) da API de logística da Termotubos para a tabela `rastreamento`, sem filtro de data (histórico inteiro), lote por lote, em segundo plano no servidor: a tela pode ser fechada. Responde 202 com o status inicial; acompanhe por `GET /rastreamento/sincronizacao`. O status fica em memória e se perde se o servidor reiniciar.
|
|
1834
|
-
*
|
|
1835
|
-
* `POST /rastreamento/sincronizacao`
|
|
1836
|
-
*/
|
|
1837
|
-
export declare function iniciar_sincronizacao_rastreamento(credencial_de_acesso: CredencialDeAcesso, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.StatusSincronizacaoRastreamento>;
|
|
1838
|
-
/**
|
|
1839
|
-
* Cancela a sincronização das entregas em andamento
|
|
1840
|
-
*
|
|
1841
|
-
* Só colaborador interno com `ver` no módulo `Pedidos`. Para antes do próximo lote; o que já foi gravado fica.
|
|
1842
|
-
*
|
|
1843
|
-
* `DELETE /rastreamento/sincronizacao`
|
|
1844
|
-
*/
|
|
1845
|
-
export declare function cancelar_sincronizacao_rastreamento(credencial_de_acesso: CredencialDeAcesso, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
|
|
1846
1495
|
/**
|
|
1847
1496
|
* Busca uma entrega pelo id da logística
|
|
1848
1497
|
*
|
|
@@ -1851,62 +1500,6 @@ export declare function cancelar_sincronizacao_rastreamento(credencial_de_acesso
|
|
|
1851
1500
|
* `GET /rastreamento/{id}`
|
|
1852
1501
|
*/
|
|
1853
1502
|
export declare function buscar_pelo_id_rastreamento(credencial_de_acesso: CredencialDeAcesso, id: number, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Rastreamento>;
|
|
1854
|
-
/**
|
|
1855
|
-
* Lista os valores auxiliares paginados
|
|
1856
|
-
*
|
|
1857
|
-
* Exige sessão. Ordenado por tabela, campo e label. `tabela` e `campo` filtram (opcionais). Paginado com 50 itens por página (fixo); `pagina` começa em 1. A resposta traz `itens`, `total`, `pagina` e `tamanho`.
|
|
1858
|
-
*
|
|
1859
|
-
* `GET /tabela_auxiliar`
|
|
1860
|
-
*/
|
|
1861
|
-
export declare function buscar_paginador_tabela_auxiliar(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPaginadorTabelaAuxiliar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaTabelaAuxiliar>;
|
|
1862
|
-
/**
|
|
1863
|
-
* Cadastra um valor auxiliar
|
|
1864
|
-
*
|
|
1865
|
-
* Exige o módulo `Configuracoes` (criar). Valor de um campo que chega das integrações sem cadastro próprio (ex.: `tabela=produto`, `campo=marca_tiny`). `tabela`, `campo` e `label` obrigatórios; o trio é único. A sincronização do catálogo preenche a tabela sozinha.
|
|
1866
|
-
*
|
|
1867
|
-
* `POST /tabela_auxiliar`
|
|
1868
|
-
*/
|
|
1869
|
-
export declare function criar_tabela_auxiliar(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.TabelaAuxiliarCriar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.TabelaAuxiliar>;
|
|
1870
|
-
/**
|
|
1871
|
-
* Lista básica de valores de um campo para seleção
|
|
1872
|
-
*
|
|
1873
|
-
* Exige sessão. `tabela` e `campo` obrigatórios (ex.: `produto` e `marca_tiny`). Devolve só id e label, em ordem alfabética. `busca` procura no label. `tamanho` tem padrão 10 e vai de 1 a 50; `pagina` começa em 1. A resposta traz `itens`, `total`, `pagina` e `tamanho`.
|
|
1874
|
-
*
|
|
1875
|
-
* `GET /tabela_auxiliar/autocomplete`
|
|
1876
|
-
*/
|
|
1877
|
-
export declare function buscar_auto_complete_tabela_auxiliar(credencial_de_acesso: CredencialDeAcesso, parametros: ParametrosDeBuscarAutoCompleteTabelaAuxiliar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaTabelaAuxiliarAutoComplete>;
|
|
1878
|
-
/**
|
|
1879
|
-
* Busca valores auxiliares por filtro
|
|
1880
|
-
*
|
|
1881
|
-
* Exige sessão. Até 50 por página (`pagina`, a partir de 1, padrão 1). `tabela` e `campo` são exatos; `label` procura o trecho.
|
|
1882
|
-
*
|
|
1883
|
-
* `GET /tabela_auxiliar/filtro`
|
|
1884
|
-
*/
|
|
1885
|
-
export declare function buscar_pelo_filtro_tabela_auxiliar(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPeloFiltroTabelaAuxiliar, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.TabelaAuxiliar>>;
|
|
1886
|
-
/**
|
|
1887
|
-
* Busca um valor auxiliar pelo id
|
|
1888
|
-
*
|
|
1889
|
-
* Exige sessão. Registro excluído não é encontrado.
|
|
1890
|
-
*
|
|
1891
|
-
* `GET /tabela_auxiliar/{id}`
|
|
1892
|
-
*/
|
|
1893
|
-
export declare function buscar_pelo_id_tabela_auxiliar(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.TabelaAuxiliar>;
|
|
1894
|
-
/**
|
|
1895
|
-
* Atualiza o label de um valor auxiliar
|
|
1896
|
-
*
|
|
1897
|
-
* Exige o módulo `Configuracoes` (editar). Muda só o `label`; campo ausente mantém o valor atual.
|
|
1898
|
-
*
|
|
1899
|
-
* `PATCH /tabela_auxiliar/{id}`
|
|
1900
|
-
*/
|
|
1901
|
-
export declare function atualizar_pelo_id_tabela_auxiliar(credencial_de_acesso: CredencialDeAcesso, id: string, corpo_da_requisicao: tipos.TabelaAuxiliarAtualizar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.TabelaAuxiliar>;
|
|
1902
|
-
/**
|
|
1903
|
-
* Exclui um valor auxiliar
|
|
1904
|
-
*
|
|
1905
|
-
* Exige o módulo `Configuracoes` (excluir). A exclusão é lógica: o registro some das leituras, mas a linha não é apagada.
|
|
1906
|
-
*
|
|
1907
|
-
* `DELETE /tabela_auxiliar/{id}`
|
|
1908
|
-
*/
|
|
1909
|
-
export declare function deletar_pelo_id_tabela_auxiliar(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
|
|
1910
1503
|
/**
|
|
1911
1504
|
* Lista as unidades paginadas
|
|
1912
1505
|
*
|