|
|
|
@ -21,8 +21,8 @@ const eventTypeMapped = {
|
|
|
|
|
'message:updated': 'wai.message.updated',
|
|
|
|
|
'creds:update': 'wai.creds.update',
|
|
|
|
|
};
|
|
|
|
|
const timeField = { saved: 'createTime', pending: 'createTime', sent: 'sendTime', delivered: 'deliverTime', read: 'readTime', failed: 'updateTime' };
|
|
|
|
|
const statusMapped = { saved: 'accepted', pending: 'accepted', sent: 'sent', delivered: 'delivered', read: 'read', failed: 'failed' };
|
|
|
|
|
const timeField = { saved: 'createTime', pending: 'createTime', sent: 'sendTime', delivered: 'deliverTime', read: 'readTime', failed: 'updateTime', error: 'updateTime' };
|
|
|
|
|
const statusMapped = { saved: 'accepted', pending: 'accepted', sent: 'sent', delivered: 'delivered', read: 'read', failed: 'failed', error: 'failed' };
|
|
|
|
|
function getCorrectOrderStatus(currentStatus, newStatus) {
|
|
|
|
|
const statusOrder = ['accepted', 'failed', 'sent', 'delivered', 'read'];
|
|
|
|
|
if (!currentStatus || typeof currentStatus !== 'string') {
|
|
|
|
@ -72,6 +72,7 @@ const uniqueMsgId = msg => (msg.id && msg.direction ? `${directionPrefix[msg.dir
|
|
|
|
|
const webhookBodyBuilder = (messageData, messageType) => {
|
|
|
|
|
const defaultContent = { id: '', from: '', to: '', externalId: '', type: '', direction: '', status: '' };
|
|
|
|
|
const status = messageData.direction === 'inbound' ? '' : statusMapped?.[messageData.status] || messageData.status || '';
|
|
|
|
|
const errors = messageData.status === 'error' ? { errorMessage: '未知错误', errorCode: '' } : {};
|
|
|
|
|
const message = {
|
|
|
|
|
id: `evt_${generateId().replace(/-/g, '')}`,
|
|
|
|
|
type: eventTypeMapped[messageType],
|
|
|
|
@ -90,6 +91,7 @@ const webhookBodyBuilder = (messageData, messageType) => {
|
|
|
|
|
wamid: messageData.id || '',
|
|
|
|
|
// direction: directionField[messageType],
|
|
|
|
|
status,
|
|
|
|
|
...errors,
|
|
|
|
|
externalId: messageData?.externalId || '',
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|