第一步:申請消息接口 登錄https://mp.weixin.qq.com/ 后,在公眾平臺后臺管理頁面 – 開發者中心頁,點擊“修改配置”按鈕, 填寫URL、Token和EncodingAESKey,其中URL是開發者用來接收微信服務器數據的接口URL。 Token可由開發者可以任意填寫,用作生成簽名(該Token會和接口URL中包含的Token進行比對,從而驗證安全性)。 EncodingAESKey由開發者手動填寫或隨機生成,將用作消息體加解密密鑰。同時,開發者可選擇消息加解密方式:明文模式、兼容模式和安全模式。 模式的選擇與服務器配置在提交后都會立即生效,請開發者謹慎填寫及選擇。 加解密方式的默認狀態為明文模式,選擇兼容模式和安全模式需要提前配置好相關加解密代碼,詳情請參考消息體簽名及加解密部分的文檔。
第二步:驗證URL有效性 開發者提交信息后,微信服務器將發送GET請求到填寫的URL上,GET請求攜帶四個參數: 參數 描述 signature 微信加密簽名,signature結合了開發者填寫的token參數和請求中的timestamp參數、nonce參數。 timestamp 時間戳 nonce 隨機數 echostr 隨機字符串 開發者通過檢驗signature對請求進行校驗(下面有校驗方式)。若確認此次GET請求來自微信服務器,請原樣返回echostr參數內容,則接入生效,成為開發者成功,否則接入失敗。 加密/校驗流程如下: 1. 將token、timestamp、nonce三個參數進行字典序排序 2. 將三個參數字符串拼接成一個字符串進行sha1加密 3. 開發者獲得加密后的字符串可與signature對比,標識該請求來源于微信
第三步:成為開發者 驗證URL有效性成功后即接入生效,成為開發者。如果公眾帳號類型為服務號(訂閱號只能使用普通消息接口),可以在公眾平臺網站中申請認證,認證成功的服務號將獲得眾多接口權限,以滿足開發者需求。 此后用戶每次向公眾帳號發送消息、或者產生自定義菜單點擊事件時,響應URL將得到推送。 公眾帳號調用各接口時,一般會獲得正確的結果,具體結果可見對應接口的說明。返回錯誤時,可根據返回碼來查詢錯誤原因。全局返回碼說明 用戶向公眾帳號發送消息時,公眾帳號方收到的消息發送者是一個OpenID,是使用用戶微信號加密后的結果,每個用戶對每個公眾帳號有一個唯一的OpenID。 此外請注意,微信公眾帳號接口只支持80接口。