您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關C#如何實現微信公眾號會員卡管理?,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1)、會員卡創建接口文檔
支持開發者調用該接口創建會員卡,并獲取card_id,用于投放。調用該接口前,請開發者詳讀創建卡券接口部分上傳圖片接口、首頁 部分,快速錄入會員卡卡面必要信息。
接口調用請求說明
HTTP請求方式: POSTURL:https://api.weixin.qq.com/card/create?access_token=ACCESS_TOKEN
參數說明
參數 | 是否必須 | 說明 |
---|---|---|
access_token | 是 | 調用接口憑證 |
POST數據 | 是 | JSON結構 |
POST數據示例:
{ "card": { "card_type": "MEMBER_CARD", "member_card": { "background_pic_url": "https://mmbiz.qlogo.cn/mmbiz/", "base_info": { "logo_url": "http://mmbiz.qpic.cn/mmbiz/iaL1LJM1mF9aRKPZ/0", "brand_name": "海底撈", "code_type": "CODE_TYPE_TEXT", "title": "海底撈會員卡", "color": "Color010", "notice": "使用時向服務員出示此券", "service_phone": "020-88888888", "description": "不可與其他優惠同享", "date_info": { "type": "DATE_TYPE_PERMANENT" }, "sku": { "quantity": 50000000 }, "get_limit": 3, "use_custom_code": false, "can_give_friend": true, "location_id_list": [ 123, 12321 ], "custom_url_name": "立即使用", "custom_url": "http://weixin.qq.com", "custom_url_sub_title": "6個漢字tips", "promotion_url_name": "營銷入口1", "promotion_url": "http://www.qq.com", "need_push_on_view": true }, "advanced_info": { "use_condition": { "accept_category": "鞋類", "reject_category": "阿迪達斯", "can_use_with_other_discount": true }, "abstract": { "abstract": "微信餐廳推出多種新季菜品,期待您的光臨", "icon_url_list": [ "http://mmbiz.qpic.cn/mmbiz/p98FjXy8LacgHxp3sJ3vn97bGLz0ib0Sfz1bjiaoOYA027iasqSG0sj piby4vce3AtaPu6cIhBHkt6IjlkY9YnDsfw/0" ] }, "text_image_list": [ { "image_url": "http://mmbiz.qpic.cn/mmbiz/p98FjXy8LacgHxp3sJ3vn97bGLz0ib0Sfz1bjiaoOYA027iasqSG0sjpiby4vce3AtaPu6cIhBHkt6IjlkY9YnDsfw/0", "text": "此菜品精選食材,以獨特的烹飪方法,最大程度地刺激食 客的味蕾" }, { "image_url": "http://mmbiz.qpic.cn/mmbiz/p98FjXy8LacgHxp3sJ3vn97bGLz0ib0Sfz1bjiaoOYA027iasqSG0sj piby4vce3AtaPu6cIhBHkt6IjlkY9YnDsfw/0", "text": "此菜品迎合大眾口味,老少皆宜,營養均衡" } ], "time_limit": [ { "type": "MONDAY", "begin_hour":0, "end_hour":10, "begin_minute":10, "end_minute":59 }, { "type": "HOLIDAY" } ], "business_service": [ "BIZ_SERVICE_FREE_WIFI", "BIZ_SERVICE_WITH_PET", "BIZ_SERVICE_FREE_PARK", "BIZ_SERVICE_DELIVER" ] }, "supply_bonus": true, "supply_balance": false, "prerogative": "test_prerogative", "auto_activate": true, "custom_field1": { "name_type": "FIELD_NAME_TYPE_LEVEL", "url": "http://www.qq.com" }, "activate_url": "http://www.qq.com", "custom_cell1": { "name": "使用入口2", "tips": "激活后顯示", "url": "http://www.qq.com" }, "bonus_rule": { "cost_money_unit": 100, "increase_bonus": 1, "max_increase_bonus": 200, "init_increase_bonus": 10, "cost_bonus_unit": 5, "reduce_money": 100, "least_money_to_use_bonus": 1000, "max_reduce_bonus": 50 }, "discount": 10 } } }
2)、創建會員卡DEMO
A、在創建會員卡之前,我們可以調用素材管理,上傳logo,backgroup圖片
如下為調用接口的DEMO
DEMO中關鍵代碼:
if (string.IsNullOrEmpty(textBoxTmpMedia.Text)) { MessageUtil.ShowTips("請選擇上傳的素材!"); return; } ImageReJson imageReJson = AddMaterialInterface.Image(richTextBox1.Text, "image", textBoxTmpMedia.Text, "image/jpeg"); if (string.IsNullOrEmpty(imageReJson.errmsg)) { textBox7.Text = imageReJson.url; textBox26.Text = imageReJson.url; } richTextBox6.Text = "執行結果:" + JsonConvert.SerializeObject(imageReJson);
B、在logo與 backgroup圖片上傳后,我們調用創建會員卡接口來創建會員卡,如下為DEMO
在創建成功后,在微信公眾平臺中有剛創建的會員卡套
具體會員卡信息如下:
其中關鍵代碼:
Base_Info base_info = new Base_Info(); base_info.logo_url = textBox26.Text; base_info.code_type = "CODE_TYPE_BARCODE"; base_info.brand_name = textBox27.Text; base_info.title = textBox28.Text; Date_Info date_info = new Date_Info(); date_info.type = "DATE_TYPE_PERMANENT"; base_info.date_info = date_info; base_info.color = "Color100"; base_info.notice = "到店出示會員卡,由店員完成核銷"; base_info.description = "每人限領取1張\r\n會員權益不可與其它優惠同享\r\n僅限中國(本會員卡不包括港澳臺地區)指定的愛瑪蒂專賣店使用\r\n當年消費獲取的積分僅可當年年底(既12月31日24點)前使用,如未全部使用,則當年的積分會于當年年底清零,不累計到次年\r\n具體使用方式請咨詢專賣店工作人員。"; base_info.get_limit = 1; base_info.can_share = false; base_info.can_give_friend = false; Sku sku = new Sku(); sku.quantity = 1000000000; sku.total_quantity = 1000000000; base_info.sku = sku; base_info.use_all_locations = true; member_Card.base_info = base_info; member_Card.supply_bonus = true; member_Card.supply_balance = false; member_Card.prerogative = "所有專賣店消費1元即可獲得1積分\r\n可參與豐富的會員專享活動,詳情參看相關門店活動頁面"; member_Card.auto_activate = false; member_Card.wx_activate = true; //積分規則 Bonus_Rule bonus_rule = new Bonus_Rule(); bonus_rule.cost_money_unit = 100; bonus_rule.increase_bonus = 1; bonus_rule.cost_bonus_unit = 2000; bonus_rule.reduce_money = 100; member_Card.bonus_rule = bonus_rule; member_Card.background_pic_url = ""; card.member_card = member_Card; memberCardJson.card = card; //創建會員卡json顯示在界面上 richTextBox2.Text = JsonConvert.SerializeObject(memberCardJson); //通過接口寫入 CardReJson createrejson = MemberCardInterface.Create(richTextBox1.Text, memberCardJson); richTextBox3.Text = JsonConvert.SerializeObject(createrejson);
C、設置測試白名單接口
若會員卡暫時未審核通,開發者可以將測試人員的微信號設置成白名單,領取未審核通過的卡券。白名單狀態領取的卡信息不隨卡券實時更新,請開發者注意。
1)、設置開卡字段接口文檔
開發者在創建時填入"wx_activate": true字段后,需要調用該接口設置用戶激活時需要填寫的選項,否則一鍵開卡設置不生效。
接口調用請求說明
HTTP請求方式: POST URL:https://api.weixin.qq.com/card/membercard/activateuserform/set?access_token=TOKEN
參數說明
參數 | 是否必須 | 說明 |
---|---|---|
access_token | 是 | 調用接口憑證 |
POST數據 | 是 | JSON結構 |
2)、設置開卡字段DEMO
在設置開卡字段之前,我們查看了微信公眾平臺中會員卡的激活信息,只有必填信息,手機號
如下為調用接口程序,設置開卡字段接口 設置姓名,手機號是必填,性別、生日、興趣選填
在調用 接口成功后,必填信息與激活信息調整見下
1)、接口文檔
創建會員卡二維碼,打印后置于店內,顧客掃碼領取會員卡,掃描下方二維碼體驗領取,若已領取可掃碼快速打開會員卡。
開發者可調用該接口生成一張卡券二維碼供用戶掃碼后添加卡券到卡包。
自定義Code碼的卡券調用接口時,POST數據中需指定code,非自定義code不需指定,指定openid同理。指定后的二維碼只能被用戶掃描領取一次。
獲取二維碼ticket后,開發者可用換取二維碼圖片詳情。
接口調用請求說明
HTTP請求方式: POSTURL:https://api.weixin.qq.com/card/qrcode/create?access_token=TOKEN
參數說明
參數 | 是否必須 | 說明 |
---|---|---|
POST數據 | 是 | JSON數據 |
access_token | 是 | 調用接口憑證 |
POST數據
開發者可以設置掃描二維碼領取單張卡券,此時POST數據為:
{ "action_name": "QR_CARD", "expire_seconds": 1800, "action_info": { "card": { "card_id": "pFS7Fjg8kV1IdDz01r4SQwMkuCKc", "code": "198374613512", "openid": "oFS7Fjl0WsZ9AMZqrI80nbIq8xrA", "is_unique_code": false , "outer_str":"12b" } } }
當開發者設置掃描二維碼領取多張卡券,此時POST數據為:
{ "action_name": "QR_MULTIPLE_CARD", "action_info": { "multiple_card": { "card_list": [ { "card_id": "p1Pj9jgj3BcomSgtuW8B1wl-wo88", "code":"2392583481", "outer_str":"12b" }, { "card_id": "p1Pj9jgj3BcomSgtuW8B1wl-wo98", "code":"2392583482", "outer_str":"12b" } ] } } }
2)、創建二維碼DEMO
用戶可以掃描這個二維碼,掃碼后,先領取會員卡,然后激活會員卡
在領取與激活會員卡時,會向開發者接入推送事件,
<xml> <ToUserName> < ![CDATA[gh_3fcea188bf78] ]></ToUserName> <FromUserName>< ![CDATA[obLatjlaNQKb8FqOvt1M1x1lIBFE] ]></FromUserName> <CreateTime>1432668700</CreateTime> <MsgType>< ![CDATA[event] ]></MsgType> <Event>< ![CDATA[submit_membercard_user_info] ]></Event> <CardId>< ![CDATA[pbLatjtZ7v1BG_ZnTjbW85GYc_E8] ]></CardId> <UserCardCode>< ![CDATA[018255396048] ]></UserCardCode> </xml>
開發者在收到這些xml后,可以解析處理,比如可以同步會員的初始積分,讀取會員的基礎信息同步到自己的業務系統,包括CRM或ERP等。
如下是我們接收后,做的系統日志:
1)、開發文檔介紹
開發者可以在接收到事件通知后調用激活接口,傳入會員卡號、初始積分等信息或者調用拉取會員信息接口獲取會員信息,詳情請見:激活會員卡接口
激活方式說明
接口激活通常需要開發者開發用戶填寫資料的網頁。通常有兩種激活流程:
用戶必須在填寫資料后才能領卡,領卡后開發者調用激活接口為用戶激活會員卡;
是用戶可以先領取會員卡,點擊激活會員卡跳轉至開發者設置的資料填寫頁面,填寫完成后開發者調用激活接口為用戶激活會員卡。
接口詳情
接口調用請求說明
HTTP請求方式: POSTURL:https://api.weixin.qq.com/card/membercard/activate?access_token=TOKEN
參數說明
參數 | 是否必須 | 說明 |
---|---|---|
access_token | 是 | 調用接口憑證 |
POST數據 | 是 | JSON結構 |
{ "init_bonus": 100, "init_bonus_record":"舊積分同步", "init_balance": 200, "membership_number": "AAA00000001", "code": "12312313", "card_id": "xxxx_card_id", "background_pic_url": "https://mmbiz.qlogo.cn/mmbiz/0?wx_fmt=jpeg", "init_custom_field_value1": "xxxxx" }
2)、同步/激活會員卡DEMO
本DEMO中演示了修改membership_number及 初始積分,第一張圖片為原圖,第二張為同步后的圖
1)、開發文檔介紹
接口說明
支持開發者根據CardID和Code查詢會員信息。
接口調用請求說明
HTTP請求方式: POSTURL:https://api.weixin.qq.com/card/membercard/userinfo/get?access_token=TOKEN
參數說明
參數 | 是否必須 | 說明 |
---|---|---|
POST數據 | 是 | JSON結構 |
access_token | 是 | 調用接口憑證 |
POST數據
{ "card_id": "pbLatjtZ7v1BG_ZnTjbW85GYc_E8", "code": "916679873278" }
返回數據
{ "errcode": 0, "errmsg": "ok", "openid": "obLatjjwDolFj******wNqRXw", "nickname": "*******", "membership_number": "658*****445", "bonus": 995, "sex": "MALE", "user_info": { "common_field_list": [ { "name": "USER_FORM_INFO_FLAG_MOBILE", "value": "15*****518" }, { "name": "USER_FORM_INFO_FLAG_NAME", "value": "HK" }, { "name": "USER_FORM_INFO_FLAG_EDUCATION_BACKGROUND", "value": "研究生" } ], "custom_field_list": [ { "name": "興趣", "value": "鋼琴", "value_list": [] }, { "name": "喜好", "value": "郭敬明", "value_list": [] }, { "name": "職業", "value": "", "value_list": [ "賽車手", "旅行家" ] } ] }, "user_card_status": "NORMAL", "has_active": false }
2)、拉取會員信息DEMO
可以讀取到會員的姓名與手機號等信息,其中可以用手機號作為關鍵值與公司的CRM、ERP等對接。
當前會員的積分或儲值在公司的CRM、ERP等系統中變化,這時可以通過這個接口來實現同步。
如下DEMO為同步會員積分:
如下為開發文檔中的注意事項:
1.設置卡券失效的操作不可逆,即無法將設置為失效的卡券調回有效狀態,商家須慎重調用該接口。
*2.商戶調用失效接口前須與顧客事先告知并取得同意,否則因此帶來的顧客投訴,微信將會按照《微信運營處罰規則》
如下是通過接口實現將會員失效的DEMO
開發文檔中說明是同刪除卡券接口,刪除卡券接口允許商戶刪除任意一類卡券。刪除卡券后,該卡券對應已生成的領取用二維碼、添加到卡包JS API均會失效。 注意:如用戶在商家刪除卡券前已領取一張或多張該卡券依舊有效。即刪除卡券不能刪除已被用戶領取,保存在微信客戶端中的卡券。
如下是通過接口實現刪除會員卡功能的DEMO
關于C#如何實現微信公眾號會員卡管理?就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。