通讯行为
本指南详细介绍如何在 Zion 平台中配置和使用通讯相关行为,包括微信提醒、短信通知、电话拨打、消息授权、获取手机号及唤起小程序客服。适用于需要在小程序内实现消息推送与用户互动的开发者和运营人员。
通讯行为类型
- 微信提醒
- 短信提醒
- 拨打电话
- 授权消息提醒
- 获取用户手机号
- 唤起小程序客服
微信提醒
微信提醒是小程序向用户发送通知的方式,分为小程序订阅消息和服务号通知。本行为配置较为复杂,需在行为流中使用。服务号通知行为暂不支持自助配置,请在购买技术支持服务后联系Zion 工作人员。以下是小程序订阅消息通知的配置流程。
区别说明
- 展示位置:
- 小程序订阅消息通知:集中展示在微信”服务通知”集合。
- 服务号通知:单独展示于服务号提醒,需用户关注服务号。
- 授权要求:
- 小程序订阅消息通知:需用户授权,每次授权仅可发送一次消息。
- 服务号通知:用户关注后可持续推送,取消关注则无法继续通知。
小程序订阅消息通知 | 服务号通知 |
---|---|
![]() | ![]() |
作用
- 小程序订阅消息通知:用于向用户发送小程序内的通知消息,需用户授权。
- 服务号通知:用于向关注服务号的用户发送消息,支持持续推送。
配置与输出
详细配置流程
创建消息模板与授权
详见授权消息提醒章节
发送微信提醒
需用户已授权且有剩余授权次数,必须在”行为流”中配置【微信提醒】节点。
创建行为流
- 在编辑器左上角点击【行为流】,进入行为流编辑界面。
- 新建行为流并命名,点击”输入”,根据微信提醒模板配置行为流参数(如 thing1、date2、thing4、account_id)。
- 添加并编辑代码块,参数与模板一致。
- 代码示例:
const thing1 = context.getArg('thing1')
const thing4 = context.getArg('thing4')
const date2 = context.getArg('date2')
const account_id = context.getArg('account_id')
const data = { thing1, date2, thing4 } // 按消息模板调整
const page = "pages5/lil7gbne/lil7gbne";
const gql = `mutation publishWechatMessage($data: Map_String_StringScalar,$account_id:Long!,$page:String){
publishWechatMessage(
accountId: $account_id
data: $data
miniprogramState: FORMAL
page: $page
lang: CN
templateId: "RQH7FafxS4_jQsRSN6ujLLKUoWuXpC3uLvYP1WL75Ys"
)
}`
context.runGql(
'publishWechatMessage',
gql,
{ data, account_id, page },
{ role: 'admin' }
)
- 参数说明:
page
:是点击模板卡片后跳转页面的页面路径,仅限本小程序内的页面(上面代码中’pages5/lil7gbne/lil7gbne’,‘pages5’表示页面在第5个分包中,‘lil7gbne’为页面的组件id,具体的页面路径如何获取可以参考获取页面路径 ,若要携带页面链接数据,可在后面用’?‘拼接,如’pages5/lil7gbne/lil7gbne?order_id=5’)。account_id
:接收消息的用户账户ID。miniprogramState
:跳转小程序类型,DEV为开发版;TRIAL为体验版;FORMAL为正式版;默认为正式版lang
: 默认为CN中文thing1
、thing4
、date2
及templateId
需与微信后台模板一致,其限制参考微信官方文档发送订阅消息接口 。
输出结果:
- 无直接输出结果,行为执行后会在微信端展示通知。
平台限制:
- 仅支持小程序端配置。
- 需用户已授权订阅消息,且有剩余授权次数。
注意事项:
- 确保用户已授权订阅消息。
templateId
模板ID需在微信公众平台获取,且与配置的模板一致。
效果展示
时间格式示例 | 行为配置示例 | 效果展示 |
---|---|---|
![]() | ![]() | ![]() |
授权消息提醒
用于授权微信订阅消息通知。
- 长期订阅:仅政务民生、医疗、交通、金融、教育等线下公共服务可用,授权一次可无限制推送。
- 一次订阅:常见用法,每次授权仅可发送一次消息。授权次数可累积,最多可累积50次发送权限,授权次数无上限。
注意: 发送消息权限无时间限制,授权消息提醒可在条件、其他行为成功时或修改行为成功时触发,不限于按钮点击。
配置与输出
配置流程
1. 创建消息模板
- 登录微信公众平台 ,在”订阅消息”中创建所需通知模板。
- 选择公共模板库,启用所需字段(可自定义关键词,审核通过后可用)。
2. 配置授权消息提醒
- 在行为【授权消息提醒】中选择消息模板。
- 授权成功后可执行其他交互行为。
行为选择 | 消息模板与次数配置 |
---|---|
![]() | ![]() |
⚠️
- 用户每同意一次授权,后台增加一次消息发送权限,最多可累积50次。
- 授权次数无上限,发送权限最多50次,消耗完可继续授权。
- 发送权限无时间限制,授权后可随时发送消息。
- 授权消息提醒可在多种场景下触发,不限于按钮点击。
输出结果:
- 无直接输出结果,授权成功后可执行其他交互行为。
平台限制:
- 仅支持小程序端配置
短信提醒
通过点击行为触发发送手机短信。需先配置短信模板,并在行为流中设置短信发送行为。
配置与输出
配置短信模板与签名
- 登录 Zion 平台,进入”发送短信设置”页面。
- 上传营业执照,完成企业资质认证。
- 配置短信签名(如【函子科技】),一个项目仅能设置一个签名,审核通过后不可更改。
- 设置短信模板:填写模板名称、分类(建议选择”短信通知”)、描述及内容(支持变量如
$(username)
、$(variable)
),模板内容变量需用字符隔开,内容不能包含【】,首尾不能为[]。 - 提交模板审核,审核通过后方可使用。
委托书授权
- 授权书需法定代表人/负责人签字,签署日期需完整填写。
- 被授权方为”函子科技(上海)有限公司”。
- 实际申请签名与授权书保持一致。
- 签名来源需为公众号或小程序,并在描述中说明用途及小程序/公众号名称。
注意:审核中/通过的模板不可修改。
模板配置页面 | 模板详情页面 |
---|---|
![]() | ![]() |
触发短信发送
- 在 Zion 行为流中新建行为流(如”购买成功短信通知”)。
- 定义入参:
phone_number
:接收短信手机号(必填,文本类型)。username
:用户名(如模板中有该参数)。variable
:服务内容(如模板中有该参数)。
- 添加代码块操作,参数名称与入参一致。
- 编写代码(
templateCode
需联系 Zion 工作人员获取):
const phone_number = context.getArg('phone_number') // 获取手机号
const variable = context.getArg('variable') // 获取服务内容
const username = context.getArg('username') // 获取用户名
const gql = `mutation sendMessage($phone_number: String, $variable: String, $username:String ){
sendSmsByTemplateId(
phoneNumber: $phone_number,
templateParams: {variable:$variable,username:$username},
templateCode: "SMS_276195458"
)
}
`
context.runGql(
'sendMessage',
gql,
{ phone_number, variable, username },
{ role: 'admin' }
)
短信行为流入参配置 | 短信代码块参数配置 | 短信代码块编辑页面 |
---|---|---|
![]() | ![]() | ![]() |
输出结果:
- 无直接输出结果,行为执行后会在微信端展示通知。
平台限制:
- 仅支持小程序端配置。
- 短信模板需审核通过后方可使用。
- 短信发送需在行为流中配置。
拨打电话
点击时拨打配置好的客服电话或通过手机号联系小程序用户。
配置与输出
电话号码:需要拨打的电话号,支持数据绑定(如页面变量变量)。
输出结果:
- 无直接输出结果,行为执行后会触发系统拨号功能。
平台限制:
- 仅支持小程序端配置。
- Web 端:通过”打开外部链接”行为,使用
tel://+手机号码
调起系统拨号功能,适用于 Mac OS(优先 Facetime)、Windows(优先 Skype)、安卓、iOS。
拨打电话行为选择 | 号码输入界面 |
---|---|
![]() | ![]() |
获取用户手机号
通过点击行为获取当前微信用户的手机号码。
配置与输出
配置流程:
- 在页面添加页面变量
phone_number
,类型为”文本”。 - 为组件添加”获得电话号码”行为,将手机号赋值给页面变量。可在成功时将手机号赋值给输入框或写入数据库。
行为选择 | 赋值页面变量 |
---|---|
![]() | ![]() |
输出结果:
- 无直接输出结果,行为执行后会在页面变量中存储手机号。
平台限制:
- 仅支持小程序端配置。
- 仅认证为企业/政府的小程序可用,个人小程序无法使用。
- 该行为为系统行为,仅能通过点击触发,不能配置在”成功时”中。
唤起小程序客服
用户可通过小程序客服消息功能与客服沟通。企业微信组织可接入企业微信客服。
配置与输出
配置流程:
- 登录微信公众平台,进入功能-客服入口,选择小程序客服/微信客服,设置客服微信号并保存。
- 在小程序内添加按钮组件,配置”唤起小程序客服”行为,用户点击后可进入客服会话页面。
行为选择 | 点击唤起 |
---|---|
![]() | ![]() |
效果展示: 已使用过的小程序客服消息会聚合显示在微信”客服消息”盒子内,用户可在小程序外查看历史消息并继续沟通。
线上效果 | 点击唤起 |
---|---|
![]() | ![]() |
输出结果:
- 无直接输出结果,行为执行后会打开小程序客服会话页面。
平台限制:
- 仅支持小程序端配置。
- 小程序客服为系统行为,不能嵌套在其他行为(如修改行为的成功时、条件中等)。
Last updated on