当小程序需要向用户发送通知时,可以使用微信提供的模板消息功能来实现。在Django后端中,可以使用官方提供的WeChat official account SDK来发送模板消息。
以下是使用Django后端发送小程序微信模板消息的完整攻略:
安装和配置WeChat official account SDK
官方提供的WeChat official account SDK支持发送小程序模板消息。通过以下命令安装:
pip install wechat-sdk
在Django的settings.py中添加以下配置项:
WECHAT_APP_ID = 'your app id' # 小程序的 App ID
WECHAT_SECRET = 'your app secret' # 小程序的 App Secret
WECHAT_TEMPLATE_ID = 'your template id' # 模板消息的模板ID
获取Access Token
通过WeChat official account SDK获取小程序的Access Token,用于发送模板消息。可以在配置文件中添加以下代码:
from wechat_sdk import WechatBasic
# 实例化WeChat Basic对象,并传入app id和app secret
wechat = WechatBasic(appid=settings.WECHAT_APP_ID, appsecret=settings.WECHAT_SECRET)
# 通过WeChat Basic对象获取小程序的Access Token
access_token = wechat.get_access_token()
构造模板消息内容
构造模板消息内容时,需要根据小程序后台管理中定义的模板格式,传入对应的参数。例如下面是一个进货提醒的模板,包含商品名称、价格、进货日期等参数:
{
"keyword1": {
"value": "Nike AF1"
},
"keyword2": {
"value": "699元"
},
"keyword3": {
"value": "2022年8月1日"
}
}
通过WeChat official account SDK构造模板消息内容:
from wechat_sdk.messages import TemplateMessage
# 构造TemplateMessage对象,并传入小程序Access Token和模板ID
template_message = TemplateMessage(access_token=access_token, template_id=settings.WECHAT_TEMPLATE_ID)
# 添加模板消息内容参数
template_message.data = {
"keyword1": {
"value": "Nike AF1"
},
"keyword2": {
"value": "699元"
},
"keyword3": {
"value": "2022年8月1日"
}
}
发送模板消息
构造完模板消息内容后,就可以通过WeChat official account SDK发送模板消息。以下是发送模板消息的代码:
from wechat_sdk.exceptions import OfficialAPIError
# 发送模板消息,并获取返回结果
try:
result = template_message.send(to_user_openid='user openid')
except OfficialAPIError as e:
result = e.errmsg
# 打印返回结果
print(result)
其中,to_user_openid是接收模板消息的用户openid。
以上就是使用Django后端发送小程序微信模板消息的完整攻略。下面是两个示例:
示例一:订单支付成功通知
模板消息的模板ID:
CZZKQZiQvP5-cAxZ8DDym47zqPXTplpTS955UjyF7x8
模板消息的内容:
{
"keyword1": {
"value": "xvlj86d5"
},
"keyword2": {
"value": "100元"
},
"keyword3": {
"value": "2022年8月1日"
},
"keyword4": {
"value": "微信支付"
}
}
代码示例:
from wechat_sdk import WechatBasic
from wechat_sdk.messages import TemplateMessage
from wechat_sdk.exceptions import OfficialAPIError
# 实例化WeChat Basic对象,并传入app id和app secret
wechat = WechatBasic(appid=settings.WECHAT_APP_ID, appsecret=settings.WECHAT_SECRET)
# 通过WeChat Basic对象获取小程序的Access Token
access_token = wechat.get_access_token()
# 构造TemplateMessage对象,并传入小程序Access Token和模板ID
template_message = TemplateMessage(access_token=access_token, template_id='CZZKQZiQvP5-cAxZ8DDym47zqPXTplpTS955UjyF7x8')
# 添加模板消息内容参数
template_message.data = {
"keyword1": {
"value": "xvlj86d5"
},
"keyword2": {
"value": "100元"
},
"keyword3": {
"value": "2022年8月1日"
},
"keyword4": {
"value": "微信支付"
}
}
# 发送模板消息,并获取返回结果
try:
result = template_message.send(to_user_openid='user openid')
except OfficialAPIError as e:
result = e.errmsg
# 打印返回结果
print(result)
示例二:商品库存不足提醒
模板消息的模板ID:
5VOoKTw7FpJyEfkohjKQ7X-TM9dUFHLg8ozaXQeaRXY
模板消息的内容:
{
"keyword1": {
"value": "Nike AF1"
},
"keyword2": {
"value": "库存仅剩10件"
}
}
代码示例:
from wechat_sdk import WechatBasic
from wechat_sdk.messages import TemplateMessage
from wechat_sdk.exceptions import OfficialAPIError
# 实例化WeChat Basic对象,并传入app id和app secret
wechat = WechatBasic(appid=settings.WECHAT_APP_ID, appsecret=settings.WECHAT_SECRET)
# 通过WeChat Basic对象获取小程序的Access Token
access_token = wechat.get_access_token()
# 构造TemplateMessage对象,并传入小程序Access Token和模板ID
template_message = TemplateMessage(access_token=access_token, template_id='5VOoKTw7FpJyEfkohjKQ7X-TM9dUFHLg8ozaXQeaRXY')
# 添加模板消息内容参数
template_message.data = {
"keyword1": {
"value": "Nike AF1"
},
"keyword2": {
"value": "库存仅剩10件"
}
}
# 发送模板消息,并获取返回结果
try:
result = template_message.send(to_user_openid='user openid')
except OfficialAPIError as e:
result = e.errmsg
# 打印返回结果
print(result)
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django后端发送小程序微信模板消息示例(服务通知) - Python技术站