修正邮件接收时间和发件人展示
This commit is contained in:
@@ -103,8 +103,8 @@ POST /api/auth/logout
|
||||
| --- | --- | --- |
|
||||
| `source_message_id` | 本系统内部 SourceMessage Inbox ID。 | 打开邮件会话详情时作为路径参数传入 `/api/source-messages/{sourceMessageId}/conversation`。 |
|
||||
| `source_subject` | 来源邮件主题安全摘要。 | 用于列表或任务详情标题旁展示,不代表完整邮件主题一定无敏感信息。 |
|
||||
| `source_sender_summary` | 来源发件人安全摘要。 | 用于辅助用户判断邮件来源。 |
|
||||
| `source_received_at` | 本系统接收来源消息时间,UTC。 | 前端展示时按用户或酒店时区格式化。 |
|
||||
| `source_sender_summary` | 来源发件人展示值,当前不打码。 | 用于辅助用户判断邮件来源。 |
|
||||
| `source_received_at` | 邮件来源接收时间,UTC;优先取 AgentBus payload `received_at`,缺失时使用本系统接收时间。 | 前端展示时按用户或酒店时区格式化。 |
|
||||
| `external_conversation_id` | 外部邮件会话 ID。 | 仅用于展示或调试,不作为当前会话详情接口路径参数。 |
|
||||
| `conversation_message_count` | 同一外部会话下的邮件数量。 | 用于提示用户打开的是整段会话,不是单封邮件。 |
|
||||
|
||||
@@ -113,7 +113,7 @@ POST /api/auth/logout
|
||||
- `GET /api/source-messages/{sourceMessageId}/conversation` 只接收路径参数 `sourceMessageId`;第一版不接收 `hotelId`、`includeBody`、`includeRelated`。
|
||||
- Reservation 列表、任务列表和订单详情默认不需要前端传 `hotel_id`;如果前端已经接入酒店选择器,可以把当前选中酒店作为可选 `hotel_id` 传给后端。任务详情、任务写操作和邮件会话详情当前仍按对象 ID 定位,不接收该参数。
|
||||
- 后端会根据 `sourceMessageId` 定位 `external_conversation_id`,并返回同一会话下全部邮件;如果来源消息没有外部会话 ID,会降级返回当前单封邮件。
|
||||
- `messages[]` 按后端接收时间正序返回,前端不要重新按创建时间或任务时间排序。
|
||||
- `messages[]` 按邮件来源接收时间正序返回,前端不要重新按创建时间或任务时间排序。
|
||||
- 返回内容包含完整 `text_body`、`html_body`、`inline_images[]`、`attachments[]`、`related_orders[]`、`related_tasks[]`。
|
||||
- `html_body` 是原始 HTML 兼容字段;`html_body_sanitized` 是后端第一版清洗结果,已移除脚本标签、事件属性和危险协议链接。前端生产展示必须优先使用 `html_body_sanitized`,并可用 `html_render_mode=SANITIZED_HTML` 判断渲染模式。
|
||||
- 第一版仅处理 HTML 内容安全;`inline_images[]` 和 `attachments[]` 的 `externalUrl` 来自本系统 OSS 服务,暂不做额外拦截,但前端仍不得写入普通日志、错误上报、localStorage 或 URL query。
|
||||
|
||||
@@ -136,8 +136,8 @@ GET /api/reservation/tasks
|
||||
|
||||
| 字段 | 说明 |
|
||||
| --- | --- |
|
||||
| `source_sender_summary` | 来源消息发件人摘要,用于任务列表快速判断来源。 |
|
||||
| `source_received_at` | 来源消息接收时间,用于任务列表排序和展示。 |
|
||||
| `source_sender_summary` | 来源消息发件人展示值,当前不打码,用于任务列表快速判断来源。 |
|
||||
| `source_received_at` | 邮件来源接收时间,优先取 AgentBus payload `received_at`,用于任务列表排序和展示。 |
|
||||
| `external_conversation_id` | 来源消息所属邮件会话 ID,用于打开完整邮件会话详情。 |
|
||||
| `conversation_message_count` | 会话内邮件数量,用于提示用户该入口是整段会话,不是单封邮件。 |
|
||||
|
||||
@@ -209,8 +209,8 @@ GET /api/reservation/orders/{orderId}
|
||||
| --- | --- |
|
||||
| `source_message_id` | 任务对应的来源 SourceMessage Inbox ID。 |
|
||||
| `source_subject` | 来源消息主题摘要。 |
|
||||
| `source_sender_summary` | 来源消息发件人摘要。 |
|
||||
| `source_received_at` | 来源消息接收时间。 |
|
||||
| `source_sender_summary` | 来源消息发件人展示值,当前不打码。 |
|
||||
| `source_received_at` | 邮件来源接收时间,优先取 AgentBus payload `received_at`。 |
|
||||
| `external_conversation_id` | 来源消息所属邮件会话 ID。 |
|
||||
| `conversation_message_count` | 会话内邮件数量。 |
|
||||
|
||||
@@ -322,7 +322,7 @@ GET /api/source-message-conversations/{externalConversationId}
|
||||
中文说明:
|
||||
|
||||
- “全部邮件”指同一个 `externalConversationId` 下的历史邮件、当前邮件和后续回复,不是只展示任务对应的单封来源邮件。
|
||||
- 邮件会话详情页需要展示完整正文或清洗后的 HTML、附件、内联图片、发件人摘要、发送 / 接收时间、主题和关联订单 / 任务。
|
||||
- 邮件会话详情页需要展示完整正文或清洗后的 HTML、附件、内联图片、发件人展示值、发送 / 接收时间、主题和关联订单 / 任务。
|
||||
- 前端不在页面上做业务截断或隐藏;但仍只调用本项目后端接口,不直接访问邮箱、AgentBus、数据库或外部附件 URL Secret。
|
||||
- 如果后端仍需要审计原文读取,应由后端在该业务接口内部处理;前端不保存 `X-TH-Hotel-Source-Original-Read-Key` 一类受控访问 key。
|
||||
- 2026-07-08 后端已新增 `html_body_sanitized` 和 `html_render_mode`;前端页面展示邮件 HTML 时应优先使用 `html_body_sanitized`,`html_body` 只作为原始内容兼容字段,不建议生产直渲。
|
||||
@@ -450,8 +450,8 @@ GET /api/reservation/tasks/{taskId}
|
||||
| 位置 | 字段 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 顶层 | `source_subject` | 任务来源消息主题摘要。 |
|
||||
| 顶层 | `source_sender_summary` | 任务来源消息发件人摘要。 |
|
||||
| 顶层 | `source_received_at` | 任务来源消息接收时间。 |
|
||||
| 顶层 | `source_sender_summary` | 任务来源消息发件人展示值,当前不打码。 |
|
||||
| 顶层 | `source_received_at` | 任务来源邮件接收时间,优先取 AgentBus payload `received_at`。 |
|
||||
| 顶层 | `external_conversation_id` | 任务来源消息所属邮件会话 ID。 |
|
||||
| 顶层 | `conversation_message_count` | 会话内邮件数量。 |
|
||||
| `fields[]` | `result_type` | 3.0 字段表中的结果类型,用于前端调试和字段分组校验。 |
|
||||
|
||||
Reference in New Issue
Block a user