反饋已提交

網絡繁忙

第三方短信接口内置

1. 概述

1.1 版本

报表服务器版本
11.0

1.2 应用场景

用户需要使用第三方短信平台发送短信。 

1.3 功能描述

平台中添加调用第三方短信平台的接口,可以根据用户的需求实现短信服务和监听服务。

注:正式服务器上使用该接口,需要购买「短信平台」功能点,并在数据决策系统中开启 短信 平台,才可以使用。

2. 接口内容

主要接口为 SMSServiceProvider 。

具体接口内容请参考:SMSServiceProvider接口 

2.1 主要接口

1)SMSServiceProvider 

public interface SMSServiceProvider extends Selectable {
    int CURRENT_LEVEL = 1;
    String XML_TAG = "SMSServiceProvider";
    /**
     * 根据内置的短信模板编号,转换成实际的第三方短信平台的短信模板
     *
     * @return 编号和实际模板的键值对集合
     */
    Map<String, String> mapping();
    /**
     * 发送测试短信
     *
     * @param mobile 接收短信的手机号
     * @return 结果
     */
    Response sendTest(String mobile);
    /**
     * FR包含的短信发送功能
     *
     * @param template 发送短信的模板(里面有参数,需要根据后面的para里的参数值进行替换)
     * @param mobile   接收短信的手机号
     * @param para     生成最终短信需要的参数
     * @param receiver 接收者(用户)
     * @return 结果
     * @throws Exception 异常
     */
    Response send(String template, String mobile, JSONObject para, String receiver) throws Exception;
    /**
     * FR包含的批量发送短信的功能
     *
     * @param template  发送短信的模板(里面有参数,需要根据后面的para里的参数值进行替换)
     * @param mobiles   接收短信的手机号列表
     * @param params    对应的生成最终短信需要的参数JSON数组
     * @param receivers 接收者(用户)列表,三个列表/数组,根据序号一一对应
     * @return 结果
     * @throws Exception 异常
     */
    Response batchSendSMS(String template, List<String> mobiles, JSONArray params, List<String> receivers) throws Exception;
    /**
     * 第三方sms服务响应
     */
    class Response {
        public final static String RES_STATUS_SUCCESS = "success";
        public final static String RES_STATUS_FAILED = "failed";
        private String status;
        private String msg;
        private JSONObject content;
        public static Response create(String status, String msg, JSONObject content) {
            if (StringUtils.isEmpty(status) || StringUtils.isEmpty(msg)) {
                return null;
            }
            if (content == null) {
                content = JSONObject.create();
            }
            return new Response(status, msg, content);
        }
        private Response(String status, String msg, JSONObject content) {
            this.status = status;
            this.msg = msg;
            this.content = content;
        }
        public String getStatus() {
            return status;
        }
        public void setStatus(String status) {
            this.status = status;
        }
        public String getMsg() {
            return msg;
        }
        public void setMsg(String msg) {
            this.msg = msg;
        }
        public JSONObject getContent() {
            if (!content.has("status")) {
                content.put("status", status);
            }
            if (!content.has("msg")) {
                content.put("msg", msg);
            }
            return content;
        }
        public void setContent(JSONObject content) {
            this.content = content;
        }
    }

2)Listener 

interface Listener {
        /**
         * 短信发送前事件处理接口
         *
         * @param text      发送短信的模板(里面有参数,需要根据后面的para里的参数值进行替换)
         * @param mobiles   接收短信的手机号列表
         * @param params    生成最终短信需要的参数JSON数组
         * @param receivers 接收者(用户)列表
         */
        void beforeSend(String text, List<String> mobiles, JSONArray params, List<String> receivers);
        /**
         * 短信发送后事件处理接口
         *
         * @param text      发送短信的模板(里面有参数,需要根据后面的para里的参数值进行替换)
         * @param mobiles   接收短信的手机号列表
         * @param params    生成最终短信需要的参数JSON数组
         * @param receivers 接收者(用户)列表
         * @param response  响应(仅在使用了第三方服务接口后且仅在发送结束后事件有效!)
         */
        void afterSend(String text, List<String> mobiles, JSONArray params, List<String> receivers, Response response);
    }
}

2.2 接口接入

<extra-core>
    <SMSServiceProvider class="com.fr.plugin.third.sms.SRGT"/>
</extra-core>

3. 示例

接口示例可参考:示例源码

提供第三方短信插件,实现第三方平台发送短信。

注1:仅为提供测试使用,不会真的发送短信,日志里可查看监听事件,具体客户使用时需自己编写代码。

注2:该插件只提供了日志模拟短信的发送,安装后平台内置的短信功能将失效。

3.1 插件下载

安装上述 Demo 使用插件的安装方法:

点击下载插件:fr-plugin-third-sms-1.0.zip

设计器插件安装方法参照 设计器插件管理 

服务器安装插件方法参照 服务器插件管理 

3.2 平台发送短信

安装插件后,短信平台中的相关功能,手机绑定验证码、登录验证码、定时调度、多级上报、模板短信相关短信发送测试单人或多人均会触发监听事件,可以看到日志中如下图所示:

注:发送测试短信不会触发监听事件。

222

附件列表


主題: 原简体文档
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉