欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實(shí)現(xiàn)微信公眾號(hào)會(huì)員卡管理的示例代碼

 更新時(shí)間:2020年06月12日 10:59:54   作者:軟件開(kāi)發(fā)研究  
這篇文章主要介紹了C#實(shí)現(xiàn)微信公眾號(hào)會(huì)員卡管理的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

     為了更好地理解微信公眾號(hào)--會(huì)員卡管理,作者特意花了不少的時(shí)間對(duì)其研究,并用c#開(kāi)發(fā)出會(huì)員卡demo,主要包含會(huì)員卡創(chuàng)建、設(shè)置開(kāi)卡字段、通過(guò)創(chuàng)建二維碼來(lái)投放會(huì)員卡、同步會(huì)員卡數(shù)據(jù)/激活會(huì)員卡、拉取會(huì)員信息、更新會(huì)員信息、設(shè)置會(huì)員卡失效、刪除會(huì)員卡,從這些可以清晰地看出是圍繞會(huì)員卡的生命周期來(lái)研究的。結(jié)合文章中DEMO有助于大家快速理解會(huì)員卡接口。

1、會(huì)員卡創(chuàng)建 

1)、會(huì)員卡創(chuàng)建接口文檔  

   支持開(kāi)發(fā)者調(diào)用該接口創(chuàng)建會(huì)員卡,并獲取card_id,用于投放。調(diào)用該接口前,請(qǐng)開(kāi)發(fā)者詳讀創(chuàng)建卡券接口部分上傳圖片接口、首頁(yè) 部分,快速錄入會(huì)員卡卡面必要信息。

接口調(diào)用請(qǐng)求說(shuō)明

HTTP請(qǐng)求方式: POSTURL:https://api.weixin.qq.com/card/create?access_token=ACCESS_TOKEN

參數(shù)說(shuō)明

參數(shù) 是否必須 說(shuō)明
access_token 調(diào)用接口憑證
POST數(shù)據(jù) JSON結(jié)構(gòu)

POST數(shù)據(jù)示例:

{
 "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": "海底撈會(huì)員卡",
    "color": "Color010",
    "notice": "使用時(shí)向服務(wù)員出示此券",
    "service_phone": "020-88888888",
    "description": "不可與其他優(yōu)惠同享",
    "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個(gè)漢字tips",
    "promotion_url_name": "營(yíng)銷入口1",
    "promotion_url": "http://www.qq.com",
    "need_push_on_view": true
   },
    "advanced_info": {
    "use_condition": {
     "accept_category": "鞋類",
     "reject_category": "阿迪達(dá)斯",
     "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": "此菜品精選食材,以獨(dú)特的烹飪方法,最大程度地刺激食 客的味蕾"
     },
     {
      "image_url": "http://mmbiz.qpic.cn/mmbiz/p98FjXy8LacgHxp3sJ3vn97bGLz0ib0Sfz1bjiaoOYA027iasqSG0sj piby4vce3AtaPu6cIhBHkt6IjlkY9YnDsfw/0",
      "text": "此菜品迎合大眾口味,老少皆宜,營(yíng)養(yǎng)均衡"
     }
    ],
    "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)、創(chuàng)建會(huì)員卡DEMO

A、在創(chuàng)建會(huì)員卡之前,我們可以調(diào)用素材管理,上傳logo,backgroup圖片

如下為調(diào)用接口的DEMO

DEMO中關(guān)鍵代碼:

 if (string.IsNullOrEmpty(textBoxTmpMedia.Text))
   {
    MessageUtil.ShowTips("請(qǐng)選擇上傳的素材!");
    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 = "執(zhí)行結(jié)果:" + JsonConvert.SerializeObject(imageReJson);

B、在logo與 backgroup圖片上傳后,我們調(diào)用創(chuàng)建會(huì)員卡接口來(lái)創(chuàng)建會(huì)員卡,如下為DEMO

在創(chuàng)建成功后,在微信公眾平臺(tái)中有剛創(chuàng)建的會(huì)員卡套 

具體會(huì)員卡信息如下:

其中關(guān)鍵代碼:

 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 = "到店出示會(huì)員卡,由店員完成核銷";
   base_info.description = "每人限領(lǐng)取1張\r\n會(huì)員權(quán)益不可與其它優(yōu)惠同享\r\n僅限中國(guó)(本會(huì)員卡不包括港澳臺(tái)地區(qū))指定的愛(ài)瑪?shù)賹Yu店使用\r\n當(dāng)年消費(fèi)獲取的積分僅可當(dāng)年年底(既12月31日24點(diǎn))前使用,如未全部使用,則當(dāng)年的積分會(huì)于當(dāng)年年底清零,不累計(jì)到次年\r\n具體使用方式請(qǐng)咨詢專賣店工作人員。";
   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 = "所有專賣店消費(fèi)1元即可獲得1積分\r\n可參與豐富的會(huì)員專享活動(dòng),詳情參看相關(guān)門店活動(dòng)頁(yè)面";
   member_Card.auto_activate = false;
   member_Card.wx_activate = true;
 
   //積分規(guī)則
   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;
 
   //創(chuàng)建會(huì)員卡json顯示在界面上
   richTextBox2.Text = JsonConvert.SerializeObject(memberCardJson);
 
   //通過(guò)接口寫(xiě)入
   CardReJson createrejson = MemberCardInterface.Create(richTextBox1.Text, memberCardJson);
   richTextBox3.Text = JsonConvert.SerializeObject(createrejson);

C、設(shè)置測(cè)試白名單接口

若會(huì)員卡暫時(shí)未審核通,開(kāi)發(fā)者可以將測(cè)試人員的微信號(hào)設(shè)置成白名單,領(lǐng)取未審核通過(guò)的卡券。白名單狀態(tài)領(lǐng)取的卡信息不隨卡券實(shí)時(shí)更新,請(qǐng)開(kāi)發(fā)者注意。

2、設(shè)置開(kāi)卡字段

1)、設(shè)置開(kāi)卡字段接口文檔  

   開(kāi)發(fā)者在創(chuàng)建時(shí)填入"wx_activate": true字段后,需要調(diào)用該接口設(shè)置用戶激活時(shí)需要填寫(xiě)的選項(xiàng),否則一鍵開(kāi)卡設(shè)置不生效。

接口調(diào)用請(qǐng)求說(shuō)明

HTTP請(qǐng)求方式: POST URL:https://api.weixin.qq.com/card/membercard/activateuserform/set?access_token=TOKEN

參數(shù)說(shuō)明

參數(shù) 是否必須 說(shuō)明
access_token 調(diào)用接口憑證
POST數(shù)據(jù) JSON結(jié)構(gòu)

2)、設(shè)置開(kāi)卡字段DEMO

 在設(shè)置開(kāi)卡字段之前,我們查看了微信公眾平臺(tái)中會(huì)員卡的激活信息,只有必填信息,手機(jī)號(hào)

如下為調(diào)用接口程序,設(shè)置開(kāi)卡字段接口 設(shè)置姓名,手機(jī)號(hào)是必填,性別、生日、興趣選填

在調(diào)用 接口成功后,必填信息與激活信息調(diào)整見(jiàn)下

3、投放會(huì)員卡--創(chuàng)建二維碼  

1)、接口文檔  

     創(chuàng)建會(huì)員卡二維碼,打印后置于店內(nèi),顧客掃碼領(lǐng)取會(huì)員卡,掃描下方二維碼體驗(yàn)領(lǐng)取,若已領(lǐng)取可掃碼快速打開(kāi)會(huì)員卡。

    開(kāi)發(fā)者可調(diào)用該接口生成一張卡券二維碼供用戶掃碼后添加卡券到卡包。

    自定義Code碼的卡券調(diào)用接口時(shí),POST數(shù)據(jù)中需指定code,非自定義code不需指定,指定openid同理。指定后的二維碼只能被用戶掃描領(lǐng)取一次。

    獲取二維碼ticket后,開(kāi)發(fā)者可用換取二維碼圖片詳情

接口調(diào)用請(qǐng)求說(shuō)明

HTTP請(qǐng)求方式: POSTURL:https://api.weixin.qq.com/card/qrcode/create?access_token=TOKEN

參數(shù)說(shuō)明

參數(shù) 是否必須 說(shuō)明
POST數(shù)據(jù) JSON數(shù)據(jù)
access_token 調(diào)用接口憑證

POST數(shù)據(jù)

開(kāi)發(fā)者可以設(shè)置掃描二維碼領(lǐng)取單張卡券,此時(shí)POST數(shù)據(jù)為:

{
 "action_name": "QR_CARD",
 "expire_seconds": 1800,
 "action_info": {
 "card": {
 "card_id": "pFS7Fjg8kV1IdDz01r4SQwMkuCKc",
  "code": "198374613512",
 "openid": "oFS7Fjl0WsZ9AMZqrI80nbIq8xrA",
 "is_unique_code": false ,
 "outer_str":"12b"
 }
 }
}

當(dāng)開(kāi)發(fā)者設(shè)置掃描二維碼領(lǐng)取多張卡券,此時(shí)POST數(shù)據(jù)為:

{
 "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)、創(chuàng)建二維碼DEMO

用戶可以掃描這個(gè)二維碼,掃碼后,先領(lǐng)取會(huì)員卡,然后激活會(huì)員卡

 在領(lǐng)取與激活會(huì)員卡時(shí),會(huì)向開(kāi)發(fā)者接入推送事件,

<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>

開(kāi)發(fā)者在收到這些xml后,可以解析處理,比如可以同步會(huì)員的初始積分,讀取會(huì)員的基礎(chǔ)信息同步到自己的業(yè)務(wù)系統(tǒng),包括CRM或ERP等。

如下是我們接收后,做的系統(tǒng)日志:

4、同步會(huì)員卡數(shù)據(jù)/激活會(huì)員卡

1)、開(kāi)發(fā)文檔介紹

 開(kāi)發(fā)者可以在接收到事件通知后調(diào)用激活接口,傳入會(huì)員卡號(hào)、初始積分等信息或者調(diào)用拉取會(huì)員信息接口獲取會(huì)員信息,詳情請(qǐng)見(jiàn):激活會(huì)員卡接口

激活方式說(shuō)明

接口激活通常需要開(kāi)發(fā)者開(kāi)發(fā)用戶填寫(xiě)資料的網(wǎng)頁(yè)。通常有兩種激活流程:

用戶必須在填寫(xiě)資料后才能領(lǐng)卡,領(lǐng)卡后開(kāi)發(fā)者調(diào)用激活接口為用戶激活會(huì)員卡;

是用戶可以先領(lǐng)取會(huì)員卡,點(diǎn)擊激活會(huì)員卡跳轉(zhuǎn)至開(kāi)發(fā)者設(shè)置的資料填寫(xiě)頁(yè)面,填寫(xiě)完成后開(kāi)發(fā)者調(diào)用激活接口為用戶激活會(huì)員卡。

接口詳情

接口調(diào)用請(qǐng)求說(shuō)明

HTTP請(qǐng)求方式: POSTURL:https://api.weixin.qq.com/card/membercard/activate?access_token=TOKEN

參數(shù)說(shuō)明

參數(shù) 是否必須 說(shuō)明
access_token 調(diào)用接口憑證
POST數(shù)據(jù) JSON結(jié)構(gòu)

{
 "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)、同步/激活會(huì)員卡DEMO

  本DEMO中演示了修改membership_number及 初始積分,第一張圖片為原圖,第二張為同步后的圖

 5、拉取會(huì)員信息 

1)、開(kāi)發(fā)文檔介紹

接口說(shuō)明

支持開(kāi)發(fā)者根據(jù)CardID和Code查詢會(huì)員信息。

接口調(diào)用請(qǐng)求說(shuō)明

HTTP請(qǐng)求方式: POSTURL:https://api.weixin.qq.com/card/membercard/userinfo/get?access_token=TOKEN

參數(shù)說(shuō)明

參數(shù) 是否必須 說(shuō)明
POST數(shù)據(jù) JSON結(jié)構(gòu)
access_token 調(diào)用接口憑證

POST數(shù)據(jù)

{
 "card_id": "pbLatjtZ7v1BG_ZnTjbW85GYc_E8",
 "code": "916679873278"
}

返回?cái)?shù)據(jù)

{
 "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": "職業(yè)",
  "value": "",
  "value_list": [
   "賽車手",
   "旅行家"
  ]
  }
 ]
 },
 "user_card_status": "NORMAL",
 "has_active": false
}

2)、拉取會(huì)員信息DEMO

可以讀取到會(huì)員的姓名與手機(jī)號(hào)等信息,其中可以用手機(jī)號(hào)作為關(guān)鍵值與公司的CRM、ERP等對(duì)接。

 6、更新會(huì)員信息

當(dāng)前會(huì)員的積分或儲(chǔ)值在公司的CRM、ERP等系統(tǒng)中變化,這時(shí)可以通過(guò)這個(gè)接口來(lái)實(shí)現(xiàn)同步。

如下DEMO為同步會(huì)員積分:

7、設(shè)置會(huì)員失效

如下為開(kāi)發(fā)文檔中的注意事項(xiàng):

1.設(shè)置卡券失效的操作不可逆,即無(wú)法將設(shè)置為失效的卡券調(diào)回有效狀態(tài),商家須慎重調(diào)用該接口。

*2.商戶調(diào)用失效接口前須與顧客事先告知并取得同意,否則因此帶來(lái)的顧客投訴,微信將會(huì)按照《微信運(yùn)營(yíng)處罰規(guī)則》

如下是通過(guò)接口實(shí)現(xiàn)將會(huì)員失效的DEMO

8、刪除會(huì)員卡

開(kāi)發(fā)文檔中說(shuō)明是同刪除卡券接口,刪除卡券接口允許商戶刪除任意一類卡券。刪除卡券后,該卡券對(duì)應(yīng)已生成的領(lǐng)取用二維碼、添加到卡包JS API均會(huì)失效。 注意:如用戶在商家刪除卡券前已領(lǐng)取一張或多張?jiān)摽ㄈ琅f有效。即刪除卡券不能刪除已被用戶領(lǐng)取,保存在微信客戶端中的卡券。

如下是通過(guò)接口實(shí)現(xiàn)刪除會(huì)員卡功能的DEMO

到此這篇關(guān)于C#實(shí)現(xiàn)微信公眾號(hào)會(huì)員卡管理的示例代碼的文章就介紹到這了,更多相關(guān)C# 公眾號(hào)會(huì)員卡管理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論