Skip to content

Commit 8e51ae6

Browse files
committed
fix: corrigido para que o envio de base64 nas mensagens do business api seja enviada somente qnd a config esta ativa
1 parent 79f4a22 commit 8e51ae6

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

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

Lines changed: 20 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
},
@@ -1593,9 +1603,14 @@ export class BusinessStartupService extends ChannelStartupService {
15931603
const messageType = msg.messageType.includes('Message') ? msg.messageType : msg.messageType + 'Message';
15941604
const mediaMessage = msg.message[messageType];
15951605

1606+
if (!msg.message?.base64) {
1607+
const buffer = await this.downloadMediaMessage({ type: messageType, ...msg.message });
1608+
msg.message.base64 = buffer.toString('base64');
1609+
}
1610+
15961611
return {
15971612
mediaType: msg.messageType,
1598-
fileName: mediaMessage?.fileName,
1613+
fileName: mediaMessage?.fileName || mediaMessage?.filename,
15991614
caption: mediaMessage?.caption,
16001615
size: {
16011616
fileLength: mediaMessage?.fileLength,

0 commit comments

Comments
 (0)