常见问题:ECJia到家:ECJia到家如何新增短信模版
跳到导航
跳到搜索
目录
ECJia到家如何新增短信模板
短信模板是什么? |
短信通知对于一个商城系统是很重要的,注册时可以给会员发送短信验证码注册,下单时可以用于通知商家和用户。而每种短信都会有一个短信模板,用于定义发送短信的内容。 |
开启并配置短信插件
Step1:开启并配置短信插件
- 点击链接进行注册 ECJia 短信平台
- 配置及申请教程请参考: ECJia短信平台如何使用
新增短信模版
Step1:短信发送流程说明
- 在ECJia到家后台,短信模块中,已经预先添加了很多短信模板。但想要新增短信模板,又不想修改原有模板的情况下如何新增模板呢?
- 在这里先说明一下短信的发送流程。
- 第一步:首页需要在平台后台短信模块中,开启短信事件,添加短信模板。
- 第二步:需要把平台后台添加的模板,在ECJia短信平台中报备模板。
- 第三步:需要在接口中,触发此短信模板,传递参数就会发送短信。
Step2:短信模板参数说明
- 首先在代码中找到短信模板文件保存路径。模版文件保存在【/content/apps/sms/classes/Events】目录中。
- 模板文件中参数介绍:
- 【$code : 短信模板的参数,接口触发模板的对应的参数。定义名称,例如:确认收货模板 -> sms_express_confirm,获取验证码 -> sms_get_validate】
- 例如:
protected $code = 'sms_express_confirm';
- 【$template : 短信的具体发送模板,可根据发送内容自行定义。定义模板时,发送参数也要定义好】。
注意事项:因为此模板要到短信平台报备,所以模板中参数定义时需注意,参数前最好标明此参数的意义。
- 例如:
protected $template = '买家已成功确认收货,配送单号为:${express_sn}。如有问题请拨打客服电话:${service_phone}。';
- 禁止这种模板,参数不明确,在短信平台中报备模板是不会通过的。
protected $template = '买家已成功确认收货,${express_sn},${service_phone}。';
- 在构造函数中定义了name、description、available_values三个参数。
- 【name : 定义此短信模板的名称。】
- 【description: 定义此短信模板的描述。】
- 【available_values: 定义此短信模板发送参数的中文说明。】
- 例如:
public function __construct()
{
$this->name = __('确认收货', 'sms');
$this->description = __('买家确认收货时及时通知商家', 'sms');
$this->available_values = [
'express_sn' => __('配送单号', 'sms'),
'service_phone' => __('客服电话', 'sms')
];
}
Step3:新增一个短信模板
- 复制一个短信模板文件,修改文件名和类名。
注意事项:类名要与文件名相同。
namespace Ecjia\App\Sms\Events;
use Ecjia\App\Sms\EventAbstract;
class SmsDemo extends EventAbstract
{
protected $code = 'sms_demo';
protected $template = '发送内容:这是一个测试模板,发送参数有用户名:${name},手机号:${phone}';
public function __construct()
{
$this->name = __('模板名称测试模板', 'sms');
$this->description = __('模板描述:这是一个测试模板', 'sms');
$this->available_values = [
'name' => __('用户名', 'sms'),
'phone' => __('手机号', 'sms')
];
}
}
平台后台添加模板并报备模板
Step1:添加模板
- 平台后台找到此模板,开始短信模板,并添加模板。
Step2:报备模板
- 点击链接登录ECJia短信平台报备模板 ECJia 短信平台
接口中触发此模版
Step1:找到发送短信的接口
- 例如,需要在加入商品到购物车时,发送此短信模板,使用的接口是【cart/create】。点击链接进入 ECJia到家接口开放中心,查看到家开放接口。
- 点击链接进入 ECJia到家TestAPI调试工具使用说明,进行接口测试。
- 在代码中,找到【/content/config/api.php】文件,搜索接口【cart/create】,找到此接口存放目录。
- 【cart::cart/create】,其中【cart:代表模块名称,在/content/aps目录中对应目录】。
- 其中【cart/create:接口文件存放路径,代表/content/apps/cart/modules/cart/create_module.class.php文件】。
- 点击链接进入 ECJia到家结构目录说明,查看到家目录结构。
Step2:接口中触发短信模板
- 在接口中定义如下代码:
//发送短信数组
$options = array(
//要发送模板的手机号,例如13812341234
'mobile' => $mobile,
//短信模板的参数
'event' => 'sms_demo',
//短信模板中传递的变量
'value' =>array(
//用户名
'name' => $name,
//手机号
'phone' => $phone,
),
);
//发送短信模板API,只需把模板所需参数定义成此数组格式,传递进去即可
RC_Api::api('sms', 'send_event_sms', $options);
Step3:发送短信消息
- 可以使用ECJiaTestAPI工具,请求【cart/create】接口,进行测试。
- 也可以在平台后台,点击推送模板,进行测试。
Step4:查看发送记录
- 在平台后台,短信模块,短信记录中发送记录。