termo_core 0.1.3 → 0.1.4
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/flow/rotas.d.ts +0 -849
- package/dist/flow/rotas.js +0 -1178
- package/dist/flow/tipos.d.ts +0 -688
- package/dist/portal/rotas.d.ts +54 -4
- package/dist/portal/rotas.js +86 -3
- package/dist/portal/tipos.d.ts +53 -3
- package/package.json +1 -1
package/dist/portal/rotas.d.ts
CHANGED
|
@@ -187,6 +187,7 @@ export interface ParametrosDeBuscarPeloFiltroContato {
|
|
|
187
187
|
export interface ParametrosDeBuscarPaginadorCotacao {
|
|
188
188
|
unidade_id?: string;
|
|
189
189
|
status?: string;
|
|
190
|
+
origem?: string;
|
|
190
191
|
busca?: string;
|
|
191
192
|
inicio?: string;
|
|
192
193
|
fim?: string;
|
|
@@ -206,8 +207,8 @@ export interface ParametrosDeBuscarAutoCompleteCotacao {
|
|
|
206
207
|
*/
|
|
207
208
|
export interface ParametrosDeBuscarPeloFiltroCotacao {
|
|
208
209
|
unidade_id?: string;
|
|
209
|
-
autor_cliente_id?: string;
|
|
210
210
|
status?: string;
|
|
211
|
+
origem?: string;
|
|
211
212
|
pagina?: number;
|
|
212
213
|
}
|
|
213
214
|
/**
|
|
@@ -216,6 +217,7 @@ export interface ParametrosDeBuscarPeloFiltroCotacao {
|
|
|
216
217
|
export interface ParametrosDeBuscarInformacoesPaginadorCotacao {
|
|
217
218
|
unidade_id?: string;
|
|
218
219
|
status?: string;
|
|
220
|
+
origem?: string;
|
|
219
221
|
busca?: string;
|
|
220
222
|
inicio?: string;
|
|
221
223
|
fim?: string;
|
|
@@ -420,6 +422,14 @@ export interface ParametrosDeBuscarPeloFiltroPedido {
|
|
|
420
422
|
entregue?: boolean;
|
|
421
423
|
pagina?: number;
|
|
422
424
|
}
|
|
425
|
+
/**
|
|
426
|
+
* Parâmetros de consulta e de cabeçalho de `/pedido_inteligente/filtro`.
|
|
427
|
+
*/
|
|
428
|
+
export interface ParametrosDeBuscarPeloFiltroPedidoInteligente {
|
|
429
|
+
unidade_id?: string;
|
|
430
|
+
status?: string;
|
|
431
|
+
pagina?: number;
|
|
432
|
+
}
|
|
423
433
|
/**
|
|
424
434
|
* Parâmetros de consulta e de cabeçalho de `/pedido_venda`.
|
|
425
435
|
*/
|
|
@@ -1116,7 +1126,7 @@ export declare function deletar_pelo_id_contato(credencial_de_acesso: Credencial
|
|
|
1116
1126
|
/**
|
|
1117
1127
|
* Lista uma página de cotações
|
|
1118
1128
|
*
|
|
1119
|
-
* Exige a permissão `ver` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Devolve só o array da página, até 50 cotações, das mais novas para as mais antigas; o total, as páginas e as contagens por situação vêm de `GET /cotacao/paginador`, com os mesmos filtros. Quem não é colaborador interno precisa informar `unidade_id` de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. Filtros opcionais: `status` (um dos 5 valores, senão 400 `Status inválido`); `busca` procura o número (C-1048 ou 1048), o SKU ou o nome de um item e a razão social da unidade; `inicio`/`fim` são datas AAAA-MM-DD do envio, em Brasília, inclusivas; `cursor` é o id da última cotação da página anterior.
|
|
1129
|
+
* Exige a permissão `ver` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Devolve só o array da página, até 50 cotações, das mais novas para as mais antigas; o total, as páginas e as contagens por situação vêm de `GET /cotacao/paginador`, com os mesmos filtros. Quem não é colaborador interno precisa informar `unidade_id` de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. Filtros opcionais: `status` (um dos 5 valores, senão 400 `Status inválido`); `busca` procura o número (C-1048 ou 1048), o SKU ou o nome de um item e a razão social da unidade; `inicio`/`fim` são datas AAAA-MM-DD do envio, em Brasília, inclusivas; `origem` (`carrinho`, `pedido_inteligente`) é exata; `cursor` é o id da última cotação da página anterior.
|
|
1120
1130
|
*
|
|
1121
1131
|
* `GET /cotacao`
|
|
1122
1132
|
*/
|
|
@@ -1124,7 +1134,7 @@ export declare function buscar_paginador_cotacao(credencial_de_acesso: Credencia
|
|
|
1124
1134
|
/**
|
|
1125
1135
|
* Cria uma cotação (carrinho enviado)
|
|
1126
1136
|
*
|
|
1127
|
-
* Exige a permissão `criar` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Monta a cotação no servidor a partir dos itens (`produto_id`, `quantidade` acima de zero e até 9999, `embalagem_fechada`, `preco_unitario` visto pelo cliente), com 1 a 200 itens e sem produto repetido. Recalcula preços por faixa, confere `total_esperado` e grava com o status inicial. A unidade precisa ser da sessão (colaborador interno acessa todas) e, para quem não é colaborador interno, o autor é sempre quem chama. `acima_do_limite` indica que a cotação passa o limite de faturamento da unidade. Campos: `unidade_id` (uuid) é a unidade compradora, da sessão
|
|
1137
|
+
* Exige a permissão `criar` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Monta a cotação no servidor a partir dos itens (`produto_id`, `quantidade` acima de zero e até 9999, `embalagem_fechada`, `preco_unitario` visto pelo cliente), com 1 a 200 itens e sem produto repetido. Recalcula preços por faixa, confere `total_esperado` e grava com o status inicial. A unidade precisa ser da sessão (colaborador interno acessa todas) e, para quem não é colaborador interno, o autor é sempre quem chama. `acima_do_limite` indica que a cotação passa o limite de faturamento da unidade. Campos: `unidade_id` (uuid) é a unidade compradora, da sessão, e o cliente da cotação é sempre o cliente dessa unidade (o nome dele fica em `autor_nome`); `itens` é a lista de 1 a 200 itens, cada um com `produto_id`, `quantidade`, `embalagem_fechada` e `preco_unitario`; `economia_tier` é a economia do grupo de cliente vista no carrinho (decimal, informativo); `carrinho_id` (opcional) é o carrinho aberto da unidade de onde os itens saíram: todo item precisa estar nele, o carrinho fecha junto com a cotação e os itens que não foram cotados seguem num carrinho novo; `pedido_inteligente_id` (opcional, nunca junto com `carrinho_id`) é o pedido inteligente revisado de onde os itens saíram: ele precisa estar `pronto`, todo item precisa ser um produto confirmado na revisão, a cotação sai com `origem` `pedido_inteligente` e o pedido vira `cotado`; sem ele, `origem` é `carrinho`; `endereco_id` (opcional) é um endereço de entrega da unidade, copiado para `endereco_entrega`; `observacao` (opcional) tem até 1000 caracteres. A cotação nasce com `numero` sequencial (exibido como C-1001) e `valida_ate` = hoje em Brasília + `cotacao_validade_dias` de Configurações (15 sem a chave).
|
|
1128
1138
|
*
|
|
1129
1139
|
* `POST /cotacao`
|
|
1130
1140
|
*/
|
|
@@ -1140,7 +1150,7 @@ export declare function buscar_auto_complete_cotacao(credencial_de_acesso: Crede
|
|
|
1140
1150
|
/**
|
|
1141
1151
|
* Busca cotações por filtro
|
|
1142
1152
|
*
|
|
1143
|
-
* Exige a permissão `ver` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Devolve as cotações não excluídas que casam com o filtro, até 50 por página (`pagina`, a partir de 1, padrão 1), das mais novas para as mais antigas. Quem não é colaborador interno precisa informar `unidade_id` de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. `
|
|
1153
|
+
* Exige a permissão `ver` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Devolve as cotações não excluídas que casam com o filtro, até 50 por página (`pagina`, a partir de 1, padrão 1), das mais novas para as mais antigas. Quem não é colaborador interno precisa informar `unidade_id` de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. `origem` (`carrinho`, `pedido_inteligente`) e `status` (`rascunho`, `esperando_aprovacao`, `concluido`, `nao_aprovado`, `em_transporte`) são exatos.
|
|
1144
1154
|
*
|
|
1145
1155
|
* `GET /cotacao/filtro`
|
|
1146
1156
|
*/
|
|
@@ -1457,6 +1467,46 @@ export declare function atualizar_pelo_id_pedido(credencial_de_acesso: Credencia
|
|
|
1457
1467
|
* `DELETE /pedido/{id}`
|
|
1458
1468
|
*/
|
|
1459
1469
|
export declare function deletar_pelo_id_pedido(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
|
|
1470
|
+
/**
|
|
1471
|
+
* Envia um pedido para a IA montar
|
|
1472
|
+
*
|
|
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.
|
|
1474
|
+
*
|
|
1475
|
+
* `POST /pedido_inteligente`
|
|
1476
|
+
*/
|
|
1477
|
+
export declare function criar_pedido_inteligente(credencial_de_acesso: CredencialDeAcesso, formulario: FormData, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PedidoInteligente>;
|
|
1478
|
+
/**
|
|
1479
|
+
* Busca pedidos inteligentes por filtro
|
|
1480
|
+
*
|
|
1481
|
+
* Exige a permissão `ver` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Devolve os pedidos não excluídos, até 50 por página (`pagina`, a partir de 1, padrão 1), dos mais novos para os mais antigos. Quem não é colaborador interno precisa informar `unidade_id` de uma unidade da própria sessão; colaborador interno pode omitir e vê todos. `status` (`analisando`, `pronto`, `cotado`, `erro`) é exato; uma análise parada há mais de 10 minutos conta como `erro`.
|
|
1482
|
+
*
|
|
1483
|
+
* `GET /pedido_inteligente/filtro`
|
|
1484
|
+
*/
|
|
1485
|
+
export declare function buscar_pelo_filtro_pedido_inteligente(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPeloFiltroPedidoInteligente, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.PedidoInteligente>>;
|
|
1486
|
+
/**
|
|
1487
|
+
* Busca um pedido inteligente pelo id
|
|
1488
|
+
*
|
|
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.
|
|
1490
|
+
*
|
|
1491
|
+
* `GET /pedido_inteligente/{id}`
|
|
1492
|
+
*/
|
|
1493
|
+
export declare function buscar_pelo_id_pedido_inteligente(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PedidoInteligente>;
|
|
1494
|
+
/**
|
|
1495
|
+
* Grava a revisão do cliente
|
|
1496
|
+
*
|
|
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, entre o `escolhido` e as `opcoes` daquele item (nulo tira o item da cotação), e `quantidade` vai de 0 a 9999 (acima de zero).
|
|
1498
|
+
*
|
|
1499
|
+
* `PATCH /pedido_inteligente/{id}`
|
|
1500
|
+
*/
|
|
1501
|
+
export declare function atualizar_pelo_id_pedido_inteligente(credencial_de_acesso: CredencialDeAcesso, id: string, corpo_da_requisicao: tipos.PedidoInteligenteAtualizar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PedidoInteligente>;
|
|
1502
|
+
/**
|
|
1503
|
+
* Cancela um pedido inteligente
|
|
1504
|
+
*
|
|
1505
|
+
* Exige a permissão `excluir` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Exclusão lógica; uma análise em andamento para de gravar. O pedido que já virou cotação não sai (409).
|
|
1506
|
+
*
|
|
1507
|
+
* `DELETE /pedido_inteligente/{id}`
|
|
1508
|
+
*/
|
|
1509
|
+
export declare function deletar_pelo_id_pedido_inteligente(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
|
|
1460
1510
|
/**
|
|
1461
1511
|
* Lista os pedidos de venda do ERP
|
|
1462
1512
|
*
|
package/dist/portal/rotas.js
CHANGED
|
@@ -790,7 +790,7 @@ export function deletar_pelo_id_contato(credencial_de_acesso, id, opcoes_da_cham
|
|
|
790
790
|
/**
|
|
791
791
|
* Lista uma página de cotações
|
|
792
792
|
*
|
|
793
|
-
* Exige a permissão `ver` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Devolve só o array da página, até 50 cotações, das mais novas para as mais antigas; o total, as páginas e as contagens por situação vêm de `GET /cotacao/paginador`, com os mesmos filtros. Quem não é colaborador interno precisa informar `unidade_id` de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. Filtros opcionais: `status` (um dos 5 valores, senão 400 `Status inválido`); `busca` procura o número (C-1048 ou 1048), o SKU ou o nome de um item e a razão social da unidade; `inicio`/`fim` são datas AAAA-MM-DD do envio, em Brasília, inclusivas; `cursor` é o id da última cotação da página anterior.
|
|
793
|
+
* Exige a permissão `ver` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Devolve só o array da página, até 50 cotações, das mais novas para as mais antigas; o total, as páginas e as contagens por situação vêm de `GET /cotacao/paginador`, com os mesmos filtros. Quem não é colaborador interno precisa informar `unidade_id` de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. Filtros opcionais: `status` (um dos 5 valores, senão 400 `Status inválido`); `busca` procura o número (C-1048 ou 1048), o SKU ou o nome de um item e a razão social da unidade; `inicio`/`fim` são datas AAAA-MM-DD do envio, em Brasília, inclusivas; `origem` (`carrinho`, `pedido_inteligente`) é exata; `cursor` é o id da última cotação da página anterior.
|
|
794
794
|
*
|
|
795
795
|
* `GET /cotacao`
|
|
796
796
|
*/
|
|
@@ -807,7 +807,7 @@ export function buscar_paginador_cotacao(credencial_de_acesso, parametros = {},
|
|
|
807
807
|
/**
|
|
808
808
|
* Cria uma cotação (carrinho enviado)
|
|
809
809
|
*
|
|
810
|
-
* Exige a permissão `criar` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Monta a cotação no servidor a partir dos itens (`produto_id`, `quantidade` acima de zero e até 9999, `embalagem_fechada`, `preco_unitario` visto pelo cliente), com 1 a 200 itens e sem produto repetido. Recalcula preços por faixa, confere `total_esperado` e grava com o status inicial. A unidade precisa ser da sessão (colaborador interno acessa todas) e, para quem não é colaborador interno, o autor é sempre quem chama. `acima_do_limite` indica que a cotação passa o limite de faturamento da unidade. Campos: `unidade_id` (uuid) é a unidade compradora, da sessão
|
|
810
|
+
* Exige a permissão `criar` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Monta a cotação no servidor a partir dos itens (`produto_id`, `quantidade` acima de zero e até 9999, `embalagem_fechada`, `preco_unitario` visto pelo cliente), com 1 a 200 itens e sem produto repetido. Recalcula preços por faixa, confere `total_esperado` e grava com o status inicial. A unidade precisa ser da sessão (colaborador interno acessa todas) e, para quem não é colaborador interno, o autor é sempre quem chama. `acima_do_limite` indica que a cotação passa o limite de faturamento da unidade. Campos: `unidade_id` (uuid) é a unidade compradora, da sessão, e o cliente da cotação é sempre o cliente dessa unidade (o nome dele fica em `autor_nome`); `itens` é a lista de 1 a 200 itens, cada um com `produto_id`, `quantidade`, `embalagem_fechada` e `preco_unitario`; `economia_tier` é a economia do grupo de cliente vista no carrinho (decimal, informativo); `carrinho_id` (opcional) é o carrinho aberto da unidade de onde os itens saíram: todo item precisa estar nele, o carrinho fecha junto com a cotação e os itens que não foram cotados seguem num carrinho novo; `pedido_inteligente_id` (opcional, nunca junto com `carrinho_id`) é o pedido inteligente revisado de onde os itens saíram: ele precisa estar `pronto`, todo item precisa ser um produto confirmado na revisão, a cotação sai com `origem` `pedido_inteligente` e o pedido vira `cotado`; sem ele, `origem` é `carrinho`; `endereco_id` (opcional) é um endereço de entrega da unidade, copiado para `endereco_entrega`; `observacao` (opcional) tem até 1000 caracteres. A cotação nasce com `numero` sequencial (exibido como C-1001) e `valida_ate` = hoje em Brasília + `cotacao_validade_dias` de Configurações (15 sem a chave).
|
|
811
811
|
*
|
|
812
812
|
* `POST /cotacao`
|
|
813
813
|
*/
|
|
@@ -841,7 +841,7 @@ export function buscar_auto_complete_cotacao(credencial_de_acesso, parametros =
|
|
|
841
841
|
/**
|
|
842
842
|
* Busca cotações por filtro
|
|
843
843
|
*
|
|
844
|
-
* Exige a permissão `ver` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Devolve as cotações não excluídas que casam com o filtro, até 50 por página (`pagina`, a partir de 1, padrão 1), das mais novas para as mais antigas. Quem não é colaborador interno precisa informar `unidade_id` de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. `
|
|
844
|
+
* Exige a permissão `ver` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Devolve as cotações não excluídas que casam com o filtro, até 50 por página (`pagina`, a partir de 1, padrão 1), das mais novas para as mais antigas. Quem não é colaborador interno precisa informar `unidade_id` de uma unidade da própria sessão; colaborador interno pode omitir e vê todas. `origem` (`carrinho`, `pedido_inteligente`) e `status` (`rascunho`, `esperando_aprovacao`, `concluido`, `nao_aprovado`, `em_transporte`) são exatos.
|
|
845
845
|
*
|
|
846
846
|
* `GET /cotacao/filtro`
|
|
847
847
|
*/
|
|
@@ -1506,6 +1506,89 @@ export function deletar_pelo_id_pedido(credencial_de_acesso, id, opcoes_da_chama
|
|
|
1506
1506
|
formato_da_resposta: "sem_conteudo",
|
|
1507
1507
|
}, opcoes_da_chamada);
|
|
1508
1508
|
}
|
|
1509
|
+
/**
|
|
1510
|
+
* Envia um pedido para a IA montar
|
|
1511
|
+
*
|
|
1512
|
+
* 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.
|
|
1513
|
+
*
|
|
1514
|
+
* `POST /pedido_inteligente`
|
|
1515
|
+
*/
|
|
1516
|
+
export function criar_pedido_inteligente(credencial_de_acesso, formulario, opcoes_da_chamada) {
|
|
1517
|
+
return chamar_servico({
|
|
1518
|
+
servico: SERVICO_DESTA_API,
|
|
1519
|
+
metodo_http: "POST",
|
|
1520
|
+
caminho_da_rota: "/pedido_inteligente",
|
|
1521
|
+
credencial_de_acesso,
|
|
1522
|
+
formulario,
|
|
1523
|
+
formato_da_resposta: "json",
|
|
1524
|
+
}, opcoes_da_chamada);
|
|
1525
|
+
}
|
|
1526
|
+
/**
|
|
1527
|
+
* Busca pedidos inteligentes por filtro
|
|
1528
|
+
*
|
|
1529
|
+
* Exige a permissão `ver` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Devolve os pedidos não excluídos, até 50 por página (`pagina`, a partir de 1, padrão 1), dos mais novos para os mais antigos. Quem não é colaborador interno precisa informar `unidade_id` de uma unidade da própria sessão; colaborador interno pode omitir e vê todos. `status` (`analisando`, `pronto`, `cotado`, `erro`) é exato; uma análise parada há mais de 10 minutos conta como `erro`.
|
|
1530
|
+
*
|
|
1531
|
+
* `GET /pedido_inteligente/filtro`
|
|
1532
|
+
*/
|
|
1533
|
+
export function buscar_pelo_filtro_pedido_inteligente(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
1534
|
+
return chamar_servico({
|
|
1535
|
+
servico: SERVICO_DESTA_API,
|
|
1536
|
+
metodo_http: "GET",
|
|
1537
|
+
caminho_da_rota: "/pedido_inteligente/filtro",
|
|
1538
|
+
credencial_de_acesso,
|
|
1539
|
+
parametros_de_consulta: parametros,
|
|
1540
|
+
formato_da_resposta: "json",
|
|
1541
|
+
}, opcoes_da_chamada);
|
|
1542
|
+
}
|
|
1543
|
+
/**
|
|
1544
|
+
* Busca um pedido inteligente pelo id
|
|
1545
|
+
*
|
|
1546
|
+
* 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.
|
|
1547
|
+
*
|
|
1548
|
+
* `GET /pedido_inteligente/{id}`
|
|
1549
|
+
*/
|
|
1550
|
+
export function buscar_pelo_id_pedido_inteligente(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
1551
|
+
return chamar_servico({
|
|
1552
|
+
servico: SERVICO_DESTA_API,
|
|
1553
|
+
metodo_http: "GET",
|
|
1554
|
+
caminho_da_rota: `/pedido_inteligente/${codificar_parametro_de_caminho(id)}`,
|
|
1555
|
+
credencial_de_acesso,
|
|
1556
|
+
formato_da_resposta: "json",
|
|
1557
|
+
}, opcoes_da_chamada);
|
|
1558
|
+
}
|
|
1559
|
+
/**
|
|
1560
|
+
* Grava a revisão do cliente
|
|
1561
|
+
*
|
|
1562
|
+
* 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, entre o `escolhido` e as `opcoes` daquele item (nulo tira o item da cotação), e `quantidade` vai de 0 a 9999 (acima de zero).
|
|
1563
|
+
*
|
|
1564
|
+
* `PATCH /pedido_inteligente/{id}`
|
|
1565
|
+
*/
|
|
1566
|
+
export function atualizar_pelo_id_pedido_inteligente(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
1567
|
+
return chamar_servico({
|
|
1568
|
+
servico: SERVICO_DESTA_API,
|
|
1569
|
+
metodo_http: "PATCH",
|
|
1570
|
+
caminho_da_rota: `/pedido_inteligente/${codificar_parametro_de_caminho(id)}`,
|
|
1571
|
+
credencial_de_acesso,
|
|
1572
|
+
corpo_json: corpo_da_requisicao,
|
|
1573
|
+
formato_da_resposta: "json",
|
|
1574
|
+
}, opcoes_da_chamada);
|
|
1575
|
+
}
|
|
1576
|
+
/**
|
|
1577
|
+
* Cancela um pedido inteligente
|
|
1578
|
+
*
|
|
1579
|
+
* Exige a permissão `excluir` no módulo `Cotacoes` do perfil de quem chama (administrador e master têm tudo). Exclusão lógica; uma análise em andamento para de gravar. O pedido que já virou cotação não sai (409).
|
|
1580
|
+
*
|
|
1581
|
+
* `DELETE /pedido_inteligente/{id}`
|
|
1582
|
+
*/
|
|
1583
|
+
export function deletar_pelo_id_pedido_inteligente(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
1584
|
+
return chamar_servico({
|
|
1585
|
+
servico: SERVICO_DESTA_API,
|
|
1586
|
+
metodo_http: "DELETE",
|
|
1587
|
+
caminho_da_rota: `/pedido_inteligente/${codificar_parametro_de_caminho(id)}`,
|
|
1588
|
+
credencial_de_acesso,
|
|
1589
|
+
formato_da_resposta: "sem_conteudo",
|
|
1590
|
+
}, opcoes_da_chamada);
|
|
1591
|
+
}
|
|
1509
1592
|
/**
|
|
1510
1593
|
* Lista os pedidos de venda do ERP
|
|
1511
1594
|
*
|
package/dist/portal/tipos.d.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
export interface AnexoDoPedido {
|
|
2
|
+
arquivo_id?: string | null;
|
|
3
|
+
nome: string;
|
|
4
|
+
tamanho: number;
|
|
5
|
+
tipo: string;
|
|
6
|
+
url?: string | null;
|
|
7
|
+
}
|
|
1
8
|
export interface Arquivo {
|
|
2
9
|
url: string;
|
|
3
10
|
}
|
|
@@ -93,7 +100,6 @@ export interface BuscaTermotubos {
|
|
|
93
100
|
}
|
|
94
101
|
export interface Carrinho {
|
|
95
102
|
atualizado_em: string;
|
|
96
|
-
cliente_id?: string | null;
|
|
97
103
|
criado_em: string;
|
|
98
104
|
id: string;
|
|
99
105
|
itens: Array<CarrinhoItem>;
|
|
@@ -294,7 +300,6 @@ export interface ContatoCriar {
|
|
|
294
300
|
export interface Cotacao {
|
|
295
301
|
acima_do_limite: boolean;
|
|
296
302
|
atualizado_em: string;
|
|
297
|
-
autor_cliente_id: string;
|
|
298
303
|
autor_nome: string;
|
|
299
304
|
carrinho_id?: string | null;
|
|
300
305
|
criado_em: string;
|
|
@@ -305,6 +310,8 @@ export interface Cotacao {
|
|
|
305
310
|
itens: Array<CotacaoItem>;
|
|
306
311
|
numero: number;
|
|
307
312
|
observacao?: string | null;
|
|
313
|
+
origem: string;
|
|
314
|
+
pedido_inteligente_id?: string | null;
|
|
308
315
|
quantidade_itens: number;
|
|
309
316
|
status: string;
|
|
310
317
|
subtotal: number;
|
|
@@ -324,12 +331,12 @@ export interface CotacaoAutoComplete {
|
|
|
324
331
|
rotulo: string;
|
|
325
332
|
}
|
|
326
333
|
export interface CotacaoCriar {
|
|
327
|
-
autor_cliente_id: string;
|
|
328
334
|
carrinho_id?: string | null;
|
|
329
335
|
economia_tier?: number | null;
|
|
330
336
|
endereco_id?: string | null;
|
|
331
337
|
itens: Array<CotacaoItemCriar>;
|
|
332
338
|
observacao?: string | null;
|
|
339
|
+
pedido_inteligente_id?: string | null;
|
|
333
340
|
total_esperado?: number | null;
|
|
334
341
|
unidade_id: string;
|
|
335
342
|
}
|
|
@@ -436,6 +443,10 @@ export interface EnderecoEntrega {
|
|
|
436
443
|
logradouro: string;
|
|
437
444
|
numero?: string | null;
|
|
438
445
|
}
|
|
446
|
+
export interface EscolhaDoItem {
|
|
447
|
+
produto_id?: string | null;
|
|
448
|
+
quantidade: number;
|
|
449
|
+
}
|
|
439
450
|
export interface ExpedicaoTermotubos {
|
|
440
451
|
atualizado_em?: string | null;
|
|
441
452
|
cep?: string | null;
|
|
@@ -561,6 +572,14 @@ export interface ItemCatalogoTermotubos {
|
|
|
561
572
|
tem_imagem: boolean;
|
|
562
573
|
unidade?: string | null;
|
|
563
574
|
}
|
|
575
|
+
export interface ItemDoPedido {
|
|
576
|
+
escolhido?: OpcaoDoItem | null;
|
|
577
|
+
observacao?: string | null;
|
|
578
|
+
opcoes: Array<OpcaoDoItem>;
|
|
579
|
+
pedido_do_cliente: string;
|
|
580
|
+
quantidade: number;
|
|
581
|
+
situacao: string;
|
|
582
|
+
}
|
|
564
583
|
export interface ItemNotaFiscal {
|
|
565
584
|
descricao?: string | null;
|
|
566
585
|
preco_unitario?: number | null;
|
|
@@ -628,6 +647,15 @@ export interface OpcaoDeFiltro {
|
|
|
628
647
|
rotulo: string;
|
|
629
648
|
valor: string;
|
|
630
649
|
}
|
|
650
|
+
export interface OpcaoDoItem {
|
|
651
|
+
disponivel: boolean;
|
|
652
|
+
imagem_url?: string | null;
|
|
653
|
+
nome: string;
|
|
654
|
+
preco_unitario: number;
|
|
655
|
+
produto_id: string;
|
|
656
|
+
sku: string;
|
|
657
|
+
unidade: string;
|
|
658
|
+
}
|
|
631
659
|
export interface PaginaExpedicoes {
|
|
632
660
|
contagens: ContagemExpedicoes;
|
|
633
661
|
itens: Array<ExpedicaoTermotubos>;
|
|
@@ -1118,6 +1146,28 @@ export interface PedidoCriar {
|
|
|
1118
1146
|
export interface PedidoDaEntrega {
|
|
1119
1147
|
id: number;
|
|
1120
1148
|
}
|
|
1149
|
+
export interface PedidoInteligente {
|
|
1150
|
+
anexos: Array<AnexoDoPedido>;
|
|
1151
|
+
atualizado_em: string;
|
|
1152
|
+
cotacao_id?: string | null;
|
|
1153
|
+
criado_em: string;
|
|
1154
|
+
erro?: string | null;
|
|
1155
|
+
id: string;
|
|
1156
|
+
itens: Array<ItemDoPedido>;
|
|
1157
|
+
provedor_ia?: string | null;
|
|
1158
|
+
status: string;
|
|
1159
|
+
texto_enviado?: string | null;
|
|
1160
|
+
texto_interpretado?: string | null;
|
|
1161
|
+
unidade_id: string;
|
|
1162
|
+
}
|
|
1163
|
+
export interface PedidoInteligenteAtualizar {
|
|
1164
|
+
itens: Array<EscolhaDoItem>;
|
|
1165
|
+
}
|
|
1166
|
+
export interface PedidoInteligenteEnvio {
|
|
1167
|
+
arquivo: Array<string>;
|
|
1168
|
+
texto?: string | null;
|
|
1169
|
+
unidade_id: string;
|
|
1170
|
+
}
|
|
1121
1171
|
export interface PedidoItem {
|
|
1122
1172
|
produto: string;
|
|
1123
1173
|
quantidade: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "termo_core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Todos os clientes da Termotubos num pacote só: um módulo por serviço e cada rota da API como uma função com fetch, com o endereço resolvido pelo ambiente atual.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "TI Termotubos <ti@termotubos.com.br>",
|