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

# Automation DM Sent but Not Delivered | Ayrshare Docs

> 為何 Instagram 自動化可能會將 DM 回報為已送出，但接收者卻從未收到 — 接收者的 Message requests 設定、private reply 的運作機制，以及你能做與不能做的事。

若[留言觸發的自動化](/docs/apis/automations/overview)回報活動 `status: "sent"`，但留言者卻表示從未收到 DM，這幾乎都是接收者的 Instagram 隱私設定所致 — **不是**你的自動化或 Ayrshare 出了 bug。

<Note>
  **`sent` 代表 Instagram 接受了訊息，並非代表訊息已送達。** Instagram 在任何 API 層面都不揭露訊息送達狀態。Instagram 一接受 `send_dm` 動作的當下，Ayrshare 就會將其標記為 `sent`；訊息是否真的送達接收者，則由 Ayrshare 無法讀取或變更的設定決定。
</Note>

## 接收者的「Message requests」設定決定送達與否

每位 Instagram 使用者可在 **Settings and activity → Messages and story replies → Message requests** 底下控制誰可以傳送訊息請求給自己。選項大致是「所有人」、「你的追蹤者」與「沒有人」。

當你的自動化向限制訊息請求的使用者傳送 DM 時，Meta 會接受該請求、回傳**帶訊息 ID 的成功回應**，然後**靜默地將訊息捨棄**。沒有錯誤、沒有失敗 webhook，也沒有送達／已讀訊號 — 此捨棄行為在任何 API 層面都不可見。Meta 知道這則訊息無法送達（其自家 App UI 會顯示 *"This account can't receive your message because they don't allow new message requests from everyone"*），但並不會透過 API 揭露。

| 接收者的 Message requests 設定 | 會發生什麼事                     |
| ------------------------ | -------------------------- |
| 所有人                      | 送達 — 以**訊息請求**形式抵達，接收者必須接受 |
| 你的追蹤者（且接收者未追蹤發送者）        | 被 Meta 接受後靜默地捨棄            |
| 沒有人                      | 被 Meta 接受後靜默地捨棄            |

## 既有對話會覆寫該設定

若發送者與接收者之間**已有訊息對話**（例如接收者曾傳送 DM 給該帳號），該既有對話會覆寫 Message requests 設定，自動化 DM 會直接送進既有對話串中，而非以新的請求形式出現。這也是為什麼同一個自動化能觸及某些留言者卻無法觸及其他人；也是為什麼曾主動傳訊給該帳號的接收者之後就能穩定收到自動化 DM。

## 如何辨識這種情況

<ul class="custom-bullets">
  <li>活動列顯示 <code>status: "sent"</code>，沒有 <code>errorDetails</code>。</li>
  <li>接收者回報未收到 DM（且訊息也不在他們的訊息請求資料夾中）。</li>
  <li>此情況在接收者之間並不一致 — 有些人收得到，有些人收不到 — 且在你的設定中找不到規律。</li>
</ul>

這是一個送達結果，而非失敗狀態，因此永遠不會顯示為 `failed`。`failed` 表示 Instagram *拒絕*了發送，原因會出現在 `actionResults[].errorDetails` — 那是另一種情況（請見[錯誤碼](/docs/errors/errors-ayrshare)）。

## 你能做什麼

**無法透過程式繞過** — 沒有任何 API、權限範圍或發送格式可以繞過接收者的 Message requests 設定。你能做的是：

<ul class="custom-bullets">
  <li>事先設定期望：留言觸發的 DM 只能觸及 Instagram 設定允許訊息請求的人，或已與你帳號有對話的人。</li>
  <li>鼓勵留言者主動 DM 你的帳號（或開啟訊息請求）以便接收後續訊息 — 一則進來的訊息會永久打開該對話串。</li>
  <li>考慮以公開回覆該留言作為觸及所有人的備援途徑。</li>
</ul>

## 留言觸發的 DM 如何傳送（private reply）

留言觸發的自動化會透過 Instagram 的 **private reply** 傳送 DM，並錨定在留言本身。這正是讓自動化得以傳訊給你從未傳送過訊息的留言者的原因。以下是其運作機制與限制，值得了解：

<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 每則留言只允許一次 private reply。第二次嘗試會以 <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>即使是成功送達的 private reply，也會落在接收者的訊息請求資料夾中並必須被接受 — 除非對話已經存在。</li>
  <li><strong>送達仍取決於接收者的設定。</strong>Private reply 移除了「必須先傳過訊息」的要求，但**不會**覆寫接收者的 Message requests 設定，這正是上述所描述的限制。</li>
</ul>

## 相關資料

<ul class="custom-bullets">
  <li><a href="/docs/apis/automations/overview">Automations API 概觀</a> — 觸發條件與動作參考、活動狀態。</li>
  <li><a href="/docs/apis/messages/overview">Messages API 概觀</a> — DM 隱私切換與 Instagram 7 天訊息視窗。</li>
  <li><a href="/docs/errors/errors-ayrshare#automation-private-reply-comment-dm-errors">Automation private-reply 錯誤碼</a> — <code>483</code>–<code>488</code>。</li>
</ul>
