> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# 客户消息

> 在 Didit 中预览固定消息、向已验证联系人请求补充信息，并查看客户的回复。

打开案件，然后选择**发送消息**。
选择已验证的收件人、语言和用途，然后选择**预览**。
预览会显示确切的发件人、收件人、主题和邮件正文。
选择**编辑**可更改所选内容，或选择**发送**以确认。
如果预览已更改或已过期，必须重新生成预览后才能发送。

## 消息用途

| 用途 | 客户操作 | 案件状态 |
| - | - | - |
| 身份证件 | 上传身份证件的清晰照片 | 等待用户 |
| 地址证明 | 上传近期的证件，且证件须显示姓名和居住地址 | 等待用户 |
| 企业文件 | 上传企业注册证件 | 等待用户 |
| 确认信息 | 提交全名和出生日期，供审核员评估 | 等待用户 |
| 审核进行中 | 无需操作；邮件不包含回复按钮 | 保持不变 |

目前证件上传支持最大 5 MB 的 JPEG、PNG 和 WebP 图片。
仅显示适用于案件主体的用途。
客户邮件模板目前提供英语、西班牙语和葡萄牙语版本。
控制台使用与会话重新提交相同的邮箱字段和语言选择器。

## 已验证的收件人与固定模板

收件人必须已在属于该案件主体和应用的会话中完成邮箱验证。
在用户资料中导入或编辑的地址不构成验证。
如果不存在已验证的联系方式，撰写界面会说明此情况，发送保持禁用。

审核员不能提供任意的邮件文本、链接、发件人地址或收件人。
邮件使用现有的 Didit 或白标品牌。
使用自定义发件人时，必须已验证所配置的邮件域名。
每个模板都会告知收件人，该邮件不会索要密码、验证码或付款。

会话重新提交仍是一项独立操作，用于重复执行验证检查。
其预览会显示实际的重新提交邮件以及所选的检查项。

## 投递与回复

消息记录会区分排队中、发送中、已发送、模拟和未知等投递结果。
模拟邮件不会被发送。
未知结果表示提供商可能已接受该邮件；系统不会自动重新发送。
重试已确认的请求时，会使用相同的请求 ID，以避免重复投递。

可操作的请求带有安全回复链接，该链接在七天内有效。
取消请求或结案会使该链接失效，案件重新打开后同样失效。
客户页面不会披露私密的案件调查结果或其他源记录。

提交的回复会以待审核证据的形式显示在**客户消息**中。
案件将恢复为打开状态，现有的待审批处理结果必须重新审核。
回复不能替代先前的提交，不能批准原始验证，不能覆盖客户的身份信息，也不能促成欺诈结果。

删除源验证或案件时，会同时删除其客户请求及其上传的证据。

## API 工作流

所有控制台端点都限定在组织、应用和案件范围内：

```text theme={null}
GET  /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/requests/options/
POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/requests/preview/
GET  /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/requests/
POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/requests/
POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/requests/{request_uuid}/cancel/
POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/requests/{request_uuid}/remind/
GET  /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/requests/{request_uuid}/attachment/
```

读取历史记录和附件需要 `read:cases`。
撰写、预览、确认、取消和提醒需要 `write:cases`。
确认请求必须包含相同的 `contact_id`、`purpose` 和 `language`，以及预览返回的 `request_id`、`expires_at` 和 `preview_token`。
确认回执在 15 分钟后过期，与客户的回复截止时间无关。

提醒会向同一已验证收件人再次发送相同的邮件，同一请求每 24 小时最多提醒一次。
除此之外不会做任何更改：请求保留其截止时间，案件保留其状态。
响应会返回该请求、`reminded_at`、提醒本身的 `delivery_status`（`SENT`、`SIMULATED` 或 `UNKNOWN`）以及 `next_reminder_at`。
如果客户不再需要回复某个请求，将返回 `409`，附带 `code` `case_request_not_waiting` 以及 `reason`，其值为 `answered`、`cancelled`、`expired`、`closed`、`not_actionable`、`not_delivered` 或 `contact_unavailable` 之一。
在 24 小时内发出的第二次提醒将返回 `429`，附带 `code` `case_request_reminder_too_soon`、`retry_at` 时间戳以及 `Retry-After` 响应头。
当处理结果正在等待审批时，提醒将返回 `400`。

客户 endpoint 为 `GET` 或 `POST /v3/case-requests/{request_uuid}/`，并须带上该请求专用的 `X-Case-Request-Token` 请求头。
回复链接在 URL 片段中携带该凭证；页面打开时会移除该片段。
该 token 仅授予对该请求的访问权限。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.