> ## 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.

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

> 为什么某条 Instagram 自动化可以将私信报告为已发送，而收件人却从未收到——收件人的 Message requests 设置、私信回复机制，以及你能与不能做什么。

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

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

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

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

## 你能做什么

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

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

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

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

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

## 相关

<ul class="custom-bullets">
  <li><a href="/docs/apis/automations/overview">自动化 API 概述</a> —— 触发器与动作参考、活动状态。</li>
  <li><a href="/docs/apis/messages/overview">Messages API 概述</a> —— 私信隐私开关与 Instagram 的 7 天消息窗口。</li>
  <li><a href="/docs/errors/errors-ayrshare#automation-private-reply-comment-dm-errors">自动化私信回复错误码</a> —— <code>483</code>–<code>488</code>。</li>
</ul>
