fix(wai): webhook status

dev/supplier-email-drawer
Lei OT 9 months ago
parent 21100fc032
commit 9eee7d04ea

@ -71,6 +71,7 @@ const uniqueMsgId = msg => (msg.id && msg.direction ? `${directionPrefix[msg.dir
*/ */
const webhookBodyBuilder = (messageData, messageType) => { const webhookBodyBuilder = (messageData, messageType) => {
const defaultContent = { id: '', from: '', to: '', externalId: '', type: '', direction: '', status: '' }; const defaultContent = { id: '', from: '', to: '', externalId: '', type: '', direction: '', status: '' };
const status = messageData.direction === 'inbound' ? '' : statusMapped?.[messageData.status] || messageData.status || '';
const message = { const message = {
id: `evt_${generateId().replace(/-/g, '')}`, id: `evt_${generateId().replace(/-/g, '')}`,
type: eventTypeMapped[messageType], type: eventTypeMapped[messageType],
@ -83,12 +84,12 @@ const webhookBodyBuilder = (messageData, messageType) => {
waiMessage: { waiMessage: {
...defaultContent, ...defaultContent,
...messageData, ...messageData,
...(messageData.updateTime ? { [timeField[messageData.status]]: messageData.updateTime } : {}), ...(messageData.updateTime && !isEmpty(status) ? { [timeField[messageData.status]]: messageData.updateTime } : {}),
type: messageData.type || messageData.msgtype || '', type: messageData.type || messageData.msgtype || '',
id: uniqueMsgId(messageData) || messageData.id || generateId(), id: uniqueMsgId(messageData) || messageData.id || generateId(),
wamid: messageData.id || '', wamid: messageData.id || '',
// direction: directionField[messageType], // direction: directionField[messageType],
status: messageData.direction === 'inbound' ? '' : statusMapped?.[messageData.status] || messageData.status || '', status,
externalId: messageData?.externalId || '', externalId: messageData?.externalId || '',
}, },
}; };
@ -226,7 +227,7 @@ const setupMessageHandler = async () => {
const msgRow = await upsertOutboundMessage({ ...upsertFields, ...readyUpsert, ...typeField, ...msgOrigin }, targetUpsert); const msgRow = await upsertOutboundMessage({ ...upsertFields, ...readyUpsert, ...typeField, ...msgOrigin }, targetUpsert);
if (_type !== 'unresolvable') { if (_type !== 'unresolvable') {
// 把内容加上, 否则前端没显示 // 把内容加上, 否则前端没显示
await callWebhook(webhookBodyFill(webhookBody, { ...msgRow, status: msgRow.msg_status })); await callWebhook(webhookBodyFill(webhookBody, { ...msgRow, status: msgRow.msg_status || '' }));
} }
} catch (error) { } catch (error) {
logger.error({ messageData, error }, 'error call webhook'); logger.error({ messageData, error }, 'error call webhook');

Loading…
Cancel
Save