termo_core 0.1.16 → 0.1.17

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.
@@ -7,6 +7,8 @@ import { type OpcoesDaChamada } from "../base/requisicao.js";
7
7
  export interface ParametrosDeBuscarPaginadorRobo {
8
8
  pagina?: number;
9
9
  tamanho?: number;
10
+ busca?: string;
11
+ ativo?: boolean;
10
12
  }
11
13
  /**
12
14
  * Parâmetros de consulta e de cabeçalho de `/robo/autocomplete`.
@@ -27,7 +29,7 @@ export interface ParametrosDeBuscarPeloFiltroRobo {
27
29
  /**
28
30
  * Lista os robôs com paginação
29
31
  *
30
- * Exige qualquer permissão da área `robos`, `whatsapp` ou `chatwoot` (qualquer ação liberada na área já libera a leitura). Ordena por nome. `pagina` começa em 1 (padrão 1; valores menores viram 1). A página tem sempre 50 itens: `tamanho` é aceito, mas ignorado. `total` conta todos os robôs não excluídos.
32
+ * Exige qualquer permissão da área `robos`, `whatsapp` ou `chatwoot` (qualquer ação liberada na área já libera a leitura). Ordena por nome. `pagina` começa em 1 (padrão 1; valores menores viram 1). A página tem sempre 50 itens: `tamanho` é aceito, mas ignorado. `busca` (opcional) procura no nome, na descrição e no modelo; `ativo` (opcional) traz só os ativos ou só os inativos. `total` conta os robôs não excluídos que casam com a busca.
31
33
  *
32
34
  * `GET /robo`
33
35
  */
@@ -35,7 +37,7 @@ export declare function buscar_paginador_robo(credencial_de_acesso: CredencialDe
35
37
  /**
36
38
  * Cadastra um robô de atendimento
37
39
  *
38
- * Exige a permissão `criar` da área `robos`. `nome` é obrigatório (até 80 caracteres, único entre os robôs); `modelo` é a IA preferida do gateway do TermoAI, um `provedor` de `GET /robo/modelos` (opcional, até 80; vazio deixa o TermoAI escolher); `descricao` vai até 200 e `prompt_base` até 4000 (padrão vazio). Sem `fluxo`, o robô nasce só com a etapa de início. O robô nasce ativo, na versão 1. `fluxo` é o caminho do atendimento: `nos` (até 40 etapas, exatamente uma do tipo `inicio`; os outros tipos são `inicio_contato_novo`, `instrucao`, `mensagem`, `botoes`, `atendimento`, `vendedor` e `gatilho`) e `ligacoes` (`origem`, `destino` e `origem_saida`, que é o id do botão ou da regra de onde a ligação sai, `null` no início e na mensagem). Cada etapa fora o início precisa de `nome` (até 60 caracteres); `objetivo` vai até 200, `instrucao` até 2000 e `mensagem` até 1000; `ferramentas` lista até 20 ids de ferramentas do robô. A `instrucao` precisa de 1 a 10 `regras` de saída (`condicao` até 200 caracteres); `botoes` precisa de 1 a 10 botões (`rotulo` até 20 caracteres) e de texto fixo em `mensagem` ou, com `mensagem_por_ia`, da `instrucao` para a IA escrever; `mensagem` também exige texto fixo ou `mensagem_por_ia`; `atendimento` encerra o robô, passa a conversa para a equipe do Chatwoot em `equipe_id` (opcional, de `GET /robo/equipes`) e, se vier `vendedor_id` (opcional, de `GET /robo/vendedores?equipe_id=`), para esse vendedor da equipe, e não tem saída; `vendedor` encerra o robô do mesmo jeito, mas passa a conversa só para o vendedor do Chatwoot em `vendedor_id` (obrigatório, de `GET /robo/vendedores`), sem equipe; `gatilho` (no máximo um, sem ligação de entrada nem de saída) é o gatilho de cliente sem resposta: `minutos_sem_resposta` (1 a 1440), `equipe_id` e `vendedor_id` opcionais (um, os dois ou nenhum), e uma varredura a cada minuto passa para essa equipe e esse vendedor toda conversa com o robô em que o cliente ficou esse tempo sem responder. Ids de etapas, botões e regras são únicos; nenhuma ligação volta ao início nem liga a etapa nela mesma, e cada saída tem no máximo uma próxima etapa. `inicio_contato_novo` (no máximo um, sem ligação de entrada) é o início de quem não está na lista de clientes: só vale com `atender_contatos_novos` ligado e, sem ele ou sem ligação, o contato novo sai pelo `inicio`. O texto fixo aceita marcadores como `{{cliente.nome}}` e `{{ultimo_pedido.itens}}`.
40
+ * Exige a permissão `criar` da área `robos`. `nome` é obrigatório (até 80 caracteres, único entre os robôs); `modelo` é a IA preferida do gateway do TermoAI, um `provedor` de `GET /robo/modelos` (opcional, até 80; vazio deixa o TermoAI escolher); `descricao` vai até 200 e `prompt_base` até 4000 (padrão vazio). Sem `fluxo`, o robô nasce só com a etapa de início. O robô nasce ativo, na versão 1. `fluxo` é o caminho do atendimento: `nos` (até 40 etapas, exatamente uma do tipo `inicio`; os outros tipos são `inicio_contato_novo`, `instrucao`, `mensagem`, `botoes`, `atendimento`, `vendedor` e `gatilho`) e `ligacoes` (`origem`, `destino` e `origem_saida`, que é o id do botão ou da regra de onde a ligação sai, `null` no início e na mensagem). Cada etapa fora o início precisa de `nome` (até 60 caracteres); `objetivo` vai até 200, `instrucao` até 2000 e `mensagem` até 1000; `ferramentas` lista até 20 ids de ferramentas do robô. A `instrucao` precisa de 1 a 10 `regras` de saída (`condicao` até 200 caracteres); `botoes` precisa de 1 a 10 botões (`rotulo` até 20 caracteres) e de texto fixo em `mensagem` ou, com `mensagem_por_ia`, da `instrucao` para a IA escrever; `mensagem` também exige texto fixo ou `mensagem_por_ia`; `atendimento` encerra o robô, passa a conversa para a equipe do Chatwoot em `equipe_id` (opcional, de `GET /robo/equipes`) e, se vier `vendedor_id` (opcional, de `GET /robo/vendedores?equipe_id=`), para esse vendedor da equipe, e não tem saída; `vendedor` encerra o robô do mesmo jeito, mas passa a conversa só para o vendedor do Chatwoot em `vendedor_id` (obrigatório, de `GET /robo/vendedores`), sem equipe; `gatilho` (no máximo um, sem ligação de entrada nem de saída) é o gatilho de cliente sem resposta: `minutos_sem_resposta` (1 a 1440), `equipe_id` e `vendedor_id` opcionais (um, os dois ou nenhum), e uma varredura a cada minuto passa para essa equipe e esse vendedor toda conversa com o robô em que o cliente ficou esse tempo sem responder. Ids de etapas, botões e regras são únicos; nenhuma ligação volta ao início nem liga a etapa nela mesma, e cada saída tem no máximo uma próxima etapa. `inicio_contato_novo` (no máximo um, sem ligação de entrada) é o início de quem não está na lista de clientes: com ele no fluxo o robô atende contatos novos (sem ele, o contato novo vai para a equipe) e, sem ligação, o contato novo sai pelo `inicio`. O texto fixo aceita marcadores como `{{cliente.nome}}` e `{{ultimo_pedido.itens}}`.
39
41
  *
40
42
  * `POST /robo`
41
43
  */
@@ -67,7 +69,7 @@ export declare function buscar_pelo_id_robo(credencial_de_acesso: CredencialDeAc
67
69
  /**
68
70
  * Atualiza um robô pelo id
69
71
  *
70
- * Exige a permissão `editar` da área `robos`. Atualização parcial: só os campos enviados mudam, com os mesmos limites do cadastro; `descricao` vazia apaga o valor `ativo` liga ou desliga o robô e `atender_contatos_novos` decide se o robô atende quem não está na lista de clientes (cliente cadastrado com o atendente desligado continua indo para a equipe). `fluxo`, quando enviado, substitui o fluxo inteiro. Enviar `prompt_base` ou `fluxo` sobe a `versao` em 1. `fluxo` é o caminho do atendimento: `nos` (até 40 etapas, exatamente uma do tipo `inicio`; os outros tipos são `inicio_contato_novo`, `instrucao`, `mensagem`, `botoes`, `atendimento`, `vendedor` e `gatilho`) e `ligacoes` (`origem`, `destino` e `origem_saida`, que é o id do botão ou da regra de onde a ligação sai, `null` no início e na mensagem). Cada etapa fora o início precisa de `nome` (até 60 caracteres); `objetivo` vai até 200, `instrucao` até 2000 e `mensagem` até 1000; `ferramentas` lista até 20 ids de ferramentas do robô. A `instrucao` precisa de 1 a 10 `regras` de saída (`condicao` até 200 caracteres); `botoes` precisa de 1 a 10 botões (`rotulo` até 20 caracteres) e de texto fixo em `mensagem` ou, com `mensagem_por_ia`, da `instrucao` para a IA escrever; `mensagem` também exige texto fixo ou `mensagem_por_ia`; `atendimento` encerra o robô, passa a conversa para a equipe do Chatwoot em `equipe_id` (opcional, de `GET /robo/equipes`) e, se vier `vendedor_id` (opcional, de `GET /robo/vendedores?equipe_id=`), para esse vendedor da equipe, e não tem saída; `vendedor` encerra o robô do mesmo jeito, mas passa a conversa só para o vendedor do Chatwoot em `vendedor_id` (obrigatório, de `GET /robo/vendedores`), sem equipe; `gatilho` (no máximo um, sem ligação de entrada nem de saída) é o gatilho de cliente sem resposta: `minutos_sem_resposta` (1 a 1440), `equipe_id` e `vendedor_id` opcionais (um, os dois ou nenhum), e uma varredura a cada minuto passa para essa equipe e esse vendedor toda conversa com o robô em que o cliente ficou esse tempo sem responder. Ids de etapas, botões e regras são únicos; nenhuma ligação volta ao início nem liga a etapa nela mesma, e cada saída tem no máximo uma próxima etapa. `inicio_contato_novo` (no máximo um, sem ligação de entrada) é o início de quem não está na lista de clientes: só vale com `atender_contatos_novos` ligado e, sem ele ou sem ligação, o contato novo sai pelo `inicio`. O texto fixo aceita marcadores como `{{cliente.nome}}` e `{{ultimo_pedido.itens}}`.
72
+ * Exige a permissão `editar` da área `robos`. Atualização parcial: só os campos enviados mudam, com os mesmos limites do cadastro; `descricao` vazia apaga o valor `ativo` liga ou desliga o robô. `fluxo`, quando enviado, substitui o fluxo inteiro. Enviar `prompt_base` ou `fluxo` sobe a `versao` em 1. `fluxo` é o caminho do atendimento: `nos` (até 40 etapas, exatamente uma do tipo `inicio`; os outros tipos são `inicio_contato_novo`, `instrucao`, `mensagem`, `botoes`, `atendimento`, `vendedor` e `gatilho`) e `ligacoes` (`origem`, `destino` e `origem_saida`, que é o id do botão ou da regra de onde a ligação sai, `null` no início e na mensagem). Cada etapa fora o início precisa de `nome` (até 60 caracteres); `objetivo` vai até 200, `instrucao` até 2000 e `mensagem` até 1000; `ferramentas` lista até 20 ids de ferramentas do robô. A `instrucao` precisa de 1 a 10 `regras` de saída (`condicao` até 200 caracteres); `botoes` precisa de 1 a 10 botões (`rotulo` até 20 caracteres) e de texto fixo em `mensagem` ou, com `mensagem_por_ia`, da `instrucao` para a IA escrever; `mensagem` também exige texto fixo ou `mensagem_por_ia`; `atendimento` encerra o robô, passa a conversa para a equipe do Chatwoot em `equipe_id` (opcional, de `GET /robo/equipes`) e, se vier `vendedor_id` (opcional, de `GET /robo/vendedores?equipe_id=`), para esse vendedor da equipe, e não tem saída; `vendedor` encerra o robô do mesmo jeito, mas passa a conversa só para o vendedor do Chatwoot em `vendedor_id` (obrigatório, de `GET /robo/vendedores`), sem equipe; `gatilho` (no máximo um, sem ligação de entrada nem de saída) é o gatilho de cliente sem resposta: `minutos_sem_resposta` (1 a 1440), `equipe_id` e `vendedor_id` opcionais (um, os dois ou nenhum), e uma varredura a cada minuto passa para essa equipe e esse vendedor toda conversa com o robô em que o cliente ficou esse tempo sem responder. Ids de etapas, botões e regras são únicos; nenhuma ligação volta ao início nem liga a etapa nela mesma, e cada saída tem no máximo uma próxima etapa. `inicio_contato_novo` (no máximo um, sem ligação de entrada) é o início de quem não está na lista de clientes: com ele no fluxo o robô atende contatos novos (sem ele, o contato novo vai para a equipe) e, sem ligação, o contato novo sai pelo `inicio`. O texto fixo aceita marcadores como `{{cliente.nome}}` e `{{ultimo_pedido.itens}}`.
71
73
  *
72
74
  * `PATCH /robo/{id}`
73
75
  */
@@ -4,7 +4,7 @@ import { TERMO_FLOW as SERVICO_DESTA_API } from "../base/servicos.js";
4
4
  /**
5
5
  * Lista os robôs com paginação
6
6
  *
7
- * Exige qualquer permissão da área `robos`, `whatsapp` ou `chatwoot` (qualquer ação liberada na área já libera a leitura). Ordena por nome. `pagina` começa em 1 (padrão 1; valores menores viram 1). A página tem sempre 50 itens: `tamanho` é aceito, mas ignorado. `total` conta todos os robôs não excluídos.
7
+ * Exige qualquer permissão da área `robos`, `whatsapp` ou `chatwoot` (qualquer ação liberada na área já libera a leitura). Ordena por nome. `pagina` começa em 1 (padrão 1; valores menores viram 1). A página tem sempre 50 itens: `tamanho` é aceito, mas ignorado. `busca` (opcional) procura no nome, na descrição e no modelo; `ativo` (opcional) traz só os ativos ou só os inativos. `total` conta os robôs não excluídos que casam com a busca.
8
8
  *
9
9
  * `GET /robo`
10
10
  */
@@ -21,7 +21,7 @@ export function buscar_paginador_robo(credencial_de_acesso, parametros = {}, opc
21
21
  /**
22
22
  * Cadastra um robô de atendimento
23
23
  *
24
- * Exige a permissão `criar` da área `robos`. `nome` é obrigatório (até 80 caracteres, único entre os robôs); `modelo` é a IA preferida do gateway do TermoAI, um `provedor` de `GET /robo/modelos` (opcional, até 80; vazio deixa o TermoAI escolher); `descricao` vai até 200 e `prompt_base` até 4000 (padrão vazio). Sem `fluxo`, o robô nasce só com a etapa de início. O robô nasce ativo, na versão 1. `fluxo` é o caminho do atendimento: `nos` (até 40 etapas, exatamente uma do tipo `inicio`; os outros tipos são `inicio_contato_novo`, `instrucao`, `mensagem`, `botoes`, `atendimento`, `vendedor` e `gatilho`) e `ligacoes` (`origem`, `destino` e `origem_saida`, que é o id do botão ou da regra de onde a ligação sai, `null` no início e na mensagem). Cada etapa fora o início precisa de `nome` (até 60 caracteres); `objetivo` vai até 200, `instrucao` até 2000 e `mensagem` até 1000; `ferramentas` lista até 20 ids de ferramentas do robô. A `instrucao` precisa de 1 a 10 `regras` de saída (`condicao` até 200 caracteres); `botoes` precisa de 1 a 10 botões (`rotulo` até 20 caracteres) e de texto fixo em `mensagem` ou, com `mensagem_por_ia`, da `instrucao` para a IA escrever; `mensagem` também exige texto fixo ou `mensagem_por_ia`; `atendimento` encerra o robô, passa a conversa para a equipe do Chatwoot em `equipe_id` (opcional, de `GET /robo/equipes`) e, se vier `vendedor_id` (opcional, de `GET /robo/vendedores?equipe_id=`), para esse vendedor da equipe, e não tem saída; `vendedor` encerra o robô do mesmo jeito, mas passa a conversa só para o vendedor do Chatwoot em `vendedor_id` (obrigatório, de `GET /robo/vendedores`), sem equipe; `gatilho` (no máximo um, sem ligação de entrada nem de saída) é o gatilho de cliente sem resposta: `minutos_sem_resposta` (1 a 1440), `equipe_id` e `vendedor_id` opcionais (um, os dois ou nenhum), e uma varredura a cada minuto passa para essa equipe e esse vendedor toda conversa com o robô em que o cliente ficou esse tempo sem responder. Ids de etapas, botões e regras são únicos; nenhuma ligação volta ao início nem liga a etapa nela mesma, e cada saída tem no máximo uma próxima etapa. `inicio_contato_novo` (no máximo um, sem ligação de entrada) é o início de quem não está na lista de clientes: só vale com `atender_contatos_novos` ligado e, sem ele ou sem ligação, o contato novo sai pelo `inicio`. O texto fixo aceita marcadores como `{{cliente.nome}}` e `{{ultimo_pedido.itens}}`.
24
+ * Exige a permissão `criar` da área `robos`. `nome` é obrigatório (até 80 caracteres, único entre os robôs); `modelo` é a IA preferida do gateway do TermoAI, um `provedor` de `GET /robo/modelos` (opcional, até 80; vazio deixa o TermoAI escolher); `descricao` vai até 200 e `prompt_base` até 4000 (padrão vazio). Sem `fluxo`, o robô nasce só com a etapa de início. O robô nasce ativo, na versão 1. `fluxo` é o caminho do atendimento: `nos` (até 40 etapas, exatamente uma do tipo `inicio`; os outros tipos são `inicio_contato_novo`, `instrucao`, `mensagem`, `botoes`, `atendimento`, `vendedor` e `gatilho`) e `ligacoes` (`origem`, `destino` e `origem_saida`, que é o id do botão ou da regra de onde a ligação sai, `null` no início e na mensagem). Cada etapa fora o início precisa de `nome` (até 60 caracteres); `objetivo` vai até 200, `instrucao` até 2000 e `mensagem` até 1000; `ferramentas` lista até 20 ids de ferramentas do robô. A `instrucao` precisa de 1 a 10 `regras` de saída (`condicao` até 200 caracteres); `botoes` precisa de 1 a 10 botões (`rotulo` até 20 caracteres) e de texto fixo em `mensagem` ou, com `mensagem_por_ia`, da `instrucao` para a IA escrever; `mensagem` também exige texto fixo ou `mensagem_por_ia`; `atendimento` encerra o robô, passa a conversa para a equipe do Chatwoot em `equipe_id` (opcional, de `GET /robo/equipes`) e, se vier `vendedor_id` (opcional, de `GET /robo/vendedores?equipe_id=`), para esse vendedor da equipe, e não tem saída; `vendedor` encerra o robô do mesmo jeito, mas passa a conversa só para o vendedor do Chatwoot em `vendedor_id` (obrigatório, de `GET /robo/vendedores`), sem equipe; `gatilho` (no máximo um, sem ligação de entrada nem de saída) é o gatilho de cliente sem resposta: `minutos_sem_resposta` (1 a 1440), `equipe_id` e `vendedor_id` opcionais (um, os dois ou nenhum), e uma varredura a cada minuto passa para essa equipe e esse vendedor toda conversa com o robô em que o cliente ficou esse tempo sem responder. Ids de etapas, botões e regras são únicos; nenhuma ligação volta ao início nem liga a etapa nela mesma, e cada saída tem no máximo uma próxima etapa. `inicio_contato_novo` (no máximo um, sem ligação de entrada) é o início de quem não está na lista de clientes: com ele no fluxo o robô atende contatos novos (sem ele, o contato novo vai para a equipe) e, sem ligação, o contato novo sai pelo `inicio`. O texto fixo aceita marcadores como `{{cliente.nome}}` e `{{ultimo_pedido.itens}}`.
25
25
  *
26
26
  * `POST /robo`
27
27
  */
@@ -88,7 +88,7 @@ export function buscar_pelo_id_robo(credencial_de_acesso, id, opcoes_da_chamada)
88
88
  /**
89
89
  * Atualiza um robô pelo id
90
90
  *
91
- * Exige a permissão `editar` da área `robos`. Atualização parcial: só os campos enviados mudam, com os mesmos limites do cadastro; `descricao` vazia apaga o valor `ativo` liga ou desliga o robô e `atender_contatos_novos` decide se o robô atende quem não está na lista de clientes (cliente cadastrado com o atendente desligado continua indo para a equipe). `fluxo`, quando enviado, substitui o fluxo inteiro. Enviar `prompt_base` ou `fluxo` sobe a `versao` em 1. `fluxo` é o caminho do atendimento: `nos` (até 40 etapas, exatamente uma do tipo `inicio`; os outros tipos são `inicio_contato_novo`, `instrucao`, `mensagem`, `botoes`, `atendimento`, `vendedor` e `gatilho`) e `ligacoes` (`origem`, `destino` e `origem_saida`, que é o id do botão ou da regra de onde a ligação sai, `null` no início e na mensagem). Cada etapa fora o início precisa de `nome` (até 60 caracteres); `objetivo` vai até 200, `instrucao` até 2000 e `mensagem` até 1000; `ferramentas` lista até 20 ids de ferramentas do robô. A `instrucao` precisa de 1 a 10 `regras` de saída (`condicao` até 200 caracteres); `botoes` precisa de 1 a 10 botões (`rotulo` até 20 caracteres) e de texto fixo em `mensagem` ou, com `mensagem_por_ia`, da `instrucao` para a IA escrever; `mensagem` também exige texto fixo ou `mensagem_por_ia`; `atendimento` encerra o robô, passa a conversa para a equipe do Chatwoot em `equipe_id` (opcional, de `GET /robo/equipes`) e, se vier `vendedor_id` (opcional, de `GET /robo/vendedores?equipe_id=`), para esse vendedor da equipe, e não tem saída; `vendedor` encerra o robô do mesmo jeito, mas passa a conversa só para o vendedor do Chatwoot em `vendedor_id` (obrigatório, de `GET /robo/vendedores`), sem equipe; `gatilho` (no máximo um, sem ligação de entrada nem de saída) é o gatilho de cliente sem resposta: `minutos_sem_resposta` (1 a 1440), `equipe_id` e `vendedor_id` opcionais (um, os dois ou nenhum), e uma varredura a cada minuto passa para essa equipe e esse vendedor toda conversa com o robô em que o cliente ficou esse tempo sem responder. Ids de etapas, botões e regras são únicos; nenhuma ligação volta ao início nem liga a etapa nela mesma, e cada saída tem no máximo uma próxima etapa. `inicio_contato_novo` (no máximo um, sem ligação de entrada) é o início de quem não está na lista de clientes: só vale com `atender_contatos_novos` ligado e, sem ele ou sem ligação, o contato novo sai pelo `inicio`. O texto fixo aceita marcadores como `{{cliente.nome}}` e `{{ultimo_pedido.itens}}`.
91
+ * Exige a permissão `editar` da área `robos`. Atualização parcial: só os campos enviados mudam, com os mesmos limites do cadastro; `descricao` vazia apaga o valor `ativo` liga ou desliga o robô. `fluxo`, quando enviado, substitui o fluxo inteiro. Enviar `prompt_base` ou `fluxo` sobe a `versao` em 1. `fluxo` é o caminho do atendimento: `nos` (até 40 etapas, exatamente uma do tipo `inicio`; os outros tipos são `inicio_contato_novo`, `instrucao`, `mensagem`, `botoes`, `atendimento`, `vendedor` e `gatilho`) e `ligacoes` (`origem`, `destino` e `origem_saida`, que é o id do botão ou da regra de onde a ligação sai, `null` no início e na mensagem). Cada etapa fora o início precisa de `nome` (até 60 caracteres); `objetivo` vai até 200, `instrucao` até 2000 e `mensagem` até 1000; `ferramentas` lista até 20 ids de ferramentas do robô. A `instrucao` precisa de 1 a 10 `regras` de saída (`condicao` até 200 caracteres); `botoes` precisa de 1 a 10 botões (`rotulo` até 20 caracteres) e de texto fixo em `mensagem` ou, com `mensagem_por_ia`, da `instrucao` para a IA escrever; `mensagem` também exige texto fixo ou `mensagem_por_ia`; `atendimento` encerra o robô, passa a conversa para a equipe do Chatwoot em `equipe_id` (opcional, de `GET /robo/equipes`) e, se vier `vendedor_id` (opcional, de `GET /robo/vendedores?equipe_id=`), para esse vendedor da equipe, e não tem saída; `vendedor` encerra o robô do mesmo jeito, mas passa a conversa só para o vendedor do Chatwoot em `vendedor_id` (obrigatório, de `GET /robo/vendedores`), sem equipe; `gatilho` (no máximo um, sem ligação de entrada nem de saída) é o gatilho de cliente sem resposta: `minutos_sem_resposta` (1 a 1440), `equipe_id` e `vendedor_id` opcionais (um, os dois ou nenhum), e uma varredura a cada minuto passa para essa equipe e esse vendedor toda conversa com o robô em que o cliente ficou esse tempo sem responder. Ids de etapas, botões e regras são únicos; nenhuma ligação volta ao início nem liga a etapa nela mesma, e cada saída tem no máximo uma próxima etapa. `inicio_contato_novo` (no máximo um, sem ligação de entrada) é o início de quem não está na lista de clientes: com ele no fluxo o robô atende contatos novos (sem ele, o contato novo vai para a equipe) e, sem ligação, o contato novo sai pelo `inicio`. O texto fixo aceita marcadores como `{{cliente.nome}}` e `{{ultimo_pedido.itens}}`.
92
92
  *
93
93
  * `PATCH /robo/{id}`
94
94
  */
@@ -5,7 +5,6 @@ export interface PaginaDeRoboAutoComplete {
5
5
  total: number;
6
6
  }
7
7
  export interface PaginaRoboItensItem {
8
- atender_contatos_novos: boolean;
9
8
  ativo: boolean;
10
9
  atualizado_em: string;
11
10
  criado_em: string;
@@ -27,7 +26,6 @@ export interface RespostaDeErro {
27
26
  erro: string;
28
27
  }
29
28
  export interface Robo {
30
- atender_contatos_novos: boolean;
31
29
  ativo: boolean;
32
30
  atualizado_em: string;
33
31
  criado_em: string;
@@ -40,7 +38,6 @@ export interface Robo {
40
38
  versao: number;
41
39
  }
42
40
  export interface RoboAtualizar {
43
- atender_contatos_novos?: boolean | null;
44
41
  ativo?: boolean | null;
45
42
  descricao?: string | null;
46
43
  fluxo?: RoboFluxo | null;
@@ -742,6 +742,22 @@ export declare function criar_tarefa(credencial_de_acesso: CredencialDeAcesso, c
742
742
  * `GET /tarefa/autocomplete`
743
743
  */
744
744
  export declare function buscar_auto_complete_tarefa(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarAutoCompleteTarefa, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaTarefaAutoComplete>;
745
+ /**
746
+ * Aplica a mesma mudança em várias tarefas
747
+ *
748
+ * Exige a permissão `editar` na área `projetos`. Aplica a mesma mudança em 1 a 500 tarefas (`tarefa_ids`, sem repetição), com pelo menos um destes campos: `secao_id` leva as tarefas principais para o fim dessa coluna, na ordem pedida (as tarefas e a coluna precisam ser do mesmo projeto); `responsavel_id` troca o responsável (`null` tira); `prazo` troca o prazo (`null` apaga; não pode ficar antes do início de nenhuma); `etiqueta_adicionar` põe a etiqueta em quem não a tem e `etiqueta_remover` tira de quem tem. Tudo é conferido antes de gravar: uma tarefa inexistente, subtarefa (com `secao_id`), de outro projeto ou com prazo antes do início recusa o pedido inteiro. A tarefa em que nada muda fica como está. Vale a regra da coluna que conclui do `PATCH /tarefa/{id}`: entrar nela conclui e sair reabre. Cada tarefa alterada ganha as linhas na atividade; o novo responsável e, ao concluir, o criador recebem notificação. Devolve as tarefas pedidas, já atualizadas, na ordem pedida. As tarefas são gravadas uma a uma: se o pedido parar no meio, repeti-lo completa só o que faltou. Visibilidade: projeto com `visibilidade` `MEMBROS` só aparece para o dono, os membros e o master do TermoAuth; para os demais a coluna e as tarefas dele respondem `404`. O responsável sempre enxerga a própria tarefa.
749
+ *
750
+ * `PATCH /tarefa/em_massa`
751
+ */
752
+ export declare function atualizar_em_massa_tarefa(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.TarefaAtualizarEmMassa, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.Tarefa>>;
753
+ /**
754
+ * Exclui várias tarefas
755
+ *
756
+ * Exige a permissão `deletar` na área `projetos`. Exclusão lógica de 1 a 500 tarefas (`tarefa_ids`, sem repetição) e das subtarefas delas. Tudo é conferido antes de gravar: uma tarefa inexistente ou já excluída recusa o pedido inteiro. As tarefas são excluídas uma a uma: se o pedido parar no meio, repeti-lo com as que sobraram termina a exclusão. Visibilidade: projeto com `visibilidade` `MEMBROS` só aparece para o dono, os membros e o master do TermoAuth; para os demais as tarefas dele respondem `404`. O responsável sempre enxerga a própria tarefa.
757
+ *
758
+ * `DELETE /tarefa/em_massa`
759
+ */
760
+ export declare function deletar_em_massa_tarefa(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.TarefaDeletarEmMassa, opcoes_da_chamada?: OpcoesDaChamada): Promise<void>;
745
761
  /**
746
762
  * Busca tarefas por filtro
747
763
  *
@@ -904,6 +904,40 @@ export function buscar_auto_complete_tarefa(credencial_de_acesso, parametros = {
904
904
  formato_da_resposta: "json",
905
905
  }, opcoes_da_chamada);
906
906
  }
907
+ /**
908
+ * Aplica a mesma mudança em várias tarefas
909
+ *
910
+ * Exige a permissão `editar` na área `projetos`. Aplica a mesma mudança em 1 a 500 tarefas (`tarefa_ids`, sem repetição), com pelo menos um destes campos: `secao_id` leva as tarefas principais para o fim dessa coluna, na ordem pedida (as tarefas e a coluna precisam ser do mesmo projeto); `responsavel_id` troca o responsável (`null` tira); `prazo` troca o prazo (`null` apaga; não pode ficar antes do início de nenhuma); `etiqueta_adicionar` põe a etiqueta em quem não a tem e `etiqueta_remover` tira de quem tem. Tudo é conferido antes de gravar: uma tarefa inexistente, subtarefa (com `secao_id`), de outro projeto ou com prazo antes do início recusa o pedido inteiro. A tarefa em que nada muda fica como está. Vale a regra da coluna que conclui do `PATCH /tarefa/{id}`: entrar nela conclui e sair reabre. Cada tarefa alterada ganha as linhas na atividade; o novo responsável e, ao concluir, o criador recebem notificação. Devolve as tarefas pedidas, já atualizadas, na ordem pedida. As tarefas são gravadas uma a uma: se o pedido parar no meio, repeti-lo completa só o que faltou. Visibilidade: projeto com `visibilidade` `MEMBROS` só aparece para o dono, os membros e o master do TermoAuth; para os demais a coluna e as tarefas dele respondem `404`. O responsável sempre enxerga a própria tarefa.
911
+ *
912
+ * `PATCH /tarefa/em_massa`
913
+ */
914
+ export function atualizar_em_massa_tarefa(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
915
+ return chamar_servico({
916
+ servico: SERVICO_DESTA_API,
917
+ metodo_http: "PATCH",
918
+ caminho_da_rota: "/tarefa/em_massa",
919
+ credencial_de_acesso,
920
+ corpo_json: corpo_da_requisicao,
921
+ formato_da_resposta: "json",
922
+ }, opcoes_da_chamada);
923
+ }
924
+ /**
925
+ * Exclui várias tarefas
926
+ *
927
+ * Exige a permissão `deletar` na área `projetos`. Exclusão lógica de 1 a 500 tarefas (`tarefa_ids`, sem repetição) e das subtarefas delas. Tudo é conferido antes de gravar: uma tarefa inexistente ou já excluída recusa o pedido inteiro. As tarefas são excluídas uma a uma: se o pedido parar no meio, repeti-lo com as que sobraram termina a exclusão. Visibilidade: projeto com `visibilidade` `MEMBROS` só aparece para o dono, os membros e o master do TermoAuth; para os demais as tarefas dele respondem `404`. O responsável sempre enxerga a própria tarefa.
928
+ *
929
+ * `DELETE /tarefa/em_massa`
930
+ */
931
+ export function deletar_em_massa_tarefa(credencial_de_acesso, corpo_da_requisicao, opcoes_da_chamada) {
932
+ return chamar_servico({
933
+ servico: SERVICO_DESTA_API,
934
+ metodo_http: "DELETE",
935
+ caminho_da_rota: "/tarefa/em_massa",
936
+ credencial_de_acesso,
937
+ corpo_json: corpo_da_requisicao,
938
+ formato_da_resposta: "sem_conteudo",
939
+ }, opcoes_da_chamada);
940
+ }
907
941
  /**
908
942
  * Busca tarefas por filtro
909
943
  *
@@ -665,6 +665,36 @@ export interface TarefaAtualizar {
665
665
  secao_id?: string | null;
666
666
  titulo?: string | null;
667
667
  }
668
+ /**
669
+ * A mesma mudança em várias tarefas de uma vez (as marcadas no quadro). Pelo menos um campo além de
670
+ * `tarefa_ids`; o que vem vale para todas.
671
+ */
672
+ export interface TarefaAtualizarEmMassa {
673
+ /**
674
+ * Etiqueta a pôr nas tarefas que ainda não a têm.
675
+ */
676
+ etiqueta_adicionar?: string | null;
677
+ /**
678
+ * Etiqueta a tirar das tarefas que a têm.
679
+ */
680
+ etiqueta_remover?: string | null;
681
+ /**
682
+ * Novo prazo; `null` apaga o prazo.
683
+ */
684
+ prazo?: string | null;
685
+ /**
686
+ * Novo responsável; `null` tira o responsável.
687
+ */
688
+ responsavel_id?: string | null;
689
+ /**
690
+ * Coluna de destino: só tarefas principais do mesmo projeto da coluna.
691
+ */
692
+ secao_id?: string | null;
693
+ /**
694
+ * Tarefas (de 1 a 500), na ordem em que entram no fim da coluna quando há `secao_id`.
695
+ */
696
+ tarefa_ids: Array<string>;
697
+ }
668
698
  export interface TarefaAutoComplete {
669
699
  id: string;
670
700
  projeto_nome: string;
@@ -695,6 +725,15 @@ export interface TarefaCriar {
695
725
  ticket_id?: string | null;
696
726
  titulo: string;
697
727
  }
728
+ /**
729
+ * Tarefas para excluir de uma vez.
730
+ */
731
+ export interface TarefaDeletarEmMassa {
732
+ /**
733
+ * Tarefas (de 1 a 500); cada uma sai com as subtarefas dela.
734
+ */
735
+ tarefa_ids: Array<string>;
736
+ }
698
737
  export interface Ticket {
699
738
  anexos_total: number;
700
739
  aplicativo: AplicativoResumo;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "termo_core",
3
- "version": "0.1.16",
3
+ "version": "0.1.17",
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>",