常见问题:ECJia到家:ECJia到家如何新增消息推送模版

来自ECJiaWiki
跳转至: 导航搜索

ECJia到家如何新增消息推送模版

推送消息是什么?

推送消息是有APP时才可以使用。由商家发送,向APP用户推送某些通知消息。如商品促销信息,优惠活动,红包优惠券过期提醒等消息。


开启并配置推送消息

Step1:配置添加推送消息

新增推送模板

Step1:推送消息发送流程说明

  • 在ECJia到家后台,推送模块中,已经预先添加了很多推送模板。但想要新增推送模板,该如何操作呢?
  • 在这里先说明一下推送消息的发送流程。
  • 第一步:首页需要在平台后台推送模块中,开启推送事件,添加推送模板。
  • 第二步:需要配置Android端与IOS端推送参数。此参数值可与我方售后人员询问。
  • 第三步:需要在接口中,触发此推送模板,传递参数就会发送消息。或者在平台后台推送模块中,【群发推送】自定义发送内容。


Step2:推送模板参数说明

  • 首先在代码中找到推送模板文件保存路径。模版文件保存在【/content/apps/push/classes/Events】目录中。
  • 模板文件中参数介绍:
  • 【$code : 推送模板的参数,接口触发模版的对应的参数。定义名称,例如:商家发货 -> order_shipped,客户下单 -> order_placed】
  • 例如:
protected $code = 'order_shipped';
  • 【$template : 推送消息的具体发送模板,可根据发送内容自行定义。定义模板时,发送参数也要定义好】。
  • 例如:
protected $template = '尊敬的${user_name}用户,您的订单${order_sn}已发货,收货人${consignee},请您及时查收。';
  • 在构造函数中定义了name、description、available_values三个参数。
  • 【name : 定义此推送模板的名称。】
  • 【description: 定义此推送模板的描述。】
  • 【available_values: 定义此推送模板发送参数的中文说明。】
  • 例如:
public function __construct()
    {
    	$this->name = __('商家发货', 'push');
    	$this->description = __('当商家发货时是推送消息告知用户', 'push');
    	$this->available_values = [
	    	'user_name'    => __('会员名称', 'push'),
	    	'order_sn'     => __('订单编号', 'push'),
	    	'consignee'    => __('收货人', 'push')
    	];
    }

Step3:新增一个推送模板

  • 复制一个推送模板文件,修改文件名和类名。

  注意事项:类名要与文件名相同。

推送消息01.png
namespace Ecjia\App\Push\Events;
use Ecjia\App\Push\EventAbstract;
class OrderDemo extends EventAbstract
{
    protected $code = 'order_demo';
    protected $template = '这是一个测试推送模板,尊敬的${user_name}用户,商品收货地址${address}。';
    public function __construct()
    {
    	$this->name = __('订单测试', 'push');
    	$this->description = __('这是一个测试推送模板', 'push');
    	$this->available_values = [
	    	'user_name'    => __('会员名称', 'push'),
	    	'address'     => __('收货地址', 'push')
    	];
    }
}

平台后台添加推送模板

Step1:添加模板

  • 平台后台找到此模板,添加模板,并开启消息事件。
推送消息02.png
推送消息03.png

接口中触发此模板

Step1:找到发送推送消息的接口

  • 例如,需要在加入商品到购物车时,发送此推送消息模板,使用的接口是【cart/create】。点击链接进入 ECJia到家接口开放中心,查看到家开放接口。
  • 点击链接进入 ECJia到家TestAPI调试工具使用说明,进行接口测试。
  • 在代码中,找到【/content/config/api.php】文件,搜索接口【cart/create】,找到此接口存放目录。
短信模版 04.png
  • 【cart::cart/create】,其中【cart:代表模块名称,在/content/aps目录中对应目录】。
  • 其中【cart/create:接口文件存放路径,代表/content/apps/cart/modules/cart/create_module.class.php文件】。
  • 点击链接进入 ECJia到家结构目录说明,查看到家目录结构。
短信模版 05.png

Step2:接口中触发推送消息模板

  • 在接口中定义如下代码:
//推送消息内容数组
$options = array(
	//接收推送消息的用户ID,可传用户ID或商家ID
	'user_id'   => $user_id,
	//用户类型,用户:user,商家:merchant
	'user_type' => 'merchant',
	//推送模板参数
	'event'     => 'order_demo',
	//推送模板中参数值
	'value' => array(
		'user_name'     => $user_name,
		'address'       => $address,
	),
	'field' => array(
		'open_type' => 'admin_message',
	),
);
//推送接口API,只需要定义好数组传值即可
RC_Api::api('push', 'push_event_send', $options);

Step3:发送推送消息

  • 可以使用ECJiaTestAPI工具,请求【cart/create】接口,进行测试。
  • 也可以在平台后台,点击推送消息模板,进行测试。
推送消息04.png
推送消息05.png

Step4:前端查看

  • 在ECJia到家掌柜中,查看此推送消息。
推送消息06.jpg