|
|
|
@ -100,6 +100,7 @@ const setupConnectionHandler = () => {
|
|
|
|
|
/**
|
|
|
|
|
* WhatsApp 消息事件
|
|
|
|
|
* pending -> saved -> sent(*) -> delivered -> read
|
|
|
|
|
* saved -> pending -> sent(*) -> delivered -> read
|
|
|
|
|
*/
|
|
|
|
|
const setupMessageHandler = () => {
|
|
|
|
|
messageEventNames.forEach(eventName => {
|
|
|
|
@ -124,7 +125,7 @@ const setupMessageHandler = () => {
|
|
|
|
|
const upsertFields = pick(waiMessage, ['direction', 'wamid', 'id', 'status']);
|
|
|
|
|
upsertFields.evt_id = webhookBody.id;
|
|
|
|
|
const pusher = { customerProfile_id: waiMessage.customerProfile?.id || '', customerProfile_name: waiMessage.customerProfile?.name || '' };
|
|
|
|
|
const record = objectMapper(waiMessage, { from: 'froms', to: 'tos', status: 'msg_status', type: 'msgtype' }, false);
|
|
|
|
|
const record = objectMapper(waiMessage, { from: 'from', to: 'to', status: 'msg_status', type: 'msgtype' }, false);
|
|
|
|
|
const contentFields = waiMessage.type === 'text' ? { text_body: waiMessage.text.body } : {};
|
|
|
|
|
|
|
|
|
|
await upsertOutboundMessage({ ...timeFields, ...upsertFields, ...pusher, ...contentFields, ...record, message_origin: savedMsg?.message_origin || JSON.stringify(messageData) }, targetUpsert);
|
|
|
|
|