Notification Service¶

构想¶

MindSphere 提供了许多功能来生成大量有用信息。通常情况下需要将这些信息快速传送给操作员或客户,以便其能够及时做出反应。

Notification Service 提供了接口,通过电子邮件、推送通知或短信在 MindSphere 用户之间传达及共享信息。

访问¶

Notification Service API 仅适用于开发者或操作员租户。

只能由第三方应用通过 Token Management Service 发放的技术授权令牌访问 Notification Service API。请注意,hosttenant 和 usertenant 必须设置为应用运行的租户。

Notification Service 角色和范围中列出的 Notification Service 特定角色/组将不会明确提供,但 mdsp:core:nose.mobileappuser 角色除外(该角色已在Developer Cockpit的授权管理中提供)。

基础知识¶

Notification Service 使用不同的控制器进行通信和信息传输。每个控制器都提供了多种消息处理任务。以下列表描述了每个控制器的内容:

通信通道

此资源提供有关可用通信通道的信息。其列出了所有活跃的通信类型(包含通道 ID 和通道名称),例如电子邮件和推送通知。

地址类型

此资源列出了接收人服务支持的所有地址类型,例如个人邮件、办公邮件或推送通知。

收件人

通过此 API 控制器,您可以使用*子邮件和电话详细信息创建新收件人,并使用 API​​ 调用管理账户。您可以按收件人名称进行搜索,并根据收件人 ID 查找收件人。

Thymeleaf 可用作 HTML 模板引擎。因此,模板应该使用 thymeleaf 变量。

证书存储

证书存储控制器管理收件人的认证系统。您可以更新、检查、检索和删除收件人的证书。

模板参数

此资源提供有关模板参数的信息。您可以使用此 API 为请求的模板集获取可用的模板参数。

模板管理器

模板管理器允许您使用模板发送电子邮件和推送通知等消息。还可以在现有模板中合并模板参数。通过 API,您可以获得可用模板的列表,并查看模板的详细信息和内容。每个模板都有一个 ID。

通信类别

通信类别控制器负责管理通信类别。每个类别都有一个 ID。您可以创建和删除类别。通信类别控制器允许您将收件人分为不同的类别进行管理。您还可以从类别中取消订阅收件人。例如,技术支持团队可以使用收件人和模板创建一个类别来定义一个通信类别。

加密服务

加密服务控制器加密抄送邮件、电子邮件和纯文本。如果触发消息的任何收件人都没有相应的证书,电子邮件通知将以未加密的形式发送给所有收件人。对于通过 PGP 或 S/MIME 加密的电子邮件,使用 noreply@mindsphere.io 进行签名。用户可以在 https://pgp.mit.edu/ 中下载 PGP 证书的公钥,以便在其电子邮件客户端中安装。

消息发布者

消息发布者控制器是 Notification Service 的基本组件。它将消息发布到队列,以便进一步处理并路由到适当的通道。

通信服务审核

通信服务审核控制器将消息保存在数据库中,并将消息信息记录在审核文件中。您可以使用 API 搜索数据库中存储的审核。这些消息存储在一个审核日志中,该日志最多可使用三个月。

功能¶

Notification Service 公开其 API 以实现以下任务:

数字证书管理:上传/更新/删除用于电子邮件加密的公共证书。无法上传过期的证书。证书过期后,在再次上传有效证书之前,不会发送加密电子邮件。

HTML 模板管理:为电子邮件通知使用预定义的 HTML 模板。上传不同的 HTML 模板,并将其重复用于不同的通知通道。

配置:配置 HTML 模板和收件人或收件人组。为目标用户使用唯一的配置名称并重复使用该配置。

安全性:使用不同的电子邮件加密机制,例如 PGP 或 S/MIME。使用与预期收件人不同的公共证书类型来加密消息。

审核日志:通过审核日志跟踪发送通知的历史记录。

电子邮件通道的广播功能:向租户的所有用户,包括子租户的用户或特定的用户组发送未加密的电子邮件(密送)。

推送通知:移动应用(Android 或 iOS) 必须在 FCM/APNS 注册才能接收推送通知。

限制和局限性¶

电子邮件和推送通知不应用于对时间敏感的应用,因为 MindSphere 并不拥有整个通信链。

交付和模板的电子邮件地址不区分大小写,并转换为小写。

PGP 加密只适用于纯文本电子邮件。使用预定义 HTML 模板的电子邮件将无法正常工作,因为在解密后将显示 HTML 变量,而不是渲染 HTML 变量。

客户/开发者负责管理其公共证书,如证书到期、更换过期证书等。Notification Service 将发送带有过期证书的加密电子邮件。但是,实际收件人将无法使用过期的证书解密电子邮件。

无效的电子邮件地址将在第一次回弹事件(拒绝)后立即被列入黑名单。租户不能再向黑名单上的电子邮件地址发送电子邮件。

如果租户在最多 7 天内向无效地址发送了 10 封电子邮件,则会向租户管理员发送一封警告电子邮件。如果租户继续向无效的电子邮件地址发送电子邮件,并且租户的回弹率超过 5%,则禁用其使用 Notification Service 发送电子邮件的功能。在这种情况下,租户管理员必须联系 MindSphere 支持团队。

服务可能会返回429状态码说明正在进行临时限流。

说明

回弹的电子邮件视为是从租户账户发出。

每封电子邮件的最大收件人数为 50。收件人是“收件人”、“抄送”或“密送”中列出的任何电子邮件地址。

超过 250 kB 的电子邮件必须使用模板。

每个租户的单个用户(令牌邮件地址)最多添加3个设备实例。

China 1 区域反垃圾电子邮件

对于 China 1 区域, 文本内容未通过阿里巴巴文本垃圾内容检测的电子邮件将被拦截。

示例场景¶

风力发电厂的管理器在风速超过某一水平时会触发推送通知。

管理器通过 API 将 Notification Service 与风力涡轮机的 aspect 数据相连接。风速为 8 km/h 时,风力涡轮机管理员会收到通知。风速为 9 km/h 时,会向预定义的服务用户列表发送额外的通知,以便采取进一步行动。

还有问题?

leafnotification_Notification Service相关推荐

  1. struts2 与 sping 整合 控制器中 service注入的问题

    以个人见解认为struts1 与spring整合的时候按照习惯,我们会把 action 控制器直接配置到sping中去: eg : 这里以使用元注解方式实现Service注入进行讲解: 控制器关键代码 ...

  2. java action dao_java中Action层、Service层和Dao层的功能区分

    一.Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DA ...

  3. Android中Service生命周期、启动、绑定、混合使用

    一.Activity和Service如何绑定: 1.Service和Activity之间的连接可以用ServiceConnection来实现.实现一个ServiceConnection对象实例,重写o ...

  4. CentOS7下启动Nginx出现Failed to start nginx.service:unit not found

    错误的原因就是没有添加nginx服务,所以启动失败. 解决方法: 1.    在/root/etc/init.d/目录下新建文件,文件名为nginx 或者用命令在根目录下执行:# vim /etc/i ...

  5. CentOS7 service network start命令启动时报错解决方法

    service network start命令启动时报错: [root@localhost network-scripts]# service network start Starting netwo ...

  6. android Service 的使用

    1 Service 简介 Service 是Android 四大组件之一 一般在后台运行,无用户界面,用户无法看到. Service主要用于组件之间交互(例如:与Activity.ContentPro ...

  7. Web Service 安全性解决方案(SOAP篇)

    拼吾爱程序人生 » 软件编程 » Visual Studio.NET » Web Service » Web Service 安全性解决方案(SOAP篇) Web Service 安全性解决方案(SO ...

  8. Hibernate **关于hibernate4.3版本之后org.hibernate.service.ServiceRegistryBuilder被弃用**

    之前一直都是使用hibernate4.2.21的我,有一天突然没有使用本地的jar包而是让IDEA自动下载最新版本的hibernate5.2.2之后,发现有几个经常使用的方法报错了. //创建配置对象 ...

  9. [转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分

    首先这是现在最基本的分层方式,结合了SSH架构.modle层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操 ...

最新文章

  1. datagridview 点击列标题排序
  2. python绘制pr曲线图_如何利用Python制作可以动的动态图表。
  3. 208. 实现 Trie (前缀树)
  4. 前端学习(1408):多人管理28用户信息展示
  5. MongoDB Shell操作
  6. 用css3和jQuery制作精美的表单
  7. 共享会话怎么设置没访问自动断开_谁总结的JavaWeb会话技术了?太全面了...
  8. 更新 箫心病毒分析专家2006 build 5.23(C#2.0)
  9. Executor Framework
  10. eclipse版本号 备注
  11. 代理设计模式 实现 Retrofit 的 create
  12. 深度卷积神经网络(一)
  13. 思维导图编辑最常用的几种Edraw Max(亿图)快捷键
  14. matlab解方java_Java:调用window的matlab遇到的问题和解决方案
  15. 失去了翅膀,却依然坚信只要拼搏就可以飞翔
  16. 微信小程序获取当前时间及获取当前日期
  17. python 文件命令_python中写入文件数据及文件定位操作命令
  18. 基于simulink的双闭环矢量控制的电压型PWM整流器仿真
  19. 五句话介绍Hessian序列化
  20. SWCTF2022Writeup

热门文章

  1. 山东大学创新实训---前端原型设计以及环境配置
  2. 网络营销与传统营销的区别及优缺点
  3. 打标签的U盘,win10不认服务未开启
  4. 使用protobuf作为游戏网络通讯的协议
  5. 基于 Paraview 扩展与实现——(2)
  6. 二分法解一元三次方程c语言,电子技术的应用用二分法解一元三次方程的C++程序:保护环境的广告语...
  7. chunk-vendors.js 语法错误
  8. urlrewriter 用法
  9. finalize()介绍
  10. python均线斜率_【每日一策】Matlab量化交易策略之 均线拐头配合出场