diff --git a/src/api/controllers/instance.controller.ts b/src/api/controllers/instance.controller.ts index 6a6910688..aef7595f5 100644 --- a/src/api/controllers/instance.controller.ts +++ b/src/api/controllers/instance.controller.ts @@ -156,6 +156,10 @@ export class InstanceController { getQrcode = instance.qrCode; } + if (instanceData.integration === Integration.EVOLUTION) { + await instance.connectToWhatsapp(); + } + const result = { instance: { instanceName: instance.instanceName, diff --git a/src/api/integrations/channel/evolution/evolution.channel.service.ts b/src/api/integrations/channel/evolution/evolution.channel.service.ts index 87bea08e6..c29d3d49a 100644 --- a/src/api/integrations/channel/evolution/evolution.channel.service.ts +++ b/src/api/integrations/channel/evolution/evolution.channel.service.ts @@ -115,6 +115,15 @@ export class EvolutionStartupService extends ChannelStartupService { public async connectToWhatsapp(data?: any): Promise { if (!data) { + this.stateConnection = { state: 'open' }; + + if (this.instanceId) { + await this.prismaRepository.instance.update({ + where: { id: this.instanceId }, + data: { connectionStatus: 'open' }, + }); + } + this.loadChatwoot(); return; } diff --git a/src/api/services/monitor.service.ts b/src/api/services/monitor.service.ts index 438530b57..8bd3c6dbf 100644 --- a/src/api/services/monitor.service.ts +++ b/src/api/services/monitor.service.ts @@ -293,7 +293,11 @@ export class WAMonitoringService { ownerJid: instanceData.ownerJid, }); - if (instanceData.connectionStatus === 'open' || instanceData.connectionStatus === 'connecting') { + if ( + instanceData.connectionStatus === 'open' || + instanceData.connectionStatus === 'connecting' || + instanceData.integration === Integration.EVOLUTION + ) { this.logger.info( `Auto-connecting instance "${instanceData.instanceName}" (status: ${instanceData.connectionStatus})`, );