Skip to content

Commit 2d729a3

Browse files
Enhance getTypeMessage to include orderMessage
Added support for orderMessage in getTypeMessage method and updated message formatting for orders.
1 parent cd800f2 commit 2d729a3

File tree

1 file changed

+44
-25
lines changed

1 file changed

+44
-25
lines changed

src/api/integrations/chatbot/chatwoot/services/chatwoot.service.ts

Lines changed: 44 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1758,41 +1758,60 @@ export class ChatwootService {
17581758
}
17591759

17601760
private getTypeMessage(msg: any) {
1761-
const types = {
1762-
conversation: msg.conversation,
1763-
imageMessage: msg.imageMessage?.caption,
1764-
videoMessage: msg.videoMessage?.caption,
1765-
extendedTextMessage: msg.extendedTextMessage?.text,
1766-
messageContextInfo: msg.messageContextInfo?.stanzaId,
1767-
stickerMessage: undefined,
1768-
documentMessage: msg.documentMessage?.caption,
1769-
documentWithCaptionMessage: msg.documentWithCaptionMessage?.message?.documentMessage?.caption,
1770-
audioMessage: msg.audioMessage ? (msg.audioMessage.caption ?? '') : undefined,
1771-
contactMessage: msg.contactMessage?.vcard,
1772-
contactsArrayMessage: msg.contactsArrayMessage,
1773-
locationMessage: msg.locationMessage,
1774-
liveLocationMessage: msg.liveLocationMessage,
1775-
listMessage: msg.listMessage,
1776-
listResponseMessage: msg.listResponseMessage,
1777-
viewOnceMessageV2:
1778-
msg?.message?.viewOnceMessageV2?.message?.imageMessage?.url ||
1779-
msg?.message?.viewOnceMessageV2?.message?.videoMessage?.url ||
1780-
msg?.message?.viewOnceMessageV2?.message?.audioMessage?.url,
1781-
};
1782-
1783-
return types;
1784-
}
1761+
const types = {
1762+
conversation: msg.conversation,
1763+
imageMessage: msg.imageMessage?.caption,
1764+
videoMessage: msg.videoMessage?.caption,
1765+
extendedTextMessage: msg.extendedTextMessage?.text,
1766+
messageContextInfo: msg.messageContextInfo?.stanzaId,
1767+
stickerMessage: undefined,
1768+
documentMessage: msg.documentMessage?.caption,
1769+
documentWithCaptionMessage: msg.documentWithCaptionMessage?.message?.documentMessage?.caption,
1770+
audioMessage: msg.audioMessage ? (msg.audioMessage.caption ?? '') : undefined,
1771+
contactMessage: msg.contactMessage?.vcard,
1772+
contactsArrayMessage: msg.contactsArrayMessage,
1773+
locationMessage: msg.locationMessage,
1774+
liveLocationMessage: msg.liveLocationMessage,
1775+
listMessage: msg.listMessage,
1776+
listResponseMessage: msg.listResponseMessage,
1777+
// Adicione a linha abaixo. Atenção à vírgula na linha de cima!
1778+
orderMessage: msg.orderMessage,
1779+
viewOnceMessageV2:
1780+
msg?.message?.viewOnceMessageV2?.message?.imageMessage?.url ||
1781+
msg?.message?.viewOnceMessageV2?.message?.videoMessage?.url ||
1782+
msg?.message?.viewOnceMessageV2?.message?.audioMessage?.url,
1783+
};
1784+
1785+
return types;
1786+
}
17851787

17861788
private getMessageContent(types: any) {
17871789
const typeKey = Object.keys(types).find((key) => types[key] !== undefined);
17881790

17891791
let result = typeKey ? types[typeKey] : undefined;
17901792

1791-
// Remove externalAdReplyBody| in Chatwoot (Already Have)
1793+
// Remove externalAdReplyBody| in Chatwoot
17921794
if (result && typeof result === 'string' && result.includes('externalAdReplyBody|')) {
17931795
result = result.split('externalAdReplyBody|').filter(Boolean).join('');
17941796
}
17951797

1798+
// Tratamento de Pedidos do Catálogo
1799+
if (typeKey === 'orderMessage') {
1800+
const amount = result.totalAmount1000;
1801+
// Converte o objeto Long para número antes da divisão
1802+
const rawPrice = (Long.isLong(amount) ? amount.toNumber() : amount) || 0;
1803+
const price = (rawPrice / 1000).toLocaleString('pt-BR', {
1804+
style: 'currency',
1805+
currency: result.totalCurrencyCode || 'BRL',
1806+
});
1807+
1808+
return `🛒 *NOVO PEDIDO NO CATÁLOGO*\n\n` +
1809+
`*Produto:* ${result.orderTitle}\n` +
1810+
`*Valor:* ${price}\n` +
1811+
`*ID:* ${result.orderId}\n\n` +
1812+
`_Atenda agora para finalizar a venda!_`;
1813+
}
1814+
17961815
if (typeKey === 'locationMessage' || typeKey === 'liveLocationMessage') {
17971816
const latitude = result.degreesLatitude;
17981817
const longitude = result.degreesLongitude;

0 commit comments

Comments
 (0)