perf(wai): 消息状态`error`, webhook +`errorMessage`

dev/supplier-email-drawer
Lei OT 6 months ago
parent dd3c087e24
commit cdfbea60aa

@ -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 || '',
},
};

Loading…
Cancel
Save