主播站form_id的使用

小程序发送模板消息时需要参数form_id,该参数在表单提交场景下,为 submit 事件带上的 [formId];支付场景下,为本次支付的 [prepay_id]。

form_id有使用次数限制并且有时效性。为了方便管理,我们在主播站中定义form_id只能使用一次。所以每次在发送模板消息之前,用户都需要通过特定的操作来获取form_id 并通过接口提交给服务器保存。

主播站中用户需要获取form_id的地方有两个:

  1. 报名参加活动。当用户报名参加活动的时候,需要获取到form_id并提交至服务器保存。
  2. 首页“预约开播提醒”。用户点击预约开播提醒按钮获取form_id提交至服务器保存。

form_id的保存规则

  1. 保存form_id至表t_notify,默认状态为1,表示form_id 可用。同时设置form_id的过期时间,默认为从保存时间起增加3天。

form_id的使用
每次发送模板消息时,需要通过用户的uid获取到一条可用的form_id.
例: select * from t_notify where status = 1 and '{$time}' <= expire_time limit 1;
发送成功后需要将这条form_id状态置为0,既不可用。
例: update t_notify set status = 1 where id = {$id}

如果发送模板时,查找不到用户的有可用form_id时,则跳过不做发送操作。

你可能感兴趣的:(主播站form_id的使用)