模板消息接口

''' 使用規則 1、所有服務號都可以在功能->添加功能插件處看到申請模板消息功能的入口,但只有認證后的服務號才可以申請模板消息的使用權限並獲得該權限; 2、需要選擇公眾賬號服務所處的2個行業,每月可更改1次所選行業; 3、在所選擇行業的模板庫中選用已有的模板進行調用; 4、每個賬號可以同時使用25個模板。 5、當前每個賬號的模板消息的日調用上限為10萬次,單個模板沒有特殊限制。 ''' import werobot import requests,json robot = werobot.WeRoBot(token='tteexx') robot.config['APP_SECRET'] = 'fee02e53beed0e49f2c597adcca8cf56' robot.config['APP_ID'] = 'wx94efe9defbf49573' client = robot.client ACCESS_TOKEN = "17_v7LVKYFlHSH5CperVCJQ2TeuzzT_F6oIBVYphwmKyADa3xnjp_GeAX6wxCwpjOMcZvIpzwE1EzNcchtIQh7AHB0W76c7jM2VtQOsBsq9wwbecIF2ARzvIMx0Ng6sbv1sFh5lSycwoTNyCPYbPGFhADACTS" #————————刷新ACCESS_TOKEN—————————— #判斷ACCESS_TOKEN 是不是 42001 ,是說明過期,需要刷新 def access(url,ACCESS_TOKEN): url = url + ACCESS_TOKEN req = requests.get(url).text a = eval(req).get('errcode') # print(a) if a == "42001": ACCESS_TOKEN = client.get_access_token() return ACCESS_TOKEN access(url="https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=",ACCESS_TOKEN=ACCESS_TOKEN) print(ACCESS_TOKEN) #———————設置所屬行業—————————————————— #assess_token 注意時效 ,行業的參數代碼,必選2個行業 url = "https://api.weixin.qq.com/cgi-bin/template/api_set_industry?access_token="+ str(ACCESS_TOKEN) data = { "industry_id1": "1", "industry_id2": "4" } data_json = json.dumps(data) req = requests.post(url,data_json).text print(req) #————————獲取設置的行業信息—————————————— #注意assess_token 注意時效 url = "https://api.weixin.qq.com/cgi-bin/template/get_industry?access_token=" + str(ACCESS_TOKEN) req =requests.get(url).text print(req) #————————獲取行業模板ID—————————————— #template_id_short:模板庫中模板的編號,有“TM**”和“OPENTMTM**”等形式 url = "https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token=" + str(ACCESS_TOKEN) data ={"template_id_short":"TM00015"} req =requests.post(url,data).text print(req) #————————獲取行業模板列表—————————————— url = "https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=" + str(ACCESS_TOKEN) req =requests.get(url).text print(req) #————————刪除模板—————————————— #template_id 公眾帳號下模板消息ID url = "https://api.weixin.qq.com/cgi-bin/template/del_private_template?access_token=" + str(ACCESS_TOKEN) data ={"template_id" : "Dyvp3-Ff0cnail_CDSzk1fIc6-9lOkxsQE7exTJbwUE"} req =requests.post(url,data).text print(req) #————————發送模板消息—————————————— ''' touser 是 接收者openid template_id 是 模板ID url 否 模板跳轉鏈接(海外帳號沒有跳轉能力) miniprogram 否 跳小程序所需數據,不需跳小程序可不用傳該數據 appid 是 所需跳轉到的小程序appid(該小程序appid必須與發模板消息的公眾號是綁定關聯關系,暫不支持小游戲) pagepath 否 所需跳轉到小程序的具體頁面路徑,支持帶參數,(示例index?foo=bar),暫不支持小游戲 data 是 模板數據 color 否 模板內容字體顏色,不填默認為黑色 ''' url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + str(ACCESS_TOKEN) data = { { "touser": "OPENID", "template_id": "ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY", "url": "http://weixin.qq.com/download", "miniprogram": { "appid": "xiaochengxuappid12345", "pagepath": "index?foo=bar" }, "data": { "first": { "value": "恭喜你購買成功!", "color": "#173177" }, "keyword1": { "value": "巧克力", "color": "#173177" }, "keyword2": { "value": "39.8元", "color": "#173177" }, "keyword3": { "value": "2014年9月22日", "color": "#173177" }, "remark": { "value": "歡迎再次購買!", "color": "#173177" } } } } req =requests.post(url,data).text print(req)
自定義菜單欄

1 #自定義菜單欄 2 from werobot import WeRoBot 3 import requests 4 #定義app_id,app_secret 5 robot = WeRoBot(token='tteexx',app_id='wx94efe9defbf49573',app_secret= 'fee02e53beed0e49f2c597adcca8cf56') 6 #繼承client的方法 7 client = robot.client 8 #獲取acceaccess token 9 acceaccess_token = client.grant_token() 10 #刷新acceaccess token 11 acceaccess_token = client.get_access_token() 12 #自定義菜單地址 13 url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token=' + str(acceaccess_token) 14 #自定義菜單目錄 15 menu = { 16 "button":[ 17 { 18 "type": "view", 19 "name": "百度", 20 "url": "http://www.baidu.com", 21 }, 22 { 23 "name": "騰訊", 24 "sub_button": [ 25 { 26 "type": "view", 27 "name": "騰訊主頁", 28 "url": "http://www.tencent.com" 29 }, 30 { 31 "type": "view", 32 "name": "騰訊招聘", 33 "url" : "https://join.qq.com/" 34 }, 35 { 36 "type": "view", 37 "name": "騰訊網", 38 "url": "https://www.qq.com/" 39 }, 40 { 41 "type": "view", 42 "name": "騰訊視頻", 43 "url": "https://v.qq.com/" 44 } 45 ] 46 }, 47 { 48 "name": "博客園", 49 "sub_button": [ 50 { 51 "type": "view", 52 "name": "我的博客", 53 "url": "https://www.cnblogs.com/cy708/" 54 }, 55 { 56 "type": "view", 57 "name": "博客園主頁", 58 "url": "https://www.cnblogs.com/" 59 } 60 ] 61 } 62 ] 63 } 64 #創建自定義菜單 65 bacg = client.create_menu(menu_data=menu) 66 #提交數據 67 response = requests.post(url,bacg)
注:1、40164報錯:未將IP地址添加到白名單中,將提示的IP加入IP地址白名單中
2、48001報錯:非授權的賬戶不可使用自定義菜單欄