diff --git a/src/api/integrations/chatbot/chatwoot/services/chatwoot.service.ts b/src/api/integrations/chatbot/chatwoot/services/chatwoot.service.ts index 3e70b276..4211c6c7 100644 --- a/src/api/integrations/chatbot/chatwoot/services/chatwoot.service.ts +++ b/src/api/integrations/chatbot/chatwoot/services/chatwoot.service.ts @@ -1585,16 +1585,21 @@ export class ChatwootService { private getMessageContent(types: any) { const typeKey = Object.keys(types).find((key) => types[key] !== undefined); - - const result = typeKey ? types[typeKey] : undefined; - + + let result = typeKey ? types[typeKey] : undefined; + + // Remove externalAdReplyBody| in Chatwoot (Already Have) + if (result && typeof result === 'string' && result.includes('externalAdReplyBody|')) { + result = result.split('externalAdReplyBody|').filter(Boolean).join(''); + } + if (typeKey === 'locationMessage' || typeKey === 'liveLocationMessage') { const latitude = result.degreesLatitude; const longitude = result.degreesLongitude; - + const locationName = result?.name; const locationAddress = result?.address; - + const formattedLocation = `*${i18next.t('cw.locationMessage.location')}:*\n\n` + `_${i18next.t('cw.locationMessage.latitude')}:_ ${latitude} \n` + @@ -1603,7 +1608,7 @@ export class ChatwootService { (locationAddress ? `_${i18next.t('cw.locationMessage.locationAddress')}:_ ${locationAddress} \n` : '') + `_${i18next.t('cw.locationMessage.locationUrl')}:_ ` + `https://www.google.com/maps/search/?api=1&query=${latitude},${longitude}`; - + return formattedLocation; } diff --git a/src/utils/getConversationMessage.ts b/src/utils/getConversationMessage.ts index fb08d9ea..3f8b5998 100644 --- a/src/utils/getConversationMessage.ts +++ b/src/utils/getConversationMessage.ts @@ -41,6 +41,9 @@ const getTypeMessage = (msg: any) => { : '' }` : undefined, + externalAdReplyBody: msg?.message?.extendedTextMessage?.contextInfo?.externalAdReply?.body + ? `externalAdReplyBody|${msg.message.extendedTextMessage.contextInfo.externalAdReply.body}` + : undefined, }; const messageType = Object.keys(types).find((key) => types[key] !== undefined) || 'unknown'; @@ -49,9 +52,13 @@ const getTypeMessage = (msg: any) => { }; const getMessageContent = (types: any) => { - const typeKey = Object.keys(types).find((key) => types[key] !== undefined); + const typeKey = Object.keys(types).find((key) => key !== 'externalAdReplyBody' && types[key] !== undefined); - const result = typeKey ? types[typeKey] : undefined; + let result = typeKey ? types[typeKey] : undefined; + + if (types.externalAdReplyBody) { + result = result ? `${result}\n${types.externalAdReplyBody}` : types.externalAdReplyBody; + } return result; };