微信卡券之微信禮品卡後端開發

微信禮品的官方文檔,請戳微信禮品卡

官方諮詢郵箱:[email protected]

本文僅記錄微信禮品卡後端開發相關:

1.設計禮品卡數據庫表結構

請仔細閱讀微信禮品卡官方文檔,再進行數據庫表結構設計。

確保調用微信接口返回成功之後,然後再向數據庫表中插入或者修改數據。

創建禮品卡接口 

根據API,我只設計了一張表存儲禮品卡的相關信息。建議給API的每個屬性值都創建一個字段。

貼一下官方API參數示例:

{
    "card":{
        "card_type":"GENERAL_CARD",
        "general_card":{
            "sub_card_type":"GIFT_CARD",
            "background_pic_url":"https://mmbiz.qlogo.cn/mmbiz/",
            "base_info":{
                "max_give_friend_times":1,
                "giftcard_info":{
                    "price":1
                },
                "logo_url":"https://mmbiz.qlogo.cn/mmbiz/p98FjXy8LaeMq67mEpDmkj05EtiaVcGOibVaVux3Agib1ibcHFkCoic7HuQWFawx9XGCNWIO085drjdxTib2nBHlYGAA/0?wx_fmt=gif",
                "brand_name":"微信咖啡廳",
                "code_type":"CODE_TYPE_QRCODE",
                "title":"心意卡",
                "color":"Color020",
                "notice":"使用時向服務員出示",
                "service_phone":"020-88888888",
                "description":"不可與其他優惠同享",
                "date_info":{
                    "type":"DATE_TYPE_FIX_TIME_RANGE",
                    "begin_timestamp":1397577600,
                    "end_timestamp":1472724261
                },
                "sku":{
                    "quantity":50000000
                },
                "get_limit":0,
                "use_custom_code":false,
                "can_give_friend":true,
                "location_id_list":[
                    213059884
                ],
                "center_title":"頂部居中按鈕",
                "center_sub_title":"按鈕下方的wording",
                "center_url":"www.qq.com",
                "center_app_brand_user_name":"gh_86a091e50ad4@app",
                "center_app_brand_pass":"pages/index/index",
                "custom_url_name":"新品推薦",
                "custom_url":"https://www.starbucks.com.cn/",
                "custom_app_brand_user_name":"gh_86a091e50ad4@app",
                "custom_app_brand_pass":"pages/index/index",
                "need_push_on_view":true
            },
            "advanced_info":{
                "text_image_list":[
                    {
                        "image_url":"http://mmbiz.qpic.cn/mmbiz/p98FjXy8LacgHxp3sJ3vn97bGLz0ib0Sfz1bjiaoOYA027iasqSG0sjpiby4vce3AtaPu6cIhBHkt6IjlkY9YnDsfw/0",
                        "text":"此菜品精選食材,以獨特的烹飪方法,最大程度地刺激食 客的味"
                    },
                    {
                        "image_url":"http://mmbiz.qpic.cn/mmbiz/p98FjXy8LacgHxp3sJ3vn97bGLz0ib0Sfz1bjiaoOYA027iasqSG0sj piby4vce3AtaPu6cIhBHkt6IjlkY9YnDsfw/0",
                        "text":"此菜品迎合大衆口味,老少皆宜,營養均衡"
                    }
                ]
            },
            "supply_balance":true,
            "prerogative":"禮品卡享受更多優惠",
            "auto_activate":true,
            "init_balance":10000,
            "custom_field1":{
                "name":"優惠券",
                "url":"",
                "app_brand_user_name":"",
                "app_brand_pass":""
            },
            "custom_field2":{
                "name":"兌換券",
                "url":"",
                "app_brand_user_name":"",
                "app_brand_pass":""
            }
        }
    }
}

創建-禮品卡貨架接口 根據API,我設計了5張表。先貼一下官方API參數示例:

{
    "page": {
        "page_title": "禮品卡",
        "support_multi": true,
        "banner_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
        "theme_list": [
            {
                "theme_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
                "title": "title",
                "title_color": "#FB966E",
                "show_sku_title_first": true,
                "item_list": [
                    {
                        "card_id": "pbLatjiSj_yVRH5XTb2Zsln7DNQg",
                        "title": "焦糖拿鐵"
                    },
                    {
                        "card_id": "pbLatjlq75CPBR_tYCRdPlxSGlOs",
                        "title": "焦糖拿鐵"
                    }
                ],
                "pic_item_list": [
                    {
                        "background_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
                        "default_gifting_msg": "祝福語1"
                    },
                    {
                        "background_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
                        "default_gifting_msg": "祝福語2"
                    },
                    {
                        "background_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
                        "default_gifting_msg": "祝福語3"
                    }
                ],
                "category_index": 0
            },
            {
                "theme_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
                "title": "title_lalala",
                "title_color": "#FB966E",
                "item_list": [
                    {
                        "card_id": "pbLatjiSj_yVRH5XTb2Zsln7DNQg",
                        "title": "焦糖拿鐵"
                    },
                    {
                        "card_id": "pbLatjlq75CPBR_tYCRdPlxSGlOs",
                        "title": "蛋糕"
                    }
                ],
                "pic_item_list": [
                    {
                        "background_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
                        "default_gifting_msg": "祝福語1",
                        "outer_img_id": "outer_img_id_1"
                    },
                    {
                        "background_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
                        "default_gifting_msg": "祝福語2",
                        "outer_img_id": "outer_img_id_2"
                    },
                    {
                        "background_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
                        "default_gifting_msg": "祝福語3",
                        "outer_img_id": "outer_img_id_3"
                    }
                ],
                "category_index": 1
            },
            {
                "theme_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
                "title": "title_lalala",
                "title_color": "#FB966E",
                "item_list": [
                    {
                        "card_id": "pbLatjiSj_yVRH5XTb2Zsln7DNQg"
                    },
                    {
                        "card_id": "pbLatjlq75CPBR_tYCRdPlxSGlOs"
                    }
                ],
                "pic_item_list": [
                    {
                        "background_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
                        "default_gifting_msg": "祝福語1",
                        "outer_img_id": "outer_img_id_1"
                    },
                    {
                        "background_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
                        "default_gifting_msg": "祝福語2",
                        "outer_img_id": "outer_img_id_2"
                    },
                    {
                        "background_pic_url": "http://mmbiz.qpic.cn/mmbiz_jpg/p98FjXy8LafBWIJsGFe7tlPvtBFxXXTPdx5cEuFMcWWsiaR1DyrN5ML3jiaVYZibovA8OrwOylUia6ywvVU6Aqboibw/0",
                        "default_gifting_msg": "祝福語3",
                        "outer_img_id": "outer_img_id_3"
                    }
                ],
                "is_banner": true
            }
        ],
        "category_list": [
            {
                "title": "主題分類一"
            },
            {
                "title": "主題分類二"
            }
        ],
        "address": "廣州市海珠區222號",
        "service_phone": "020-12345678",
        "biz_description": "退款指引",
        "cell_1": {
            "title": "申請發票",
            "url": "https://open.weixin.qq.com"
        },
        "cell_2": {
            "title": "申請退款",
            "url": "https://mp.weixin.qq.com"
        }
    }
}
  • 禮品卡貨架貨架主表

主要記錄除了category_list和theme_list參數之外的屬性信息

  • 禮品卡貨架主題分類列表

主要記錄了 category_list參數信息,關聯貨架表主鍵ID或者微信回傳的page_id,視情況而定,我關聯的是page_id

  • 禮品卡貨架貨架主題表

主要記錄了在theme_list內除了item_list和pic_item_list參數之外的屬性信息,關聯貨架表主鍵ID或者微信回傳的page_id,視情況而定,我關聯的是page_id,關聯了禮品卡貨架主題分類列表主鍵ID

  • 禮品卡貨架主題卡片關聯表

主要記錄了item_list參數的信息,關聯了禮品卡貨架貨架主題表主鍵ID。

  • 禮品卡貨架祝福語表

主要記錄了pic_item_list參數的信息,關聯了禮品卡貨架貨架主題表主鍵ID

腦圖示例:

禮品卡卡片創建和修改相對簡單,貨架的新建和修改相對複雜。這裏我在寫邏輯的時候,設定每一個貨架主題必須綁定一個主題分類,這樣在提交給微信的時候,theme_list內category_index屬性對應到category_list都可找到對應的index值。

新建相對簡單,前端封裝好數據結構,接口接收到參數做處理即可。

編輯這裏建議前端封裝好數據結構,傳到後端。除了禮品卡貨架貨架主表做update外,先移除之前的和貨架關聯的主題分類列表、主題表、主題卡片關聯表、祝福語表,然後再新建上面4張表數據。

2.獲取access_token

建議存儲到redis,並設置有效時常

3.禮品卡接口調用

數據驗證、數據封裝,做好日誌打印、事務處理

4.卡券事件推送

卡券事件推送URL在微信公衆號裏的"開發-基本配置-服務器配置"內配置

這裏我寫了一個servlet,get用於服務器驗證,post用於業務處理。但目前我只用到了對賬。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章