mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-17 04:32:53 -06:00
Start Typebot com opção de ativar chatbot ou não
Foi criada a variável enabled_typebot (não obrigatória) enabled_typebot igual a true ou vazio: o comportamento do "startTypebot" atua como a nova funcionalidadede sessões persistentes (v1.5.2) onde o flow do Typebot disparado atua como chatbot. enabled_typebot igual a false: o comportamento do "startTypebot" atua como era na Evolution v.1.5.1 onde o flow do Typebot disparado atua como mensagem simples, nao ativa o chatbot e funciona apenas como mensagens simples. Obs1: Se setada como true ou se for omitida essa variável no comando start Typebot, enabled_typebot será assumida como true, ou seja, start typebot aciona o flow com o chatbot ativado, imediatamente após o envio, aguardando interação do contato.. Se, antes do acionamento do start typebot, tiver um outro chatbot ativo, o mesmo será substituído pelo novo, ora enviado. Obs2: Se setada como false, dispara apenas como notificação e não ativa o bot. se tiver outro bot ativo na instancia o mesmo continuará ativo, após disparada a mensagem
This commit is contained in:
parent
5c74cbfe19
commit
3f4333087f
@ -99,6 +99,7 @@ export class TypebotService {
|
|||||||
const remoteJid = data.remoteJid;
|
const remoteJid = data.remoteJid;
|
||||||
const url = data.url;
|
const url = data.url;
|
||||||
const typebot = data.typebot;
|
const typebot = data.typebot;
|
||||||
|
const enabled_typebot = data.enabled_typebot;
|
||||||
const variables = data.variables;
|
const variables = data.variables;
|
||||||
const findTypebot = await this.find(instance);
|
const findTypebot = await this.find(instance);
|
||||||
const sessions = (findTypebot.sessions as Session[]) ?? [];
|
const sessions = (findTypebot.sessions as Session[]) ?? [];
|
||||||
@ -116,8 +117,13 @@ export class TypebotService {
|
|||||||
prefilledVariables[variable.name] = variable.value;
|
prefilledVariables[variable.name] = variable.value;
|
||||||
});
|
});
|
||||||
|
|
||||||
const response = await this.createNewSession(instance, {
|
if (enabled_typebot !== false ) {
|
||||||
|
let enabled_typebot = true;
|
||||||
|
|
||||||
|
|
||||||
|
const response = await this.createNewSession(instance, {
|
||||||
url: url,
|
url: url,
|
||||||
|
enabled_typebot: enabled_typebot,
|
||||||
typebot: typebot,
|
typebot: typebot,
|
||||||
remoteJid: remoteJid,
|
remoteJid: remoteJid,
|
||||||
expire: expire,
|
expire: expire,
|
||||||
@ -141,6 +147,7 @@ export class TypebotService {
|
|||||||
this.waMonitor.waInstances[instance.instanceName].sendDataWebhook(Events.TYPEBOT_START, {
|
this.waMonitor.waInstances[instance.instanceName].sendDataWebhook(Events.TYPEBOT_START, {
|
||||||
remoteJid: remoteJid,
|
remoteJid: remoteJid,
|
||||||
url: url,
|
url: url,
|
||||||
|
enabled_typebot: enabled_typebot,
|
||||||
typebot: typebot,
|
typebot: typebot,
|
||||||
prefilledVariables: prefilledVariables,
|
prefilledVariables: prefilledVariables,
|
||||||
sessionId: `${response.sessionId}`,
|
sessionId: `${response.sessionId}`,
|
||||||
@ -148,11 +155,45 @@ export class TypebotService {
|
|||||||
} else {
|
} else {
|
||||||
throw new Error("Session ID not found in response");
|
throw new Error("Session ID not found in response");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
const id = Math.floor(Math.random() * 10000000000).toString();
|
||||||
|
|
||||||
|
const reqData = {
|
||||||
|
sessionId: id,
|
||||||
|
startParams: {
|
||||||
|
typebot: data.typebot,
|
||||||
|
prefilledVariables: prefilledVariables,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const request = await axios.post(data.url + '/api/v1/sendMessage', reqData);
|
||||||
|
|
||||||
|
await this.sendWAMessage(
|
||||||
|
instance,
|
||||||
|
remoteJid,
|
||||||
|
request.data.messages,
|
||||||
|
request.data.input,
|
||||||
|
request.data.clientSideActions,
|
||||||
|
);
|
||||||
|
|
||||||
|
this.waMonitor.waInstances[instance.instanceName].sendDataWebhook(Events.TYPEBOT_START, {
|
||||||
|
remoteJid: remoteJid,
|
||||||
|
url: url,
|
||||||
|
typebot: typebot,
|
||||||
|
variables: variables,
|
||||||
|
sessionId: id,
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
typebot: {
|
typebot: {
|
||||||
...instance,
|
...instance,
|
||||||
typebot: {
|
typebot: {
|
||||||
|
enabled_typebot: enabled_typebot,
|
||||||
url: url,
|
url: url,
|
||||||
remoteJid: remoteJid,
|
remoteJid: remoteJid,
|
||||||
typebot: typebot,
|
typebot: typebot,
|
||||||
@ -504,7 +545,6 @@ export class TypebotService {
|
|||||||
sessions.splice(sessions.indexOf(session), 1);
|
sessions.splice(sessions.indexOf(session), 1);
|
||||||
|
|
||||||
const typebotData = {
|
const typebotData = {
|
||||||
enabled: true,
|
|
||||||
url: url,
|
url: url,
|
||||||
typebot: typebot,
|
typebot: typebot,
|
||||||
expire: expire,
|
expire: expire,
|
||||||
|
Loading…
Reference in New Issue
Block a user