Zion 通讯行为
本指南详细介绍如何在 Zion 平台中配置和使用通讯相关行为,包括微信提醒、短信通知、电话拨打、消息授权、获取手机号及唤起小程序客服。适用于需要在小程序内实现消息推送与用户互动的开发者和运营人员。
通讯行为类型
- 微信提醒
- 短信提醒
- 拨打电话
- 授权消息通知
- 获取用户手机号
- 唤起小程序客服
微信提醒
应用场景
移动应用除了通过交互界面与用户互动外,通知用户和唤回用户也是重要场景。例如:通知发货、外卖送达、新活动报名等。用户可通过点击通知卡片快速进入小程序。
- 小程序订阅消息分为“长期订阅消息”和“一次性订阅消息”。目前长期订阅仅开放给政务民生、医疗、交通、金融、教育等线下公共服务领域。普通小程序一般只能使用“一次性订阅消息”。
小程序订阅消息通知 | 服务号通知 |
---|---|
![]() | ![]() |
区别说明
- 展示位置:
- 小程序订阅消息通知:集中展示在微信“服务通知”集合。
- 服务号通知:单独展示于服务号提醒,需用户关注服务号。
- 授权要求:
- 小程序订阅消息通知:需用户授权,每次授权仅可发送一次消息。
- 服务号通知:用户关注后可持续推送,取消关注则无法继续通知。
配置流程
- 创建消息模板与授权消息提醒(详见“授权消息提醒”章节)。
- 发送微信提醒:需用户已授权且有剩余授权次数,必须在“行为流”中配置【微信提醒】行为。
- 添加行为流:
- 在编辑器左上角点击【行为流】,进入行为流编辑界面。
- 新建行为流并命名,点击“入参”,根据短信提醒模板配置参数(如 thing1、date2、thing4、accountId)。
- 添加并编辑代码块,参数与模板一致。
- 代码示例:
const thing1 = context.getArg('thing1')
const thing4 = context.getArg('thing4')
const date2 = context.getArg('date2')
const accountId = context.getArg('accountId')
const data = { thing1, date2, thing4 } // 按消息模板调整
const gql = `mutation publishWechatMessage($data: Map_String_StringScalar,$accountId:Long!){
publishWechatMessage(
accountId: $accountId
data: $data
miniprogramState: FORMAL
page: "pages/lil7gbne/lil7gbne"
lang: CN
templateId: "RQH7FafxS4_jQsRSN6ujLLKUoWuXpC3uLvYP1WL75Ys" // 替换为实际模板ID
)
}`
context.runGql(
'publishWechatMessage',
gql,
{ data, accountId },
{ role: 'admin' }
)
- 参数说明:
page
:点击模板卡片后跳转的小程序页面(页面组件ID可在页面右上角复制)。accountId
:接收消息的用户账户ID。thing1
、thing4
、date2
及templateId
需与微信后台模板一致。
效果展示
时间格式示例 | 行为配置示例 | 效果展示 |
---|---|---|
![]() | ![]() | ![]() |
短信提醒
通过点击行为触发发送手机短信。需先配置短信模板,并在行为流中设置短信发送行为。
配置流程
- 配置短信模板
- 上传营业执照
- 发送短信设置:上传营业执照后可配置短信模板。短信签名为短信内容前缀(如【函子科技】),一个项目仅能设置一个签名,审核通过后不可更改。
- 委托书注意事项
- 授权书需法定代表人/负责人签字。
- 签署日期需完整填写。
- 被授权方为“函子科技(上海)有限公司”。
- 实际申请签名与授权书一致。
- 短信签名:在发送短信设置中配置。
- 签名来源:公众号或小程序。
- 描述:说明用途及小程序/公众号名称。
- 设置短信模板:填写模板名称、分类(建议选择“短信通知”)、描述及内容(支持变量如
$(username)
)。
注意:审核中/通过的模板不可修改,模板内容变量需用字符隔开,内容不能包含【】,首尾不能为[]。
模板配置页面 | 模板详情页面 |
---|---|
![]() | ![]() |
- 触发短信发送
- 在 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。
授权消息提醒
用于授权微信订阅消息通知。
长期订阅与一次订阅区别
- 长期订阅:仅政务民生、医疗、交通、金融、教育等线下公共服务可用,授权一次可无限制推送。
- 一次订阅:常见用法,每次授权仅可发送一次消息。授权次数可累积,最多可累积50次发送权限,授权次数无上限。
注意: 发送消息权限无时间限制,授权消息提醒可在条件、其他行为成功时或修改行为成功时触发,不限于按钮点击。
配置流程
- 创建消息模板
- 登录微信公众平台 ,在“订阅消息”中创建所需通知模板。
- 选择公共模板库,启用所需字段(可自定义关键词,审核通过后可用)。
- 配置授权消息提醒
- 在行为【授权消息提醒】中选择消息模板。
- 授权成功后可执行其他交互行为。
行为选择 | 消息模板与次数配置 |
---|---|
![]() | ![]() |
⚠️
- 用户每同意一次授权,后台增加一次消息发送权限,最多可累积50次。
- 授权次数无上限,发送权限最多50次,消耗完可继续授权。
- 发送权限无时间限制,授权后可随时发送消息。
- 授权消息提醒可在多种场景下触发,不限于按钮点击。
特别提醒
- 该行为仅支持小程序端配置。
- 授权配置完成后即可使用微信提醒等功能。
获取用户手机号
通过点击行为获取当前微信用户的手机号码。
配置流程
- 在页面添加页面数据
phone_number
,类型为“文本”。 - 为组件添加“获得电话号码”行为,将手机号赋值给页面数据。可在成功时将手机号赋值给输入框或写入数据库。
行为选择 | 赋值页面数据 |
---|---|
![]() | ![]() |
特别提醒
- 仅支持小程序端配置。
- 仅认证为企业/政府的小程序可用,个人小程序无法使用。该行为为系统行为,仅能通过点击触发,不能配置在“成功时”中。
唤起小程序客服
用户可通过小程序客服消息功能与客服沟通。企业微信组织可接入企业微信客服。
配置流程
- 登录微信公众平台,进入功能-客服入口,选择小程序客服/微信客服,设置客服微信号并保存。
- 在小程序内添加按钮组件,配置“唤起小程序客服”行为,用户点击后可进入客服会话页面。
行为选择 | 点击唤起 |
---|---|
![]() | ![]() |
- 已使用过的小程序客服消息会聚合显示在微信“客服消息”盒子内,用户可在小程序外查看历史消息并继续沟通。
线上效果 | 点击唤起 |
---|---|
![]() | ![]() |
特别提醒
- 仅支持小程序端配置。
- 小程序客服为系统行为,不能嵌套在其他行为(如修改行为的成功时、条件中等)。
Last updated on