微信公眾平台開發


為了識別用戶,每個用戶針對每個公眾號會產生一個安全的OpenID,如果需要在多公眾號、移動應用之間做用戶共通,則需前往微信開放平台,將這些公眾號和應用綁定到一個開放平台賬號下,綁定后,一個用戶雖然對多個公眾號和應用有多個不同的OpenID,但他對所有這些同一開放平台賬號下的公眾號和應用,只有一個UnionID,可以在用戶管理-獲取用戶基本信息(UnionID機制)文檔了解詳情。

用戶向公眾號發送消息時,公眾號方收到的消息發送者是一個OpenID,是使用用戶微信號加密后的結果,每個用戶對每個公眾號有一個唯一的OpenID。

此外,由於開發者經常有需在多個平台(移動應用、網站、公眾帳號)之間共通用戶帳號,統一帳號體系的需求,微信開放平台(open.weixin.qq.com)提供了UnionID機制。開發者可通過OpenID來獲取用戶基本信息,而如果開發者擁有多個應用(移動應用、網站應用和公眾帳號,公眾帳號只有在被綁定到微信開放平台帳號下后,才會獲取UnionID),可通過獲取用戶基本信息中的UnionID來區分用戶的唯一性,因為只要是同一個微信開放平台帳號下的移動應用、網站應用和公眾帳號,用戶的UnionID是唯一的。換句話說,同一用戶,對同一個微信開放平台帳號下的不同應用,UnionID是相同的。

公眾平台以access_token為接口調用憑據,來調用接口,所有接口的調用需要先獲取access_token,access_token在2小時內有效,過期需要重新獲取,但1天內獲取次數有限,開發者需自行存儲,詳見獲取接口調用憑據(access_token)文檔。

公眾平台接口調用僅支持80端口。

 

1、公眾號消息會話

 

1)群發消息:公眾號可以以一定頻次(訂閱號為每天1次,服務號為每月4次),向用戶群發消息,包括文字消息、圖文消息、圖片、視頻、語音等。
2)被動回復消息:在用戶給公眾號發消息后,微信服務器會將消息發到開發者預先在開發者中心設置的服務器地址(開發者需要進行消息真實性驗證),公眾號可以在5秒內做出回復,可以回復一個消息,
也可以回復命令告訴微信服務器這條消息暫不回復。被動回復消息可以設置加密(在公眾平台官網的開發者中心處設置,設置后,按照消息加解密文檔來進行處理。其他3種消息的調用因為是API調用而不是對請求的返回,所以不需要加解密)。 3)客服消息:在用戶給公眾號發消息后的48小時內,公眾號可以給用戶發送不限數量的消息,主要用於客服場景。用戶的行為會觸發事件推送,某些事件推送是支持公眾號據此發送客服消息的,詳見微信推送消息與事件說明文檔。 4)模板消息:在需要對用戶發送服務通知(如刷卡提醒、服務預約成功通知等)時,公眾號可以用特定內容模板,主動向用戶發送消息。

 

2、公眾號內網頁

 

1)網頁授權獲取用戶基本信息:通過該接口,可以獲取用戶的基本信息(獲取用戶的OpenID是無需用戶同意的,獲取用戶的基本信息則需用戶同意)
2)微信JS-SDK:是開發者在網頁上通過JavaScript代碼使用微信原生功能的工具包,開發者可以使用它在網頁上錄制和播放微信語音、監聽微信分享、上傳手機本地圖片、拍照等許多能力。

 

公眾號每次調用接口時,可能獲得正確或錯誤的返回碼,開發者可以根據返回碼信息調試接口,排查錯誤。

全局返回碼說明如下:

返回碼 說明
-1 系統繁忙,此時請開發者稍候再試
0 請求成功
40001 獲取access_token時AppSecret錯誤,或者access_token無效。請開發者認真比對AppSecret的正確性,或查看是否正在為恰當的公眾號調用接口
40002 不合法的憑證類型
40003 不合法的OpenID,請開發者確認OpenID(該用戶)是否已關注公眾號,或是否是其他公眾號的OpenID
40004 不合法的媒體文件類型
40005 不合法的文件類型
40006 不合法的文件大小
40007 不合法的媒體文件id
40008 不合法的消息類型
40009 不合法的圖片文件大小
40010 不合法的語音文件大小
40011 不合法的視頻文件大小
40012 不合法的縮略圖文件大小
40013 不合法的AppID,請開發者檢查AppID的正確性,避免異常字符,注意大小寫
40014 不合法的access_token,請開發者認真比對access_token的有效性(如是否過期),或查看是否正在為恰當的公眾號調用接口
40015 不合法的菜單類型
40016 不合法的按鈕個數
40017 不合法的按鈕個數
40018 不合法的按鈕名字長度
40019 不合法的按鈕KEY長度
40020 不合法的按鈕URL長度
40021 不合法的菜單版本號
40022 不合法的子菜單級數
40023 不合法的子菜單按鈕個數
40024 不合法的子菜單按鈕類型
40025 不合法的子菜單按鈕名字長度
40026 不合法的子菜單按鈕KEY長度
40027 不合法的子菜單按鈕URL長度
40028 不合法的自定義菜單使用用戶
40029 不合法的oauth_code
40030 不合法的refresh_token
40031 不合法的openid列表
40032 不合法的openid列表長度
40033 不合法的請求字符,不能包含\uxxxx格式的字符
40035 不合法的參數
40038 不合法的請求格式
40039 不合法的URL長度
40050 不合法的分組id
40051 分組名字不合法
40117 分組名字不合法
40118 media_id大小不合法
40119 button類型錯誤
40120 button類型錯誤
40121 不合法的media_id類型
40132 微信號不合法
40137 不支持的圖片格式
41001 缺少access_token參數
41002 缺少appid參數
41003 缺少refresh_token參數
41004 缺少secret參數
41005 缺少多媒體文件數據
41006 缺少media_id參數
41007 缺少子菜單數據
41008 缺少oauth code
41009 缺少openid
42001 access_token超時,請檢查access_token的有效期,請參考基礎支持-獲取access_token中,對access_token的詳細機制說明
42002 refresh_token超時
42003 oauth_code超時
42007 用戶修改微信密碼,accesstoken和refreshtoken失效,需要重新授權
43001 需要GET請求
43002 需要POST請求
43003 需要HTTPS請求
43004 需要接收者關注
43005 需要好友關系
44001 多媒體文件為空
44002 POST的數據包為空
44003 圖文消息內容為空
44004 文本消息內容為空
45001 多媒體文件大小超過限制
45002 消息內容超過限制
45003 標題字段超過限制
45004 描述字段超過限制
45005 鏈接字段超過限制
45006 圖片鏈接字段超過限制
45007 語音播放時間超過限制
45008 圖文消息超過限制
45009 接口調用超過限制
45010 創建菜單個數超過限制
45015 回復時間超過限制
45016 系統分組,不允許修改
45017 分組名字過長
45018 分組數量超過上限
45047 客服接口下行條數超過上限
46001 不存在媒體數據
46002 不存在的菜單版本
46003 不存在的菜單數據
46004 不存在的用戶
47001 解析JSON/XML內容錯誤
48001 api功能未授權,請確認公眾號已獲得該接口,可以在公眾平台官網-開發者中心頁中查看接口權限
48004 api接口被封禁,請登錄mp.weixin.qq.com查看詳情
50001 用戶未授權該api
50002 用戶受限,可能是違規后接口被封禁
61451 參數錯誤(invalid parameter)
61452 無效客服賬號(invalid kf_account)
61453 客服帳號已存在(kf_account exsited)
61454 客服帳號名長度超過限制(僅允許10個英文字符,不包括@及@后的公眾號的微信號)(invalid kf_acount length)
61455 客服帳號名包含非法字符(僅允許英文+數字)(illegal character in kf_account)
61456 客服帳號個數超過限制(10個客服賬號)(kf_account count exceeded)
61457 無效頭像文件類型(invalid file type)
61450 系統錯誤(system error)
61500 日期格式錯誤
65301 不存在此menuid對應的個性化菜單
65302 沒有相應的用戶
65303 沒有默認菜單,不能創建個性化菜單
65304 MatchRule信息為空
65305 個性化菜單數量受限
65306 不支持個性化菜單的帳號
65307 個性化菜單信息為空
65308 包含沒有響應類型的button
65309 個性化菜單開關處於關閉狀態
65310 填寫了省份或城市信息,國家信息不能為空
65311 填寫了城市信息,省份信息不能為空
65312 不合法的國家信息
65313 不合法的省份信息
65314 不合法的城市信息
65316 該公眾號的菜單設置了過多的域名外跳(最多跳轉到3個域名的鏈接)
65317 不合法的URL
9001001 POST數據參數不合法
9001002 遠端服務不可用
9001003 Ticket不合法
9001004 獲取搖周邊用戶信息失敗
9001005 獲取商戶信息失敗
9001006 獲取OpenID失敗
9001007 上傳文件缺失
9001008 上傳素材的文件類型不合法
9001009 上傳素材的文件尺寸不合法
9001010 上傳失敗
9001020 帳號不合法
9001021 已有設備激活率低於50%,不能新增設備
9001022 設備申請數不合法,必須為大於0的數字
9001023 已存在審核中的設備ID申請
9001024 一次查詢設備ID數量不能超過50
9001025 設備ID不合法
9001026 頁面ID不合法
9001027 頁面參數不合法
9001028 一次刪除頁面ID數量不能超過10
9001029 頁面已應用在設備中,請先解除應用關系再刪除
9001030 一次查詢頁面ID數量不能超過50
9001031 時間區間不合法
9001032 保存設備與頁面的綁定關系參數錯誤
9001033 門店ID不合法
9001034 設備備注信息過長
9001035 設備申請參數不合法
9001036 查詢起始值begin不合法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM