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

# 自动化私信已发送但未送达

> Instagram 自动化 DM 显示已发送但对方未收到的原因，Message requests 设置与已有对话如何影响送达，以及私密回复的限制。

如果[评论触发的自动化](https://www.ayrshare.com/docs/apis/automations/overview.md)报告某条活动 `status: "sent"`，但发表评论的人却表示从未收到该私信，这几乎总是收件人的 Instagram 隐私设置所致——**不是**你的自动化或 Ayrshare 的缺陷。

> [!NOTE]
>
> **`sent` 表示 Instagram 已接受该消息，并不代表已投递。** Instagram 在任何 API 层面都不公开消息投递情况。Ayrshare 会在 Instagram 接受该消息的那一刻将 `send_dm` 动作标记为 `sent`；它是否真的送达收件人，由 Ayrshare 无法读取或更改的设置决定。

## 由收件人的 "Message requests" 设置决定投递

每个 Instagram 用户都可以在 **Settings and activity → Messages and story replies → Message requests** 中控制谁可以向他们发送消息请求。选项大致为"所有人"、"你的粉丝"和"没有人"。

当你的自动化向一位限制了消息请求的用户发送私信时，Meta 会接受该请求，返回**携带消息 ID 的成功响应**，然后**静默丢弃该消息**。没有错误、没有失败 Webhook、也没有投递/已读信号——这种丢弃在每一个 API 层面都不可见。Meta 知道该消息无法送达（其自家 App 界面会显示 *"This account can't receive your message because they don't allow new message requests from everyone"*），但它不在 API 上公开这一情况。

| 收件人的 Message requests 设置 | 结果 |
| - | - |
| 所有人 | 已投递——作为**收件人必须接受的消息请求**送达 |
| 你的粉丝（且收件人未关注发送方） | 被 Meta 接受，然后静默丢弃 |
| 没有人 | 被 Meta 接受，然后静默丢弃 |

## 已存在的会话会覆盖该设置

如果发送方与收件人**已经存在消息会话**（例如，收件人此前曾向该账户发送过私信），该已有会话会覆盖 Message requests 设置，自动化私信会被投递到已有会话中，而不是作为新的请求。这就是为什么同一条自动化能触达某些评论者却无法触达另一些人，也是为什么先向该账户发消息的收件人，之后就能可靠地收到自动化私信。

## 如何识别这种情况

<ul>
  <li>活动条目显示 `status: "sent"`，且没有 `errorDetails`。</li>
  <li>收件人报告没有收到私信（且不在其消息请求文件夹中）。</li>
  <li>在不同收件人之间时有时无——一部分人收到了私信，另一部分人没有——且与你的配置没有规律可循。</li>
</ul>

这是一种投递结果，而不是失败状态，因此永远不会显示为 `failed`。`failed` 条目表示 Instagram *拒绝*了该发送，且原因位于 `actionResults[].errorDetails`——那是不同的情况（见[错误码](https://www.ayrshare.com/docs/errors/errors-ayrshare.md)）。

## 你能做什么

**没有编程层面的绕过手段**——任何 API、权限范围或发送形态都无法绕过收件人的 Message requests 设置。你可以做的是：

<ul>
  <li>提前设定预期：评论触发的私信只能触达那些 Instagram 设置允许消息请求的用户，或者已经与你的账户建立会话的用户。</li>
  <li>鼓励评论者向你的账户发送私信（或开启消息请求），如果他们希望收到后续跟进——一条入站消息会永久打开该会话。</li>
  <li>考虑对评论进行公开回复，作为触达每一个人的备用途径。</li>
</ul>

## 评论触发的私信如何发送（私信回复）

评论触发的自动化通过 Instagram **私信回复（private replies）** 投递该私信，锚定于评论自身。正是这一点让自动化可以向你从未私信过的评论者发送消息。理解其机制——以及其限制——是有价值的：

<ul>
  <li>**锚定评论的 7 天窗口。** 该回复必须在评论发出后的 7 天内发送。之后窗口关闭，发送会失败并返回 [`code: 491`](https://www.ayrshare.com/docs/errors/errors-ayrshare#automation-private-reply-comment-dm-errors)。</li>
  <li>**每条评论仅一次回复，永久有效。** Instagram 每条评论只允许一次私信回复。再次尝试会失败并返回 [`code: 491`](https://www.ayrshare.com/docs/errors/errors-ayrshare#automation-private-reply-comment-dm-errors)——Instagram 通过用于窗口关闭的同一个共用错误来报告"已回复"，因此请查看 `errorDetails` 以判断实际情形。</li>
  <li>**作为消息请求送达。** 即便是投递成功的私信回复，也会落入收件人的消息请求文件夹并需要被接受——除非已存在会话。</li>
  <li>**投递仍取决于收件人的设置。** 私信回复消除了"必须先发过消息"的要求，但**并不**覆盖收件人的 Message requests 设置，那正是上文所述的限制。</li>
</ul>

## 相关

<ul>
  <li>[自动化 API 概述](https://www.ayrshare.com/docs/apis/automations/overview.md) —— 触发器与动作参考、活动状态。</li>
  <li>[Messages API 概述](https://www.ayrshare.com/docs/apis/messages/overview.md) —— 私信隐私开关与 Instagram 的 7 天消息窗口。</li>
  <li>[自动化私信回复错误码](https://www.ayrshare.com/docs/errors/errors-ayrshare.md#automation-private-reply-comment-dm-errors) —— `490`–`495`。</li>
</ul>


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