Skip to content

Commit 20c8a2f

Browse files
author
ricael
committed
Merge branch 'fix/business_api' into fix/evolution_baileys_7
2 parents e623269 + 0363fa9 commit 20c8a2f

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

docker-compose.dev.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ services:
55
build: .
66
restart: always
77
ports:
8-
- 8080:8080
8+
- 9000:9000
99
volumes:
1010
- evolution_instances:/evolution/instances
1111
networks:
1212
- evolution-net
1313
env_file:
1414
- .env
1515
expose:
16-
- 8080
16+
- 9000
1717

1818
volumes:
1919
evolution_instances:

src/api/integrations/channel/meta/whatsapp.business.service.ts

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -506,7 +506,9 @@ export class BusinessStartupService extends ChannelStartupService {
506506
const mediaUrl = await s3Service.getObjectUrl(fullName);
507507

508508
messageRaw.message.mediaUrl = mediaUrl;
509-
messageRaw.message.base64 = buffer.data.toString('base64');
509+
if (this.localWebhook.enabled && this.localWebhook.webhookBase64) {
510+
messageRaw.message.base64 = buffer.data.toString('base64');
511+
}
510512

511513
// Processar OpenAI speech-to-text para áudio após o mediaUrl estar disponível
512514
if (this.configService.get<Openai>('OPENAI').ENABLED && mediaType === 'audio') {
@@ -544,11 +546,19 @@ export class BusinessStartupService extends ChannelStartupService {
544546
this.logger.error(['Error on upload file to minio', error?.message, error?.stack]);
545547
}
546548
} else {
547-
const buffer = await this.downloadMediaMessage(received?.messages[0]);
548-
messageRaw.message.base64 = buffer.toString('base64');
549+
if (this.localWebhook.enabled && this.localWebhook.webhookBase64) {
550+
const buffer = await this.downloadMediaMessage(received?.messages[0]);
551+
messageRaw.message.base64 = buffer.toString('base64');
552+
}
549553

550554
// Processar OpenAI speech-to-text para áudio mesmo sem S3
551555
if (this.configService.get<Openai>('OPENAI').ENABLED && message.type === 'audio') {
556+
let openAiBase64 = messageRaw.message.base64;
557+
if (!openAiBase64) {
558+
const buffer = await this.downloadMediaMessage(received?.messages[0]);
559+
openAiBase64 = buffer.toString('base64');
560+
}
561+
552562
const openAiDefaultSettings = await this.prismaRepository.openaiSetting.findFirst({
553563
where: {
554564
instanceId: this.instanceId,
@@ -564,7 +574,7 @@ export class BusinessStartupService extends ChannelStartupService {
564574
openAiDefaultSettings.OpenaiCreds,
565575
{
566576
message: {
567-
base64: messageRaw.message.base64,
577+
base64: openAiBase64,
568578
...messageRaw,
569579
},
570580
},
@@ -1004,6 +1014,7 @@ export class BusinessStartupService extends ChannelStartupService {
10041014
[message['mediaType']]: {
10051015
[message['type']]: message['id'],
10061016
...(message['mediaType'] !== 'audio' &&
1017+
message['mediaType'] !== 'video' &&
10071018
message['fileName'] &&
10081019
!isImage && { filename: message['fileName'] }),
10091020
...(message['mediaType'] !== 'audio' && message['caption'] && { caption: message['caption'] }),
@@ -1593,9 +1604,14 @@ export class BusinessStartupService extends ChannelStartupService {
15931604
const messageType = msg.messageType.includes('Message') ? msg.messageType : msg.messageType + 'Message';
15941605
const mediaMessage = msg.message[messageType];
15951606

1607+
if (!msg.message?.base64) {
1608+
const buffer = await this.downloadMediaMessage({ type: messageType, ...msg.message });
1609+
msg.message.base64 = buffer.toString('base64');
1610+
}
1611+
15961612
return {
15971613
mediaType: msg.messageType,
1598-
fileName: mediaMessage?.fileName,
1614+
fileName: mediaMessage?.fileName || mediaMessage?.filename,
15991615
caption: mediaMessage?.caption,
16001616
size: {
16011617
fileLength: mediaMessage?.fileLength,

0 commit comments

Comments
 (0)