操作步骤

#1 在微信公众号后台开通模板消息并选择一个消息模板。

发送模板消息 - 图1

#2 通过函数get_wechat_obj()获取微信SDK操作对象。

  1. $wechatObj = get_wechat_obj();

#3 根据选择的消息模板的内容示例组织要发送的模板消息数组。

  1. $tempData = array(
  2. 'touser' => $openid,
  3. 'template_id' => '4gcDgaJTBjSYjb9bi7YHvQk15Gp-3ex46yis6i0TB_0',
  4. 'url' => 'http://baidu.com',
  5. 'topcolor' => '#ff0000',
  6. 'data' => array(
  7. 'first' => array(
  8. 'value' => '您有新的代办事项',
  9. 'color' => '#173177'
  10. ),
  11. 'keyword1' => array(
  12. 'value' => '开发豆信发送模板消息功能',
  13. 'color' => '#173177'
  14. ),
  15. 'keyword2' => array(
  16. 'value' => date('Y-m-d', time()),
  17. 'color' => '#173177'
  18. ),
  19. 'remark' => array(
  20. 'value' => '点击查看详情',
  21. 'color' => '#08a5e0'
  22. )
  23. )
  24. );

#4 调用微信SDK的sendTemplateMessage()函数发送模板消息。

  1. $res = $wechatObj->sendTemplateMessage($tempData);

可以用var_dump($res)打印出$res变量获取模板消息发送结果,如果模板消息发送成功,$res变量里面会包含本次发送的模板消息msgid,通过调用后续的SDK方法可以获取模板消息被用户接收的情况。

代码示例

  1. $openid = get_openid();
  2. $wechatObj = get_wechat_obj();
  3. $tempData = array(
  4. 'touser' => $openid,
  5. 'template_id' => '4gcDgaJTBjSYjb9bi7YHvQk15Gp-3ex46yis6i0TB_0',
  6. 'url' => 'http://baidu.com',
  7. 'topcolor' => '#ff0000',
  8. 'data' => array(
  9. 'first' => array(
  10. 'value' => '您有新的代办事项',
  11. 'color' => '#173177'
  12. ),
  13. 'keyword1' => array(
  14. 'value' => '开发豆信发送模板消息功能',
  15. 'color' => '#173177'
  16. ),
  17. 'keyword2' => array(
  18. 'value' => date('Y-m-d', time()),
  19. 'color' => '#173177'
  20. ),
  21. 'remark' => array(
  22. 'value' => '点击查看详情',
  23. 'color' => '#08a5e0'
  24. )
  25. )
  26. );
  27. $res = $wechatObj->sendTemplateMessage($tempData);
  28. var_dump($res);

结果示例

发送模板消息 - 图2