|
|
|
|
@ -285,19 +285,21 @@ const whatsappMsgMapped = {
|
|
|
|
|
'whatsapp.inbound_message.received': {
|
|
|
|
|
getMsg: (result) => {
|
|
|
|
|
// console.log('whatsapp.inbound_message.received', result);
|
|
|
|
|
const data1 = pick(result, ['conversationid', 'opi_sn', 'coli_sn', 'coli_id']);
|
|
|
|
|
return isEmpty(result?.whatsappInboundMessage) ? null : { ...result.whatsappInboundMessage, ...data1, messageorigin: result.messageorigin, msg_source: 'WABA', msg_direction: 'inbound' };
|
|
|
|
|
const data1 = pick(result, ['conversationid', 'opi_sn', 'coli_sn', 'coli_id'])
|
|
|
|
|
return isEmpty(result?.whatsappInboundMessage) ? null : { ...result.whatsappInboundMessage, ...data1, messageorigin: result.messageorigin, msg_source: 'WABA', msg_direction: 'inbound' }
|
|
|
|
|
},
|
|
|
|
|
contentToRender: (contentObj) => {
|
|
|
|
|
// console.log('whatsapp.inbound_message.received to render', contentObj);
|
|
|
|
|
return parseRenderMessageItem(contentObj);
|
|
|
|
|
return parseRenderMessageItem(contentObj)
|
|
|
|
|
},
|
|
|
|
|
contentToUpdate: () => null,
|
|
|
|
|
},
|
|
|
|
|
'whatsapp.message.updated': {
|
|
|
|
|
getMsg: (result) => {
|
|
|
|
|
// console.log('getMsg', result);
|
|
|
|
|
return isEmpty(result?.whatsappMessage) ? null : { ...result.whatsappMessage, conversationid: result.conversationid, messageorigin: result.messageorigin, msg_source: 'WABA', msg_direction: 'outbound' };
|
|
|
|
|
return isEmpty(result?.whatsappMessage)
|
|
|
|
|
? null
|
|
|
|
|
: { ...result.whatsappMessage, conversationid: result.conversationid, messageorigin: result.messageorigin, msg_source: 'WABA', msg_direction: 'outbound' }
|
|
|
|
|
},
|
|
|
|
|
contentToRender: (contentObj) => {
|
|
|
|
|
if (contentObj?.status === 'failed' && ['130472', 'BAD_REQUEST'].includes(contentObj.errorCode)) {
|
|
|
|
|
@ -307,28 +309,30 @@ const whatsappMsgMapped = {
|
|
|
|
|
text: { body: `❌ ${whatsappError?.[contentObj.errorCode] || contentObj.errorMessage}` }, // contentObj.errorMessage // Message failed to send.
|
|
|
|
|
id: contentObj.id,
|
|
|
|
|
wamid: contentObj.id,
|
|
|
|
|
};
|
|
|
|
|
return parseRenderMessageItem(contentObj);
|
|
|
|
|
}
|
|
|
|
|
return parseRenderMessageItem(contentObj)
|
|
|
|
|
}
|
|
|
|
|
// * 仅更新消息状态, 没有输出
|
|
|
|
|
return null;
|
|
|
|
|
return null
|
|
|
|
|
},
|
|
|
|
|
contentToUpdate: (msgcontent) => ({
|
|
|
|
|
...msgcontent,
|
|
|
|
|
...parseRenderMessageItem(msgcontent),
|
|
|
|
|
id: msgcontent.wamid,
|
|
|
|
|
status: msgStatusRenderMapped[(msgcontent?.status || 'failed')],
|
|
|
|
|
status: msgStatusRenderMapped[msgcontent?.status || 'failed'],
|
|
|
|
|
sender: 'me',
|
|
|
|
|
dateString: msgcontent.status==='failed' ? `发送失败 ${whatsappError?.[msgcontent.errorCode] || msgcontent.errorMessage || ''} ❌` : '',
|
|
|
|
|
dateString: msgcontent.status === 'failed' ? `发送失败 ${whatsappError?.[msgcontent.errorCode] || msgcontent.errorMessage || ''} ❌` : '',
|
|
|
|
|
}),
|
|
|
|
|
},
|
|
|
|
|
'wai.message.received': {
|
|
|
|
|
getMsg: (result) => {
|
|
|
|
|
const data1 = pick(result, ['conversationid', 'opi_sn', 'coli_sn', 'coli_id']);
|
|
|
|
|
return isEmpty(result?.waiMessage) ? null : { ...result.waiMessage, ...data1, messageorigin: result.messageorigin, msg_source: 'wai', ...objectMapper(result.waiMessage, { direction: {key: 'msg_direction'} }) };
|
|
|
|
|
const data1 = pick(result, ['conversationid', 'opi_sn', 'coli_sn', 'coli_id'])
|
|
|
|
|
return isEmpty(result?.waiMessage)
|
|
|
|
|
? null
|
|
|
|
|
: { ...result.waiMessage, ...data1, messageorigin: result.messageorigin, msg_source: 'wai', ...objectMapper(result.waiMessage, { direction: { key: 'msg_direction' } }) }
|
|
|
|
|
},
|
|
|
|
|
contentToRender: (contentObj) => {
|
|
|
|
|
return parseRenderMessageItem(contentObj);
|
|
|
|
|
return parseRenderMessageItem(contentObj)
|
|
|
|
|
},
|
|
|
|
|
contentToUpdate: () => null,
|
|
|
|
|
},
|
|
|
|
|
@ -336,7 +340,13 @@ const whatsappMsgMapped = {
|
|
|
|
|
getMsg: (result) => {
|
|
|
|
|
return isEmpty(result?.waiMessage)
|
|
|
|
|
? null
|
|
|
|
|
: { ...result.waiMessage, conversationid: result.conversationid, messageorigin: result.messageorigin, msg_source: 'wai', ...objectMapper(result.waiMessage, { direction: {key: 'msg_direction'} }) }
|
|
|
|
|
: {
|
|
|
|
|
...result.waiMessage,
|
|
|
|
|
conversationid: result.conversationid,
|
|
|
|
|
messageorigin: result.messageorigin,
|
|
|
|
|
msg_source: 'wai',
|
|
|
|
|
...objectMapper(result.waiMessage, { direction: { key: 'msg_direction' } }),
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
contentToRender: (contentObj) => {
|
|
|
|
|
if (contentObj?.status === 'failed') {
|
|
|
|
|
@ -346,22 +356,29 @@ const whatsappMsgMapped = {
|
|
|
|
|
text: { body: `❌` }, // contentObj.errorMessage // Message failed to send.
|
|
|
|
|
id: contentObj.id,
|
|
|
|
|
wamid: contentObj.id,
|
|
|
|
|
};
|
|
|
|
|
return parseRenderMessageItem(contentObj);
|
|
|
|
|
}
|
|
|
|
|
return parseRenderMessageItem(contentObj)
|
|
|
|
|
}
|
|
|
|
|
// * 仅更新消息状态, 没有输出
|
|
|
|
|
return null;
|
|
|
|
|
return null
|
|
|
|
|
},
|
|
|
|
|
contentToUpdate: (msgcontent) => ({
|
|
|
|
|
...msgcontent,
|
|
|
|
|
...parseRenderMessageItem(msgcontent),
|
|
|
|
|
id: msgcontent.wamid,
|
|
|
|
|
status: msgStatusRenderMapped[(msgcontent?.status || 'failed')],
|
|
|
|
|
sender: msgcontent.msg_direction === 'outbound' ? 'me' : (msgcontent?.customerProfile ?.name || ''),
|
|
|
|
|
dateString: msgcontent.status==='failed' ? `发送失败 ❌` : '',
|
|
|
|
|
status: msgStatusRenderMapped[msgcontent?.status || 'failed'],
|
|
|
|
|
sender: msgcontent.msg_direction === 'outbound' ? 'me' : msgcontent?.customerProfile?.name || '',
|
|
|
|
|
dateString: msgcontent.status === 'failed' ? `发送失败 ❌` : '',
|
|
|
|
|
}),
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
'wai.creds.update': {
|
|
|
|
|
getMsg: (result) => {
|
|
|
|
|
return isEmpty(result?.waiMessage)
|
|
|
|
|
? {}
|
|
|
|
|
: { ...result.waiMessage, conversationid: result.conversationid, msg_source: 'wai', }
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
const emailMsgMapped = {
|
|
|
|
|
'email.inbound.received': {
|
|
|
|
|
getMsg: (result) => {
|
|
|
|
|
|