termo_core 0.1.14 → 0.1.16
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/agenda/rotas.d.ts +2 -2
- package/dist/agenda/rotas.js +2 -2
- package/dist/agenda/tipos.d.ts +9 -0
- package/dist/flow/rotas.d.ts +57 -2
- package/dist/flow/rotas.js +69 -2
- package/dist/flow/tipos.d.ts +31 -0
- package/dist/talk/rotas.d.ts +16 -0
- package/dist/talk/rotas.js +33 -0
- package/dist/talk/tipos.d.ts +22 -1
- package/package.json +1 -1
package/dist/agenda/rotas.d.ts
CHANGED
|
@@ -170,7 +170,7 @@ export declare function buscar_pelo_filtro_evento(credencial_de_acesso: Credenci
|
|
|
170
170
|
/**
|
|
171
171
|
* Marca um evento
|
|
172
172
|
*
|
|
173
|
-
* Livre para todo colaborador logado; quem marca é o organizador. Sem `agenda_id`, vai para a "Minha agenda". `inicio` e `fim` em ISO 8601 (o fim depois do início, até 31 dias); `titulo` vazio vira "(Sem título)"; `dia_inteiro` usa meia-noite de Brasília no início e no fim (exclusivo). `convidado_ids` (até 100 colaboradores) e `sala_ids` (até 5 salas ativas). `recorrencia`: `frequencia` `DIARIA`, `SEMANAL`, `MENSAL` ou `ANUAL`, `intervalo` 1 a 99, `dias_semana` (0 = domingo, na semanal), e `ate` (AAAA-MM-DD) ou `vezes` (1 a 730). `lembretes` em minutos antes (padrão `[10]`). **Conflito:** se um convidado (que não recusou) ou uma sala já tem reunião no horário, responde `409` com `conflitos` (quem, ou qual sala, e quando), conferindo cada ocorrência da repetição nos próximos 12 meses; evento de dia inteiro não ocupa e a agenda do próprio organizador não bloqueia.
|
|
173
|
+
* Livre para todo colaborador logado; quem marca é o organizador. Sem `agenda_id`, vai para a "Minha agenda". `inicio` e `fim` em ISO 8601 (o fim depois do início, até 31 dias); `titulo` vazio vira "(Sem título)"; `dia_inteiro` usa meia-noite de Brasília no início e no fim (exclusivo). `convidado_ids` (até 100 colaboradores) e `sala_ids` (até 5 salas ativas). `recorrencia`: `frequencia` `DIARIA`, `SEMANAL`, `MENSAL` ou `ANUAL`, `intervalo` 1 a 99, `dias_semana` (0 = domingo, na semanal), e `ate` (AAAA-MM-DD) ou `vezes` (1 a 730). `lembretes` em minutos antes (padrão `[10]`). **Videochamada:** `com_videochamada: true` cria a reunião no TermoMeet (com o token de quem marca) com o título e o horário do evento e grava o link dela em `link_reuniao`; se o TermoMeet falhar, responde `502` e nada é gravado. **Conflito:** se um convidado (que não recusou) ou uma sala já tem reunião no horário, responde `409` com `conflitos` (quem, ou qual sala, e quando), conferindo cada ocorrência da repetição nos próximos 12 meses; evento de dia inteiro não ocupa e a agenda do próprio organizador não bloqueia.
|
|
174
174
|
*
|
|
175
175
|
* `POST /evento`
|
|
176
176
|
*/
|
|
@@ -202,7 +202,7 @@ export declare function buscar_pelo_id_evento(credencial_de_acesso: CredencialDe
|
|
|
202
202
|
/**
|
|
203
203
|
* Altera um evento
|
|
204
204
|
*
|
|
205
|
-
* Só o organizador (`403` para o convidado). Só os campos enviados mudam; `local`, `descricao`, `cor`, `link_reuniao` e `recorrencia` com `null` apagam o valor. Na repetição, `escopo` diz o alcance: `todos` (padrão; mudar o horário desloca a série inteira pela diferença em relação à `ocorrencia`), `este` (só a `ocorrencia`, que vira um evento à parte) ou `seguintes` (da `ocorrencia` em diante, que vira uma série nova). Quem continua convidado guarda a resposta. Confere o conflito como no `POST` (`409`).
|
|
205
|
+
* Só o organizador (`403` para o convidado). Só os campos enviados mudam; `local`, `descricao`, `cor`, `link_reuniao` e `recorrencia` com `null` apagam o valor. Na repetição, `escopo` diz o alcance: `todos` (padrão; mudar o horário desloca a série inteira pela diferença em relação à `ocorrencia`), `este` (só a `ocorrencia`, que vira um evento à parte) ou `seguintes` (da `ocorrencia` em diante, que vira uma série nova). Quem continua convidado guarda a resposta. Confere o conflito como no `POST` (`409`). `com_videochamada: true` cria a videochamada no TermoMeet para o evento que ainda não tem link (`502` se o TermoMeet falhar); com `escopo` `todos`, mudar o título ou o horário de um evento com videochamada do TermoMeet atualiza a reunião, e excluir a série inteira a exclui.
|
|
206
206
|
*
|
|
207
207
|
* `PATCH /evento/{id}`
|
|
208
208
|
*/
|
package/dist/agenda/rotas.js
CHANGED
|
@@ -153,7 +153,7 @@ export function buscar_pelo_filtro_evento(credencial_de_acesso, parametros, opco
|
|
|
153
153
|
/**
|
|
154
154
|
* Marca um evento
|
|
155
155
|
*
|
|
156
|
-
* Livre para todo colaborador logado; quem marca é o organizador. Sem `agenda_id`, vai para a "Minha agenda". `inicio` e `fim` em ISO 8601 (o fim depois do início, até 31 dias); `titulo` vazio vira "(Sem título)"; `dia_inteiro` usa meia-noite de Brasília no início e no fim (exclusivo). `convidado_ids` (até 100 colaboradores) e `sala_ids` (até 5 salas ativas). `recorrencia`: `frequencia` `DIARIA`, `SEMANAL`, `MENSAL` ou `ANUAL`, `intervalo` 1 a 99, `dias_semana` (0 = domingo, na semanal), e `ate` (AAAA-MM-DD) ou `vezes` (1 a 730). `lembretes` em minutos antes (padrão `[10]`). **Conflito:** se um convidado (que não recusou) ou uma sala já tem reunião no horário, responde `409` com `conflitos` (quem, ou qual sala, e quando), conferindo cada ocorrência da repetição nos próximos 12 meses; evento de dia inteiro não ocupa e a agenda do próprio organizador não bloqueia.
|
|
156
|
+
* Livre para todo colaborador logado; quem marca é o organizador. Sem `agenda_id`, vai para a "Minha agenda". `inicio` e `fim` em ISO 8601 (o fim depois do início, até 31 dias); `titulo` vazio vira "(Sem título)"; `dia_inteiro` usa meia-noite de Brasília no início e no fim (exclusivo). `convidado_ids` (até 100 colaboradores) e `sala_ids` (até 5 salas ativas). `recorrencia`: `frequencia` `DIARIA`, `SEMANAL`, `MENSAL` ou `ANUAL`, `intervalo` 1 a 99, `dias_semana` (0 = domingo, na semanal), e `ate` (AAAA-MM-DD) ou `vezes` (1 a 730). `lembretes` em minutos antes (padrão `[10]`). **Videochamada:** `com_videochamada: true` cria a reunião no TermoMeet (com o token de quem marca) com o título e o horário do evento e grava o link dela em `link_reuniao`; se o TermoMeet falhar, responde `502` e nada é gravado. **Conflito:** se um convidado (que não recusou) ou uma sala já tem reunião no horário, responde `409` com `conflitos` (quem, ou qual sala, e quando), conferindo cada ocorrência da repetição nos próximos 12 meses; evento de dia inteiro não ocupa e a agenda do próprio organizador não bloqueia.
|
|
157
157
|
*
|
|
158
158
|
* `POST /evento`
|
|
159
159
|
*/
|
|
@@ -220,7 +220,7 @@ export function buscar_pelo_id_evento(credencial_de_acesso, id, opcoes_da_chamad
|
|
|
220
220
|
/**
|
|
221
221
|
* Altera um evento
|
|
222
222
|
*
|
|
223
|
-
* Só o organizador (`403` para o convidado). Só os campos enviados mudam; `local`, `descricao`, `cor`, `link_reuniao` e `recorrencia` com `null` apagam o valor. Na repetição, `escopo` diz o alcance: `todos` (padrão; mudar o horário desloca a série inteira pela diferença em relação à `ocorrencia`), `este` (só a `ocorrencia`, que vira um evento à parte) ou `seguintes` (da `ocorrencia` em diante, que vira uma série nova). Quem continua convidado guarda a resposta. Confere o conflito como no `POST` (`409`).
|
|
223
|
+
* Só o organizador (`403` para o convidado). Só os campos enviados mudam; `local`, `descricao`, `cor`, `link_reuniao` e `recorrencia` com `null` apagam o valor. Na repetição, `escopo` diz o alcance: `todos` (padrão; mudar o horário desloca a série inteira pela diferença em relação à `ocorrencia`), `este` (só a `ocorrencia`, que vira um evento à parte) ou `seguintes` (da `ocorrencia` em diante, que vira uma série nova). Quem continua convidado guarda a resposta. Confere o conflito como no `POST` (`409`). `com_videochamada: true` cria a videochamada no TermoMeet para o evento que ainda não tem link (`502` se o TermoMeet falhar); com `escopo` `todos`, mudar o título ou o horário de um evento com videochamada do TermoMeet atualiza a reunião, e excluir a série inteira a exclui.
|
|
224
224
|
*
|
|
225
225
|
* `PATCH /evento/{id}`
|
|
226
226
|
*/
|
package/dist/agenda/tipos.d.ts
CHANGED
|
@@ -85,6 +85,10 @@ export interface Evento {
|
|
|
85
85
|
}
|
|
86
86
|
export interface EventoAtualizar {
|
|
87
87
|
agenda_id?: string | null;
|
|
88
|
+
/**
|
|
89
|
+
* `true` cria a videochamada no TermoMeet para um evento que ainda não tem link.
|
|
90
|
+
*/
|
|
91
|
+
com_videochamada?: boolean | null;
|
|
88
92
|
convidado_ids?: Array<string> | null;
|
|
89
93
|
cor?: string | null;
|
|
90
94
|
descricao?: string | null;
|
|
@@ -117,6 +121,11 @@ export interface EventoCriar {
|
|
|
117
121
|
* Sem ela, o evento vai para a "Minha agenda".
|
|
118
122
|
*/
|
|
119
123
|
agenda_id?: string | null;
|
|
124
|
+
/**
|
|
125
|
+
* `true` cria a videochamada no TermoMeet com o título e o horário do evento e põe o link
|
|
126
|
+
* dela em `link_reuniao`.
|
|
127
|
+
*/
|
|
128
|
+
com_videochamada?: boolean | null;
|
|
120
129
|
convidado_ids?: Array<string> | null;
|
|
121
130
|
cor?: string | null;
|
|
122
131
|
descricao?: string | null;
|
package/dist/flow/rotas.d.ts
CHANGED
|
@@ -1,18 +1,73 @@
|
|
|
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 `/robo`.
|
|
6
|
+
*/
|
|
7
|
+
export interface ParametrosDeBuscarPaginadorRobo {
|
|
8
|
+
pagina?: number;
|
|
9
|
+
tamanho?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Parâmetros de consulta e de cabeçalho de `/robo/autocomplete`.
|
|
13
|
+
*/
|
|
14
|
+
export interface ParametrosDeBuscarAutoCompleteRobo {
|
|
15
|
+
busca?: string;
|
|
16
|
+
pagina?: number;
|
|
17
|
+
tamanho?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Parâmetros de consulta e de cabeçalho de `/robo/filtro`.
|
|
21
|
+
*/
|
|
22
|
+
export interface ParametrosDeBuscarPeloFiltroRobo {
|
|
23
|
+
nome?: string;
|
|
24
|
+
modelo?: string;
|
|
25
|
+
ativo?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Lista os robôs com paginação
|
|
29
|
+
*
|
|
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.
|
|
31
|
+
*
|
|
32
|
+
* `GET /robo`
|
|
33
|
+
*/
|
|
34
|
+
export declare function buscar_paginador_robo(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPaginadorRobo, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaRobo>;
|
|
4
35
|
/**
|
|
5
36
|
* Cadastra um robô de atendimento
|
|
6
37
|
*
|
|
7
|
-
* 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` 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 não tem saída; `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) e `
|
|
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}}`.
|
|
8
39
|
*
|
|
9
40
|
* `POST /robo`
|
|
10
41
|
*/
|
|
11
42
|
export declare function criar_robo(credencial_de_acesso: CredencialDeAcesso, corpo_da_requisicao: tipos.RoboCriar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Robo>;
|
|
43
|
+
/**
|
|
44
|
+
* Lista básica de robôs para seleção
|
|
45
|
+
*
|
|
46
|
+
* Exige qualquer permissão da área `robos`, `whatsapp` ou `chatwoot` (qualquer ação liberada na área já libera a leitura). Devolve só id, nome e modelo, em ordem alfabética de nome, para achar o id de um robô. `busca` procura por trecho do nome, sem diferenciar maiúsculas. `pagina` começa em 1 (padrão 1) e `tamanho` tem padrão 10; valores menores que 1 viram 1. `total` conta os robôs que casam com a busca.
|
|
47
|
+
*
|
|
48
|
+
* `GET /robo/autocomplete`
|
|
49
|
+
*/
|
|
50
|
+
export declare function buscar_auto_complete_robo(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarAutoCompleteRobo, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.PaginaDeRoboAutoComplete>;
|
|
51
|
+
/**
|
|
52
|
+
* Busca robôs por filtro
|
|
53
|
+
*
|
|
54
|
+
* Exige qualquer permissão da área `robos`, `whatsapp` ou `chatwoot` (qualquer ação liberada na área já libera a leitura). Devolve todos os robôs que casam com o filtro, com o fluxo, sem paginação, em ordem alfabética de nome. `nome` e `modelo` procuram por trecho, sem diferenciar maiúsculas; `ativo` filtra pela situação. Sem filtro, devolve todos.
|
|
55
|
+
*
|
|
56
|
+
* `GET /robo/filtro`
|
|
57
|
+
*/
|
|
58
|
+
export declare function buscar_pelo_filtro_robo(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPeloFiltroRobo, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.Robo>>;
|
|
59
|
+
/**
|
|
60
|
+
* Busca um robô pelo id
|
|
61
|
+
*
|
|
62
|
+
* Exige qualquer permissão da área `robos`, `whatsapp` ou `chatwoot` (qualquer ação liberada na área já libera a leitura). Devolve o robô com o prompt e o fluxo completo (etapas e ligações), no mesmo formato aceito pelo `PATCH`. Robô excluído responde `404`.
|
|
63
|
+
*
|
|
64
|
+
* `GET /robo/{id}`
|
|
65
|
+
*/
|
|
66
|
+
export declare function buscar_pelo_id_robo(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.Robo>;
|
|
12
67
|
/**
|
|
13
68
|
* Atualiza um robô pelo id
|
|
14
69
|
*
|
|
15
|
-
* 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` 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 não tem saída; `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) e `
|
|
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}}`.
|
|
16
71
|
*
|
|
17
72
|
* `PATCH /robo/{id}`
|
|
18
73
|
*/
|
package/dist/flow/rotas.js
CHANGED
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
// Gerado pelo gerador do TermoCore (`cargo run -p gerador`). Não edite à mão: a próxima geração sobrescreve.
|
|
2
2
|
import { chamar_servico, codificar_parametro_de_caminho } from "../base/requisicao.js";
|
|
3
3
|
import { TERMO_FLOW as SERVICO_DESTA_API } from "../base/servicos.js";
|
|
4
|
+
/**
|
|
5
|
+
* Lista os robôs com paginação
|
|
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.
|
|
8
|
+
*
|
|
9
|
+
* `GET /robo`
|
|
10
|
+
*/
|
|
11
|
+
export function buscar_paginador_robo(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
12
|
+
return chamar_servico({
|
|
13
|
+
servico: SERVICO_DESTA_API,
|
|
14
|
+
metodo_http: "GET",
|
|
15
|
+
caminho_da_rota: "/robo",
|
|
16
|
+
credencial_de_acesso,
|
|
17
|
+
parametros_de_consulta: parametros,
|
|
18
|
+
formato_da_resposta: "json",
|
|
19
|
+
}, opcoes_da_chamada);
|
|
20
|
+
}
|
|
4
21
|
/**
|
|
5
22
|
* Cadastra um robô de atendimento
|
|
6
23
|
*
|
|
7
|
-
* 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` 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 não tem saída; `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) e `
|
|
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}}`.
|
|
8
25
|
*
|
|
9
26
|
* `POST /robo`
|
|
10
27
|
*/
|
|
@@ -18,10 +35,60 @@ export function criar_robo(credencial_de_acesso, corpo_da_requisicao, opcoes_da_
|
|
|
18
35
|
formato_da_resposta: "json",
|
|
19
36
|
}, opcoes_da_chamada);
|
|
20
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Lista básica de robôs para seleção
|
|
40
|
+
*
|
|
41
|
+
* Exige qualquer permissão da área `robos`, `whatsapp` ou `chatwoot` (qualquer ação liberada na área já libera a leitura). Devolve só id, nome e modelo, em ordem alfabética de nome, para achar o id de um robô. `busca` procura por trecho do nome, sem diferenciar maiúsculas. `pagina` começa em 1 (padrão 1) e `tamanho` tem padrão 10; valores menores que 1 viram 1. `total` conta os robôs que casam com a busca.
|
|
42
|
+
*
|
|
43
|
+
* `GET /robo/autocomplete`
|
|
44
|
+
*/
|
|
45
|
+
export function buscar_auto_complete_robo(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
46
|
+
return chamar_servico({
|
|
47
|
+
servico: SERVICO_DESTA_API,
|
|
48
|
+
metodo_http: "GET",
|
|
49
|
+
caminho_da_rota: "/robo/autocomplete",
|
|
50
|
+
credencial_de_acesso,
|
|
51
|
+
parametros_de_consulta: parametros,
|
|
52
|
+
formato_da_resposta: "json",
|
|
53
|
+
}, opcoes_da_chamada);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Busca robôs por filtro
|
|
57
|
+
*
|
|
58
|
+
* Exige qualquer permissão da área `robos`, `whatsapp` ou `chatwoot` (qualquer ação liberada na área já libera a leitura). Devolve todos os robôs que casam com o filtro, com o fluxo, sem paginação, em ordem alfabética de nome. `nome` e `modelo` procuram por trecho, sem diferenciar maiúsculas; `ativo` filtra pela situação. Sem filtro, devolve todos.
|
|
59
|
+
*
|
|
60
|
+
* `GET /robo/filtro`
|
|
61
|
+
*/
|
|
62
|
+
export function buscar_pelo_filtro_robo(credencial_de_acesso, parametros = {}, opcoes_da_chamada) {
|
|
63
|
+
return chamar_servico({
|
|
64
|
+
servico: SERVICO_DESTA_API,
|
|
65
|
+
metodo_http: "GET",
|
|
66
|
+
caminho_da_rota: "/robo/filtro",
|
|
67
|
+
credencial_de_acesso,
|
|
68
|
+
parametros_de_consulta: parametros,
|
|
69
|
+
formato_da_resposta: "json",
|
|
70
|
+
}, opcoes_da_chamada);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Busca um robô pelo id
|
|
74
|
+
*
|
|
75
|
+
* Exige qualquer permissão da área `robos`, `whatsapp` ou `chatwoot` (qualquer ação liberada na área já libera a leitura). Devolve o robô com o prompt e o fluxo completo (etapas e ligações), no mesmo formato aceito pelo `PATCH`. Robô excluído responde `404`.
|
|
76
|
+
*
|
|
77
|
+
* `GET /robo/{id}`
|
|
78
|
+
*/
|
|
79
|
+
export function buscar_pelo_id_robo(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
80
|
+
return chamar_servico({
|
|
81
|
+
servico: SERVICO_DESTA_API,
|
|
82
|
+
metodo_http: "GET",
|
|
83
|
+
caminho_da_rota: `/robo/${codificar_parametro_de_caminho(id)}`,
|
|
84
|
+
credencial_de_acesso,
|
|
85
|
+
formato_da_resposta: "json",
|
|
86
|
+
}, opcoes_da_chamada);
|
|
87
|
+
}
|
|
21
88
|
/**
|
|
22
89
|
* Atualiza um robô pelo id
|
|
23
90
|
*
|
|
24
|
-
* 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` 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 não tem saída; `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) e `
|
|
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}}`.
|
|
25
92
|
*
|
|
26
93
|
* `PATCH /robo/{id}`
|
|
27
94
|
*/
|
package/dist/flow/tipos.d.ts
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
export interface PaginaDeRoboAutoComplete {
|
|
2
|
+
itens: Array<RoboAutoComplete>;
|
|
3
|
+
pagina: number;
|
|
4
|
+
tamanho: number;
|
|
5
|
+
total: number;
|
|
6
|
+
}
|
|
7
|
+
export interface PaginaRoboItensItem {
|
|
8
|
+
atender_contatos_novos: boolean;
|
|
9
|
+
ativo: boolean;
|
|
10
|
+
atualizado_em: string;
|
|
11
|
+
criado_em: string;
|
|
12
|
+
descricao?: string | null;
|
|
13
|
+
fluxo: RoboFluxo;
|
|
14
|
+
id: string;
|
|
15
|
+
modelo: string;
|
|
16
|
+
nome: string;
|
|
17
|
+
prompt_base: string;
|
|
18
|
+
versao: number;
|
|
19
|
+
}
|
|
20
|
+
export interface PaginaRobo {
|
|
21
|
+
itens: Array<PaginaRoboItensItem>;
|
|
22
|
+
pagina: number;
|
|
23
|
+
tamanho: number;
|
|
24
|
+
total: number;
|
|
25
|
+
}
|
|
1
26
|
export interface RespostaDeErro {
|
|
2
27
|
erro: string;
|
|
3
28
|
}
|
|
@@ -23,6 +48,11 @@ export interface RoboAtualizar {
|
|
|
23
48
|
nome?: string | null;
|
|
24
49
|
prompt_base?: string | null;
|
|
25
50
|
}
|
|
51
|
+
export interface RoboAutoComplete {
|
|
52
|
+
id: string;
|
|
53
|
+
modelo: string;
|
|
54
|
+
nome: string;
|
|
55
|
+
}
|
|
26
56
|
export interface RoboBotao {
|
|
27
57
|
id: string;
|
|
28
58
|
rotulo: string;
|
|
@@ -58,6 +88,7 @@ export interface RoboNo {
|
|
|
58
88
|
posicao: RoboPosicao;
|
|
59
89
|
regras?: Array<RoboRegra>;
|
|
60
90
|
tipo: string;
|
|
91
|
+
vendedor_id?: number | null;
|
|
61
92
|
}
|
|
62
93
|
export interface RoboPosicao {
|
|
63
94
|
x?: number;
|
package/dist/talk/rotas.d.ts
CHANGED
|
@@ -89,6 +89,14 @@ export declare function explorar_conversa(credencial_de_acesso: CredencialDeAces
|
|
|
89
89
|
* `GET /conversa/pessoas`
|
|
90
90
|
*/
|
|
91
91
|
export declare function buscar_pessoas_conversa(credencial_de_acesso: CredencialDeAcesso, parametros?: ParametrosDeBuscarPessoasConversa, opcoes_da_chamada?: OpcoesDaChamada): Promise<Array<tipos.ColaboradorPessoa>>;
|
|
92
|
+
/**
|
|
93
|
+
* Mostra um colaborador
|
|
94
|
+
*
|
|
95
|
+
* O cartão da pessoa: nome, e-mail, telefone, setor e cargo. Vale também para quem já saiu da empresa, que continua nas mensagens antigas.
|
|
96
|
+
*
|
|
97
|
+
* `GET /conversa/pessoas/{id}`
|
|
98
|
+
*/
|
|
99
|
+
export declare function buscar_pessoa_conversa(credencial_de_acesso: CredencialDeAcesso, id: string, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.ColaboradorPessoa>;
|
|
92
100
|
/**
|
|
93
101
|
* Busca uma conversa pelo id
|
|
94
102
|
*
|
|
@@ -185,6 +193,14 @@ export declare function remover_participante_conversa(credencial_de_acesso: Cred
|
|
|
185
193
|
* `PATCH /conversa/{id}/preferencias`
|
|
186
194
|
*/
|
|
187
195
|
export declare function atualizar_preferencias_conversa(credencial_de_acesso: CredencialDeAcesso, id: string, corpo_da_requisicao: tipos.PreferenciasAtualizar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.MeuEstado>;
|
|
196
|
+
/**
|
|
197
|
+
* Inicia uma reunião ou uma chamada no TermoMeet
|
|
198
|
+
*
|
|
199
|
+
* Cria no TermoMeet (com o token de quem pediu) uma reunião instantânea com o nome da conversa (ou "Reunião de"/"Chamada de" quem pediu) e manda o link na conversa como mensagem de quem pediu. `tipo` `REUNIAO` (padrão) manda "📹 Reunião no TermoMeet: <link>"; `CHAMADA` manda "📞 <nome> iniciou uma chamada no TermoMeet: <link>" e avisa por push quem não está no app. O corpo pode ir vazio. Quem está conectado recebe `mensagem.criada` na hora. A resposta traz o `codigo` e o `link` da sala para abrir na hora.
|
|
200
|
+
*
|
|
201
|
+
* `POST /conversa/{id}/reuniao`
|
|
202
|
+
*/
|
|
203
|
+
export declare function iniciar_reuniao_mensagem(credencial_de_acesso: CredencialDeAcesso, id: string, corpo_da_requisicao: tipos.ReuniaoIniciar, opcoes_da_chamada?: OpcoesDaChamada): Promise<tipos.ReuniaoIniciada>;
|
|
188
204
|
/**
|
|
189
205
|
* Sai do grupo ou do espaço
|
|
190
206
|
*
|
package/dist/talk/rotas.js
CHANGED
|
@@ -85,6 +85,22 @@ export function buscar_pessoas_conversa(credencial_de_acesso, parametros = {}, o
|
|
|
85
85
|
formato_da_resposta: "json",
|
|
86
86
|
}, opcoes_da_chamada);
|
|
87
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Mostra um colaborador
|
|
90
|
+
*
|
|
91
|
+
* O cartão da pessoa: nome, e-mail, telefone, setor e cargo. Vale também para quem já saiu da empresa, que continua nas mensagens antigas.
|
|
92
|
+
*
|
|
93
|
+
* `GET /conversa/pessoas/{id}`
|
|
94
|
+
*/
|
|
95
|
+
export function buscar_pessoa_conversa(credencial_de_acesso, id, opcoes_da_chamada) {
|
|
96
|
+
return chamar_servico({
|
|
97
|
+
servico: SERVICO_DESTA_API,
|
|
98
|
+
metodo_http: "GET",
|
|
99
|
+
caminho_da_rota: `/conversa/pessoas/${codificar_parametro_de_caminho(id)}`,
|
|
100
|
+
credencial_de_acesso,
|
|
101
|
+
formato_da_resposta: "json",
|
|
102
|
+
}, opcoes_da_chamada);
|
|
103
|
+
}
|
|
88
104
|
/**
|
|
89
105
|
* Busca uma conversa pelo id
|
|
90
106
|
*
|
|
@@ -285,6 +301,23 @@ export function atualizar_preferencias_conversa(credencial_de_acesso, id, corpo_
|
|
|
285
301
|
formato_da_resposta: "json",
|
|
286
302
|
}, opcoes_da_chamada);
|
|
287
303
|
}
|
|
304
|
+
/**
|
|
305
|
+
* Inicia uma reunião ou uma chamada no TermoMeet
|
|
306
|
+
*
|
|
307
|
+
* Cria no TermoMeet (com o token de quem pediu) uma reunião instantânea com o nome da conversa (ou "Reunião de"/"Chamada de" quem pediu) e manda o link na conversa como mensagem de quem pediu. `tipo` `REUNIAO` (padrão) manda "📹 Reunião no TermoMeet: <link>"; `CHAMADA` manda "📞 <nome> iniciou uma chamada no TermoMeet: <link>" e avisa por push quem não está no app. O corpo pode ir vazio. Quem está conectado recebe `mensagem.criada` na hora. A resposta traz o `codigo` e o `link` da sala para abrir na hora.
|
|
308
|
+
*
|
|
309
|
+
* `POST /conversa/{id}/reuniao`
|
|
310
|
+
*/
|
|
311
|
+
export function iniciar_reuniao_mensagem(credencial_de_acesso, id, corpo_da_requisicao, opcoes_da_chamada) {
|
|
312
|
+
return chamar_servico({
|
|
313
|
+
servico: SERVICO_DESTA_API,
|
|
314
|
+
metodo_http: "POST",
|
|
315
|
+
caminho_da_rota: `/conversa/${codificar_parametro_de_caminho(id)}/reuniao`,
|
|
316
|
+
credencial_de_acesso,
|
|
317
|
+
corpo_json: corpo_da_requisicao,
|
|
318
|
+
formato_da_resposta: "json",
|
|
319
|
+
}, opcoes_da_chamada);
|
|
320
|
+
}
|
|
288
321
|
/**
|
|
289
322
|
* Sai do grupo ou do espaço
|
|
290
323
|
*
|
package/dist/talk/tipos.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export interface AnexoEnviar {
|
|
|
38
38
|
tipo: string;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
* Colaborador para escolher numa conversa: nome, e-mail, setor e cargo.
|
|
41
|
+
* Colaborador para escolher numa conversa (e para o cartão da pessoa): nome, e-mail, telefone, setor e cargo.
|
|
42
42
|
*/
|
|
43
43
|
export interface ColaboradorPessoa {
|
|
44
44
|
cargo?: string | null;
|
|
@@ -46,6 +46,7 @@ export interface ColaboradorPessoa {
|
|
|
46
46
|
id: string;
|
|
47
47
|
nome: string;
|
|
48
48
|
setor?: string | null;
|
|
49
|
+
telefone?: string | null;
|
|
49
50
|
}
|
|
50
51
|
/**
|
|
51
52
|
* Resumo do colaborador (id e nome) para mostrar autoria.
|
|
@@ -231,6 +232,26 @@ export interface ReacaoAlternar {
|
|
|
231
232
|
export interface RespostaDeErro {
|
|
232
233
|
erro: string;
|
|
233
234
|
}
|
|
235
|
+
export interface ReuniaoIniciada {
|
|
236
|
+
/**
|
|
237
|
+
* Código da sala no TermoMeet (`abc-defg-hij`).
|
|
238
|
+
*/
|
|
239
|
+
codigo: string;
|
|
240
|
+
/**
|
|
241
|
+
* Link da sala no TermoMeet, o mesmo que foi na mensagem.
|
|
242
|
+
*/
|
|
243
|
+
link: string;
|
|
244
|
+
/**
|
|
245
|
+
* A mensagem com o link que foi para a conversa.
|
|
246
|
+
*/
|
|
247
|
+
mensagem: Mensagem;
|
|
248
|
+
}
|
|
249
|
+
export interface ReuniaoIniciar {
|
|
250
|
+
/**
|
|
251
|
+
* `REUNIAO` (padrão, reunião instantânea) ou `CHAMADA` (liga para quem está na conversa).
|
|
252
|
+
*/
|
|
253
|
+
tipo?: string | null;
|
|
254
|
+
}
|
|
234
255
|
export interface UltimaMensagem {
|
|
235
256
|
autor: ColaboradorResumo;
|
|
236
257
|
criado_em: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "termo_core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
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>",
|