航变消息接收接口

外部系统(邮件解析、机器人等)向系统推送航班变更、机型座位变更等航变消息。消息进入系统后写入消息盒子,并弹出「航变消息」强提醒,运营点击「已处理」后弹窗才会关闭。

请求地址

POST {baseUrl}/prod-api/order/flightMessage/notify?token={notifyToken}
Content-Type: application/json

{notifyToken} 是我方提供的固定密钥,通过 URL 参数 token 传入,不放在 Header 中。

请求参数

必填

参数位置说明
tokenURL接口认证密钥。缺失或错误时不写入消息盒子,只记录失败的接收日志
contentBody航变消息原文,建议直接传邮件或机器人消息中的整段文本
curl -X POST 'https://你的网关域名/prod-api/order/flightMessage/notify?token=我方提供的固定密钥' \
  -H 'Content-Type: application/json' \
  -d '{"content":"订单号:SO202610090001\n标题:航班时刻变更\nMU5101 10月12日 起飞时间变更为09:35"}'

可选

以下字段不传时,系统会从 content 中按关键字自动提取:

字段不传时的处理
orderNo从「订单号:」提取;值为「未查询到」「未查到」时不保存
reservationNo从「预约号码:」或「预约号:」提取
receiveEmail从「接收邮箱:」提取
emailReceiveTime从「邮件接收时间:」提取
subject从「标题:」提取
source外部来源标识,如 email、robot,只用于记录

不需要传

title、messageType、readStatus、processStatus、userId、createTime、dedupeKey 均由系统维护。消息会推送给所有在线用户,不需要指定用户。

响应

{ "code": "0", "msg": "success", "data": { "accepted": true } }
场景codereason
成功0—
认证失败401AUTH_FAILED
content 为空400EMPTY_CONTENT

去重规则

系统按以下维度自动去重:

FLIGHT_CHANGE_MESSAGE + orderNo/reservationNo + content 正文哈希

重复推送的同一条消息不会重复生成记录,也不会重复弹窗,但接收日志仍会记录。

系统处理效果

  1. 写入接收日志;
  2. 写入消息盒子;
  3. 通过 WebSocket 推送给在线用户;
  4. 前端弹出「航变消息」强提醒;
  5. 运营点击「已处理」后关闭弹窗。

离线期间收到的未处理消息,在用户重新进入系统或 WebSocket 重连后会继续提醒。