Fx.message
Fx.message:和发送消息有关的API
1. 发送文本消息
Fx.message.send(<String textMessage>, <List receiverIds>, <Channel channel>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
textMessage | String | 文本消息 |
receiverIds | List | 接收人id列表 |
channel | Channel | 消息通道 |
返回值类型
APIResult
返回值说明
String
Java举例
Channel channel = Channel.Service("FSAID_bebd374");
List receiverIds = Lists.newArrayList(1000); //消息接收用户
APIResult ret = Fx.message.send("这是一条文本消息",receiverIds,channel);
Groovy举例
Channel channel = Channel.Service("FSAID_bebd374")
List receiverIds = [1000] //消息接收用户
def (error,date,errorMessage) = Fx.message.send("这是一条文本消息",receiverIds,channel)
(1).参考Channel
2. 发送卡片消息
Fx.message.send(<Card card>, <List receiverIds>, <Channel channel>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
card | Card | 卡片消息 |
receiverIds | List | 接收人id列表 |
channel | Channel | 消息通道 |
返回值类型
APIResult
返回值说明
String
Java举例
Card.Head head = Card.Head.create();
head.setTitle("head title"); //卡片标题(必填)
Card.Body body = Card.Body.create();
body.setContent("body content"); //卡片内容(必填)
body.setEntries(Maps.of("a", 1)); //卡片表格(可选)
Card.Foot foot = Card.Foot.create();
foot.setTitle("foot title"); //卡片底部(必填)
ObjectCard.Builder builder = ObjectCard.Builder.create();
builder.setHead(head);
builder.setBody(body);
builder.setFoot(foot);
builder.setObjectApiName("AccountObj"); //跳转对象的APIName(必填)
builder.setObjectId("5cbd28e47cfed9ea0cca09e4"); //跳转对象的id(必填)
Groovy举例
def card = ObjectCard.builder {
head {
title = "head title" //卡片标题(必填)
}
foot {
title = "foot title" //卡片底部(必填)
}
body {
content = "body content" //卡片内容(必填)
entries = [key: "value"] //卡片表格(可选)
}
objectApiName = "AccountObj" //跳转对象的APIName(必填)
objectId = "5cbd28e47cfed9ea0cca09e4" //跳转对象的id(必填)
}
Channel channel = Channel.Service("DSTX")
List receiverIds = [1000]
def (error,date,errorMessage) = Fx.message.send(card,receiverIds,channel)
3. 发送CRM通知
Fx.message.sendNotice(<String title>, <String content>, <List receiverIds>, <Notice notice>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
title | String | CRM通知标题 |
content | String | CRM通知内容 |
receiverIds | List | 接收人id列表 |
notice | Notice | 通知的类型,现有: defaultNotice:普通通知,Notice notice = Notice.defaultNotice() objectNotice:带对象详情页链接的crm通知,需要传对象的apiName和数据Id ,Notice notice = Notice.objectNotice(String apiName, String dataId) |
返回值类型
APIResult
返回值说明
String
Java举例
List receiverIds = Lists.newArrayList("1000", "1001");
Notice objectNotify = Notice.objectNotice("AccountObj", "5fa4de2f832a9d00012868b8");
final APIResult ret = Fx.message.sendNotice("这也是一个标题", "这个是提醒的内容", receiverIds, objectNotify);
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例
List receiverIds = ['1000', '1001']
Notice objectNotify = Notice.objectNotice("AccountObj","5fa4de2f832a9d00012868b8")
def (Boolean error, String data, String errorMessage) = Fx.message.sendNotice("这也是一个标题","这个是提醒的内容",receiverIds, objectNotify)
if (error) {
log.info(errorMessage)
} else {
log.info(data)
}
4. 抛出异常信息
Fx.message.throwErrorMessage(<String errorMessage>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
errorMessage | String | 异常信息 |
返回值类型
void
Java举例
Fx.message.throwErrorMessage(" 函数异常 ");
Groovy举例
Fx.message.throwErrorMessage(" 函数异常 ")
5. 创建企信业务群
Fx.message.createTrustGroup(<String apiName>, <String dataId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
apiName | String | 对象apiName |
dataId | String | 对象数据Id |
返回值类型
APIResult
返回值说明
Map (sessionId: 业务群Id, name: 业务群名)
Java举例
APIResult ret = Fx.message.createTrustGroup("object_94QeC__c", "5dae6f48a5083da25946e68c");
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例
def (Boolean error, Map data, String errorMessage) = Fx.message.createTrustGroup('object_94QeC__c', '5dae6f48a5083da25946e68c')
if(error) {
log.info(errorMessage)
} else {
log.info(data)
}
注意事项
- 使用该函数时需到管理后台的企信管理中开启该对象的业务群功能并做好相关配置
6. 发送邮件
Fx.message.sendEmail(<List toList>, <String subject>, <String content>, <boolean useSystemSend>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
toList | List | 接收人邮箱列表 |
subject | String | 邮箱题目 |
content | String | 邮箱正文 |
useSystemSend | boolean | 是否用系统身份发送(true 会取当前身份发送,如果取不到当前身份默认使用系统发送) |
返回值类型
APIResult
返回值说明
Java举例
List toList = Lists.newArrayList("xiexd@fxiaoke.com");
String subject = "自定义函数发件_主题";
String content = "自定义函数发件_正文";
APIResult ret = Fx.message.sendEmail(toList, subject, content, true);
Groovy举例
List toList = ["xiexd@fxiaoke.com"]
String subject = "自定义函数发件_主题"
String content = "自定义函数发件_正文"
def ret = Fx.message.sendEmail(toList, subject, content, true)
7. 发送邮件,支持抄送和密送
Fx.message.sendEmail(<EmailAttribute attribute>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
attribute | EmailAttribute | 邮件相关信息 |
返回值类型
APIResult
返回值说明
Groovy举例
List toList = ["liumh8848@fxiao.com"]
String subject = "自定义函数发件_主题112"
String content = "自定义函数发件_正文112"
List ccList = ["xiexd@fxiaoke.com"]
List bccList = []
boolean useSystemSend = true
EmailAttribute attribute = EmailAttribute.builder()
.toList(toList)
.ccList(ccList)
.bccList(bccList)
.subject(subject)
.content(content)
.useSystemSend(useSystemSend)
.build();
log.info(attribute)
def ret = Fx.message.sendEmail(attribute)
log.info(ret)
(1).参考EmailAttribute
8. 使用邮件模板和数据发送邮件
Fx.message.sendEmailByTemplate(<String templateId>, <String objectId>, <List toList>, <boolean useSystemSend>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
templateId | String | 模板id |
objectId | String | 对象数据id |
toList | List | 接收人邮箱列表 |
useSystemSend | boolean | 是否使用系统邮箱 |
返回值类型
APIResult
返回值说明
Java举例
APIResult ret = Fx.message.sendEmailByTemplate("6142e00f16bd944a7c878b77", "609ce6c2131e59000172ecfb", Lists.newArrayList("xiexd@fxiaoke.com"), true);
Groovy举例
def ret = Fx.message.sendEmailByTemplate("6142e00f16bd944a7c878b77", "609ce6c2131e59000172ecfb", ["xiexd@fxiaoke.com"], true)
9. 使用邮件模板和数据发送邮件,,支持抄送和密送
Fx.message.sendEmailByTemplate(<EmailAttribute attribute>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
attribute | EmailAttribute | 邮件相关信息 |
返回值类型
APIResult
返回值说明
Groovy举例
List toList = ["liumh8848@fxiao.com"]
List ccList = ["xiexd@fxiaoke.com"]
List bccList = []
boolean useSystemSend = true
EmailAttribute attribute = EmailAttribute.builder()
.toList(toList)
.ccList(ccList)
.bccList(bccList)
.templateId("6142e00f16bd944a7c878b77")
.objectId("609ce6c2131e59000172ecfb")
.useSystemSend(useSystemSend)
.build();
def ret = Fx.message.sendEmailByTemplate(attribute)
log.info(ret)
参考类 com.fxiaoke.functions.model.Channel
1. 企信服务号通道
Channel.Service(<String appId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
appId | String | 服务号的appId |
返回值类型
Channel
返回值说明
Channel
Java举例
Channel channel = Channel.Service("appiD"); //发送服务号
Groovy举例:
Channel channel = Channel.Service("appiD") //发送服务号
参考类 com.fxiaoke.functions.model.EmailAttribute
字段说明
参数 | 类型 | 说明 |
---|---|---|
toList | List | 接收人邮箱列表 |
ccList | List | 抄送邮箱列表 |
bccList | List | 密送邮箱列表 |
subject | String | 邮箱题目 |
content | String | 邮箱正文 |
useSystemSend | Boolean | 是否用系统身份发送(true 会取当前身份发送,如果取不到当前身份默认使用系统发送),默认为true |
templateId | String | 模板id |
objectId | String | 对象数据id |