@@ -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