微信公衆平臺開發

爲了識別用戶,每一個用戶針對每一個公衆號會產生一個安全的OpenID,若是須要在多公衆號、移動應用之間作用戶共通,則需前往微信開放平臺,將這些公衆號和應用綁定到一個開放平臺帳號下,綁定後,一個用戶雖然對多個公衆號和應用有多個不一樣的OpenID,但他對全部這些同一開放平臺帳號下的公衆號和應用,只有一個UnionID,能夠在用戶管理-獲取用戶基本信息(UnionID機制)文檔瞭解詳情。api

用戶向公衆號發送消息時,公衆號方收到的消息發送者是一個OpenID,是使用用戶微信號加密後的結果,每一個用戶對每一個公衆號有一個惟一的OpenID。安全

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

公衆平臺以access_token爲接口調用憑據,來調用接口,全部接口的調用須要先獲取access_token,access_token在2小時內有效,過時須要從新獲取,但1天內獲取次數有限,開發者需自行存儲,詳見獲取接口調用憑據(access_token)文檔。微信

公衆平臺接口調用僅支持80端口。app

 

一、公衆號消息會話工具

 

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

 

二、公衆號內網頁網站

 

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

 

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

全局返回碼說明以下:加密

返回碼 說明
-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不合法
相關文章
相關標籤/搜索