首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

微信公眾號主動發送圖文訊息:除群發外,可用客服訊息/模板訊息/訂閱訊息單發給特定用戶

     編輯:程式設計綜合問答

需求:自有伺服器主動推送圖文給**具體某個用戶**,非群發。

三大單發介面 (均需用戶授權/互動過)

介面觸發條件圖文支援頻率限制
客服訊息用戶 48 小時內與公眾號互動 (發訊息/點選單/掃碼/付款)支援圖文、圖片、文字、卡券無嚴格上限,但需在 48 小時客服窗口內
模板訊息 (舊)用戶授權 `template_message` / 表單提交場景**不支援圖文**,僅結構化文字日發送上限視帳號認證等級
訂閱訊息 (新)用戶在小程式/公眾號點擊「訂閱」一次性授權**不支援圖文**,僅文字一次授權一條下發,長期有效

若必須發圖文給單一用戶 → 唯有「客服訊息」

POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
{
  "touser": "OPENID",
  "msgtype": "news",
  "news": {
    "articles": [{
      "title": "標題",
      "description": "摘要",
      "url": "https://example.com/detail",
      "picurl": "https://example.com/cover.jpg"
    }]
  }
}

前置條件檢查清單

  1. 公眾號已認證 (服務號/訂閱號均可)。
  2. 獲取有效 `access_token` (緩存 2 小時)。
  3. 目標 `openid` 在 48 小時內有過互動 (可在後台「用戶列表」看最後互動時間)。
  4. 圖文素材已上傳素材庫 (或使用外鏈 `url`/`picurl`)。

常見誤區

  • 以為「群發介面」能單發 → 群發最小單位是標簽/分組,無法精確到單一 OpenID。
  • 用模板/訂閱訊息發圖文 → **介面根本不支援 `news` 類型**。
  • 忽略 48 小時窗口 → 超時發送會報 `45015` (不在客服窗口)。

結論:**只有客服訊息支援單發圖文,且嚴格受限於 48 小時互動窗口。** 設計業務流程時,引導用戶主動互動 (如點擊菜單「聯繫客服」) 以打開窗口。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved