通知
作为管理员,您可以使用通知的方式基于 事件向 ThingWorx 用户发送电子邮件或文本消息。
通知由一个或多个触发器组成。触发器用于定义哪些用户会收到指定事件的通知以及他们所收到的消息的内容。创建触发器时,您必须定义以下内容:
“源”- 源实体和导致通知发送的事件。
“处理程序”- 此实体用于提供发送通知消息的服务。处理程序定义了可发送内容的类型。您可以使用以下处理程序:
MailServer - 来自 Mail 扩展 (版本 3.5.0 及更高版本的扩展) 的事物。
其消息包括标题和正文。
Twilio - 来自 Twilio 扩展 (版本 3.1.0 及更高版本的扩展) 的事物。
其消息包括正文。
可从 ThingWorx Foundation 下载页面下载这些扩展。
* 
通知不能包含使用同一处理程序实体的多个触发器。如果存在多个触发器使用同一处理程序的情况,则必须另外创建一个通知实体。
“内容”- 向用户发送的消息。内容可包含触发通知的事件中的其他数据,包含其数据形状中定义的事件数据包 (请参阅 事物事件)。您可以通过使用双方括号和冒号符号来包括事件数据。例如,[[:<event_data>:]]whereevent_data 指的是事件参数的名称。该名称即向事件添加订阅时所使用的名称 (请参阅 事物订阅)。
要查找可用的事件参数,请执行以下操作:
1. 在 Composer 中,浏览至“建模” > “事物”,或“事物模板”“事物形态”,然后打开一个实体。
2. “订阅”区域中,要添加临时订阅,请单击“添加”按钮。
3. 单击“输入”区域,然后从下拉列表中选择“事件”
4. 或者,您可以从下拉列表中选择属性。
随即显示输入列表。
5. 要将参数添加到脚本区域中,请单击箭头 () 图标。
显示在脚本区域的参数名称可用于通知内容。
6. 单击“完成”
通知内容的最佳做法是使文本国际化,具体方法是在默认本地化表中创建标记并在此处定义文本。可通过以双方括号指定本地化标记名称的方式 (例如 [[<token_name>]]) 来定义通知内容。
* 
可发送的内容可能存在一些限制,具体取决于处理程序实现和用于发送消息的终端服务。例如,对于特定邮件服务器发送的电子邮件,其正文长度可能会有大小限制。Twilio 针对短信消息会有字符限制。有关详细信息,请参阅消息服务所提供的文档,以确保遵循此类内容限制。
“接收人”- 通知消息将发送至的一个或多个 ThingWorx 用户。
* 
用户必须在其“用户扩展”配置 (emailAddress 事物形态) 中指定有效的电子邮件地址 (mobilePhone 属性) 和/或移动电话号码 (UserExtensions 事物形态),才能成功接收电子邮件和/或文本消息。
文本消息会发送至指定的移动电话号码,而不会发送至短信号码 (smsAddress 属性)。
通知事件
当触发通知时,会发生以下事件:
NotificationSent
NotificationFailed
要订阅这些事件以便对其进行响应 (例如,将条目写入流或日志文件),请执行以下操作:
1. 在 Composer 中,浏览“建模” > “事物”,然后选择一个通知事物。
2. 单击“输入”选项卡,然后选择 NotificationSentNotificationFailed 事件作为订阅的输入。
3. 输入订阅逻辑。
有关详细信息,请参阅 事物订阅
导入或导出通知
通知将导出到一个包含基本通知信息和相关触发器信息的文件 (例如,NotificationDefinition_<名称>.xml)。
或者,可以在 Composer 中从“导入/导出” > “导出” > “至文件” > “实体集合”“导入/导出” > “导出” > “源控制实体”导出所有系统实体。这会将通知和触发器导出为其自己的文件,这些文件位于指定信息库的 NotificationDefinitionsNotificationContents 文件夹下。触发器不能通过指定模型标记或项目名称的方式来导出。
以下是导入通知的先决条件:
确保存在源实体和事件。
应存在处理程序实体 (MailServer 事物或 Twilio 事物)。
存在指定为接收人的用户实体。
有关详细信息,请参阅 添加通知主题。