如何开发微信礼品卡-服务端

微信礼品的官方文档,请戳微信礼品卡。

官方咨询邮箱:weixincard@tencent.com。

本文仅记录微信礼品卡后端开发相关:

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用于业务处理。但目前我只用到了对账。

开发过程中,客户的公众号授权给了第三方平台来运营,导致配置了服务器域名也无法回调到我们的服务器上,经反复确认之后,取消了原来友商的授权。消息成功的推送到了我们的服务器上。

一旦启用服务器配置,自定义菜单配置失效并停用,提供两种方案参考:

  • 效仿友商创建第三方平台(推荐,可以和客户商量增加人天)
  • 在“添加功能插件”里找到自定义菜单并启用,原配置则生效,但不可修改。(折中省事)

 

关于微信重复回调问题处理,提供两种方案参考:

  • 数据库的code字段设置为unique
  • 微信回调的FromUserName+CreateTime作为回调的值存储在redis等no-sql数据库中,每次回调时判断此值存在与否,存在则直接返回success,不存在则继续处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/18571.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文心千帆:PPT 制作、数字人主播一键开播等数十种应用场景惊艳到我了,下面给出简介和使用指南,快去使用起来吧

文心千帆:PPT 制作、数字人主播一键开播等数十种应用场景惊艳到我了,下面给出简介和使用指南,快去使用起来吧 文心千帆大模型平台是面向企业开发者的一站式大模型开发及服务运行平台。文心千帆不仅提供了包括文心一言底层模型(ER…

Linux随记(四)

一、记录ping不通,与处理方法。 问题描述: 对端链路 交换机地址IP:192.168.1.101笔记本网线直连对端交换机。配置ip192.168.1.102。 此时去Ping 192.168.1.101是通的.但是新的三层交换机连接对端交换机,vlan90 配置ip 192.168.1…

崩坏三 - 武器 - 童谣 NPR渲染分析(水体)

崩坏三 - 武器 - 童谣 NPR渲染分析(水体) 水体效果演示视频链接Shader 源码 水体效果 演示视频链接 https://www.bilibili.com/video/av68650714 Shader 源码 Shader "Water" {Properties{_WaterNormal("Water Normal", 2D) &qu…

旋转正方形怎么做html,p5.js绘制旋转的正方形_童谣_前端开发者

使用p5. 要还原的效果图 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持前端开发者。 首先建立画布大小,按照比例应该是5:3 function setup() { createCanvas(500, 300); } 设定矩形绘制格式,以…

崩坏三 - 武器 - 童谣 NPR渲染分析

崩坏三 - 武器 - 童谣 NPR渲染分析 童谣 NPR渲染演示视频链接大致想法Ramp高光效果边缘光效果镰刀刃部效果截图完整代码镰刀身体部分镰刀刃部分 童谣 NPR渲染 演示视频链接 https://www.bilibili.com/video/av68650714 大致想法 镰刀身体部分: 描边 Ramp多阶色 …

python啤酒童谣新手求助

为什么循环语句无法生效

chatgpt赋能python:Python高端玩法

Python高端玩法 如果你已经掌握了Python的基础知识,那么它还有许多高端玩法等着你去探索。在这篇文章中,我们将介绍一些Python高端玩法,包括函数式编程、元编程、异步编程、科学计算和机器学习。 函数式编程 Python是一门支持函数式编程范…

用于 LLM 应用开发的 LangChain 中文版

用于 LLM 应用开发的 LangChain 中文版 1. 模型、提示词和输出解析器1-1. 获取您的 OpenAI API 密钥1-2. Chat API : OpenAI1-3. Chat API : LangChain1-3-1. 模型1-3-2. 提示词模板 1-4. 输出解析器1-4-1. 将 LLM 输出字符串解析为 Python 字典 2. 记忆2-1. 会话缓冲区内存(Co…

MiniGPT4,开源了。

大家好,我是 Jack。 一个月前,我发布过一篇文章,讲解了 GPT4 的发布会。 ChatGPT 的对话能力,想必大家也早已体验过了,无论是文本生成能力,还是写代码的能力,甚至是上下文的关联对话能力&#…

飞书API调用尝试,实现飞书文档对于咨询的收集和实时的更新

摘要:主要就是记录一下自己从零开始做自己需要使用的脚本的过程,其中使用到chatgpt工具,也需要有记录作用,可以记录自己每天的工作进程,CSDN的是基于Markdown的方式,所以这个可以恰好植入到我的学习笔记的网…

恐怖的挥霍速度,每年烧上百亿美元,元宇宙大梦“压垮”Meta,苹果出手能否改写颓局...

点击上方“Python与机器智能”,选择“星标”公众号 第一时间获取价值内容 大数据文摘授权转载自AI前线 作者:刘燕,核子可乐 元宇宙玩家,似乎很擅长“画大饼”。 身为社交媒体巨头的掌门人,扎克伯格已经在虚拟现实之梦上…

GPT-4,大增长时代的序幕

作者|成诚 虽然我们早在 2017 年就预测了超大模型的到来,因此才搞了分布式深度学习框架 OneFlow(github.com/Oneflow-Inc/oneflow/),且 2020 年的 GPT-3 也掀起了大模型热潮(OneFlow——让每一位算法工程师…

ChatGPT4功能大全,附上一些官网推荐的例子

例子 探索一些示例应用程序的可能性 所有类别 问答 根据现有知识回答问题。 语法修正 将句子改成标准英语。 给二年级学生总结 将困难的文本翻译成更简单的概念。 自然语言到 OpenAI API 创建代码以使用自然语言指令调用 OpenAI API。 命令文本 将文本转换为编程命令。 英语到其…

《花雕学AI》34:用13种Prompt玩转AI聊天机器人—揭秘ChatGPT模型

引言: 聊天机器人是一种能够通过自然语言进行交流的智能系统,它可以模仿人类的对话方式,提供各种信息、服务或娱乐。随着人工智能技术的发展,聊天机器人的应用越来越广泛,从电商、教育、医疗、旅游等领域,到…

数字人入门文章速览

语音驱动三维人脸方法 OPPO 数字人语音驱动面部技术实践 【万字长文】虚拟人漫谈 Blendshape学习笔记 人脸重建速览,从3DMM到表情驱动动画 功能强大的python包(四):OpenCV 从Blendshapes到Animoji 3D人脸重建算法汇总 一、3D人脸重…

戴上脑机接口头盔,他用大脑跟别人「说话」

梅宁航 发自 凹非寺 量子位 报道 | 公众号 QbitAI 高位截瘫,全身器官失能,大脑还正常,却已口不能言。 怎么办? 现在最新研究进展来了——利用脑机接口,让别人跟患者的大脑直接对话。 近期,俄勒冈健康与科学…

如何用subtitle edit 将英文字幕转换成中文字幕

如何下载Subtitle edit和英文字幕转成中文字幕 Subtitle Edit是一个免费、中文化、使用方便、功能强大的影片字幕制作、同步、翻译与修改软件。这个软件内建影片即时预览功能,可以汇入与辨识字幕,支持SubRib、MicroDVD、Advanced Sub Station Alpha、Su…

whisper实践--基于whisper+pyqt5开发的语音识别翻译生成字幕工具

大家新年快乐,事业生活蒸蒸日上,解封的第一个年,想必大家都回家过年,好好陪陪家人了吧,这篇文章也是我在老家码的,还记得上篇我带大家基本了解了whisper,相信大家对whisper是什么,怎…

如何自动翻译字幕文件(机翻)

所需软件: Vscode 所需插件: Subtitles Editor 操作流程: 众所周知 vscode拥有强大的插件库,强大到甚至可以在vscode中打小霸王 插件库中搜索 Subtitles Editor ​ ​ 点击安装 支持常见的字幕文件格式(.str .vtt .sbv .sub) ​ 提前复制原英文字幕&#xff0…

Tern – 字幕组机翻小助手:自动翻译英文字幕为中英双语字幕[Win/macOS]

简介: Tern 是一款字幕文件翻译工具,它能利用 9 大主流机器翻译服务商(Google、微软、亚马逊等)对 .ass、.srt、.vtt 字幕文件进行翻译,可以减轻字幕组同学的工作量,也为那些对翻译要求不高的同学提供了啃…