diff --git a/src/whatsapp/services/typebot.service.ts b/src/whatsapp/services/typebot.service.ts index 88dde9c3..0a01cc52 100644 --- a/src/whatsapp/services/typebot.service.ts +++ b/src/whatsapp/services/typebot.service.ts @@ -99,6 +99,7 @@ export class TypebotService { const remoteJid = data.remoteJid; const url = data.url; const typebot = data.typebot; + const enabled_typebot = data.enabled_typebot; const variables = data.variables; const findTypebot = await this.find(instance); const sessions = (findTypebot.sessions as Session[]) ?? []; @@ -116,8 +117,13 @@ export class TypebotService { 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, + enabled_typebot: enabled_typebot, typebot: typebot, remoteJid: remoteJid, expire: expire, @@ -141,6 +147,7 @@ export class TypebotService { this.waMonitor.waInstances[instance.instanceName].sendDataWebhook(Events.TYPEBOT_START, { remoteJid: remoteJid, url: url, + enabled_typebot: enabled_typebot, typebot: typebot, prefilledVariables: prefilledVariables, sessionId: `${response.sessionId}`, @@ -148,11 +155,45 @@ export class TypebotService { } else { 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 { typebot: { ...instance, typebot: { + enabled_typebot: enabled_typebot, url: url, remoteJid: remoteJid, typebot: typebot, @@ -504,7 +545,6 @@ export class TypebotService { sessions.splice(sessions.indexOf(session), 1); const typebotData = { - enabled: true, url: url, typebot: typebot, expire: expire,