将消息发起者分配给指定客户。
配置
- Customer title(客户标题) - 目标客户的名称。支持使用
${metadataKey}或$[dataKey]模板化,以替换消息元数据或数据中的值。 - Create new customer if it doesn’t exist(不存在时创建新客户) - 启用后,若未找到匹配标题的客户则创建新客户。禁用时,若目标客户不存在则处理失败。
JSON Schema
消息处理算法
- 使用消息数据和元数据中的值解析 Customer title 中的模板。
- 在租户内搜索具有解析后标题的现有客户。
- 若客户不存在且 Create new customer if it doesn’t exist 已启用:
- 使用解析后的标题创建新客户
- 为新创建的客户生成
ENTITY_CREATED生命周期事件
- 若客户不存在且禁用了创建,则处理失败。
- 将发起者分配给目标客户。
- 若实体已分配给目标客户,不会进行更改,但处理仍视为成功。
- 成功完成后,消息转发至
Success连接。发生错误时,消息路由至Failure连接。
输出连接
Success- 实体已成功分配给客户,或实体已属于目标客户。
Failure- 处理过程中发生错误,例如在禁用创建时目标客户不存在。
示例
示例1 — 分配给现有客户
传入消息
发起者:DEVICE。
节点配置
1
2
3
4
{
"customerNamePattern": "My Customer",
"createCustomerIfNotExists": false
}
系统状态
- 租户下存在名为“My Customer”的客户。
- 发起者设备未分配给任何客户。
传出消息
传出消息与传入消息相同。经 Success 连接路由。
结果
设备被分配给“My Customer”。
示例2 — 为客户名称使用模式
传入消息
数据:
1
2
3
{
"region": "North"
}
元数据:
1
2
3
{
"customerType": "Premium"
}
节点配置
1
2
3
4
{
"customerNamePattern": "$[region] $${customerType}",
"createCustomerIfNotExists": false
}
系统状态
租户下存在名为“North Premium”的客户。
传出消息
传出消息与传入消息相同。经 Success 连接路由。
结果
模式 $[region] $${customerType} 通过用消息数据和元数据中的值替换得到解析,客户名称变为“North Premium”。设备被分配给“North Premium”客户。