Fx.message:和发送消息有关的API
1. send 发送文本消息
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. send 发送卡片消息
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. sendNotice 发送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. throwErrorMessage 抛出异常信息,已知的确定的异常,主要作用为中断;在函数列表页面展示结果为成功;
Fx.message.throwErrorMessage(<String errorMessage>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
errorMessage | String | 异常信息 |
返回值类型
void
Java举例
Fx.message.throwErrorMessage(" 函数中断 ");
Groovy举例
Fx.message.throwErrorMessage(" 函数中断 ")
5. throwException 抛出异常信息,未知的不确定的异常,主要作用为抛错;在函数列表页面展示结果为失败;
Fx.message.throwException(<String errorMessage>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
errorMessage | String | 异常信息 |
返回值类型
void
Java举例
Fx.message.throwException(" 函数异常 ");
Groovy举例
Fx.message.throwException(" 函数异常 ")
6. createTrustGroup 创建企信业务群
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)
}
注意事项
- 使用该函数时需到管理后台的企信管理中开启该对象的业务群功能并做好相关配置
7. sendEmail 发送邮件
Fx.message.sendEmail(<List toList>, <String subject>, <String content>, <Boolean useSystemSend>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
toList | List | 接收人邮箱列表 |
subject | String | 邮箱题目 |
content | String | 邮箱正文 |
useSystemSend | Boolean | 是否用系统身份发送(传true应该是使用系统邮箱去发件,传false的话是使用函数触发人员绑定的纷享邮箱去发件) |
返回值类型
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)
8. sendEmail 发送邮件,支持抄送和密送
Fx.message.sendEmail(<EmailAttribute attribute>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
attribute | EmailAttribute | 邮件相关信息 |
返回值类型
APIResult
返回值说明
Groovy举例
List toList = ["xiexd@fxiaoke.com"]
String subject = "自定义函数发件_主题112"
String content = "自定义函数发件_正文112"
List ccList = []
List bccList = []
boolean useSystemSend = true
String sender = "xxx@fxiaoke.com"
List attachments = [
[
"index": 0,
"name": "测试邮件附件.jpg",
"fileId":"N_202208_30_7e471b59774246f4b254c557d8d22a39.jpg",
"size": 6105397,
]
]
EmailAttribute attribute = EmailAttribute.builder()
.toList(toList)
.ccList(ccList)
.bccList(bccList)
.subject(subject)
.content(content)
.sender(sender)
.useSystemSend(useSystemSend)
.attachments(attachments)
.build();
log.info(attribute)
def ret = Fx.message.sendEmail(attribute)
log.info(ret)
(1).参考EmailAttribute
9. sendEmailByTemplate 使用邮件模板和数据发送邮件
Fx.message.sendEmailByTemplate(<String templateId>, <String objectId>, <List toList>, <Boolean useSystemSend>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
templateId | String | 模板id |
objectId | String | 对象数据id |
toList | List | 接收人邮箱列表 |
useSystemSend | Boolean | 是否使用系统邮箱(传true应该是使用系统邮箱去发件,传false的话是使用函数触发人员绑定的纷享邮箱去发件) |
返回值类型
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)
10. sendEmailByTemplate 使用邮件模板和数据发送邮件,,支持抄送和密送
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)
11. sendIMMessage 通用企信IM发送消息接口
Fx.message.sendIMMessage(<String sessionId>, <String messageType>, <String messageContent>, <int env>, <String employeeId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
sessionId | String | 需要发送到的会话id, 操作者企业需要有这个会话,并且非系统操作者需要在群内 |
messageType | String | 消息类型,常用消息类型,文本:T,图片:I,图文:MIX,文件:D,高级文本:AT,通用模板消息:UGT |
messageContent | String | 消息内容,文本为字符串,其他为对应的json格式,可以参考企信已经存在的消息格式 |
env | int | 是否互联,0:企业内,1:互联 |
employeeId | String | 发送者信息,格式 E.企业账号.员工id |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Java举例
String content = "大家好";
String employeeId = "E.78810.1004";
APIResult ret = Fx.message.sendIMMessage("d5a3f0ba6dff4c488069efdd6d00a747", "T", content, 0, employeeId);
log.info(ret);
if (ret.isError()) {
log.info(ret.message());
} else{
log.info(ret.getData());
}
Groovy举例
String content = "大家好"
String employeeId = "E.78810.1004"
def(boolean error, Map data, String message) = Fx.message.sendIMMessage("d5a3f0ba6dff4c488069efdd6d00a747", "T", content, 0, employeeId)
if (error) {
log.info("error: " + message)
} else {
log.info(data)
}
参考类 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") //发送服务号
2. 客群通道
Channel.ObjectSession(<String objectApiName>, <String id>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
objectApiName | String | 对象apiName:AccountObj |
id | String | 对象id |
返回值类型
Channel
返回值说明
Channel
Groovy举例:
Channel channel = Channel.ObjectSession("AccountObj", "61848edfd9007e00019ee222") //发送客群
参考类 com.fxiaoke.functions.model.EmailAttribute
字段说明
参数 | 类型 | 说明 |
---|---|---|
toList | List | 接收人邮箱列表 |
ccList | List | 抄送邮箱列表 |
bccList | List | 密送邮箱列表 |
attachments | List | 附件 |
subject | String | 邮箱题目 |
content | String | 邮箱正文 |
useSystemSend | Boolean | 是否用系统身份发送(传true应该是使用系统邮箱去发件,传false的话是使用函数触发人员绑定的纷享邮箱去发件),默认为true |
templateId | String | 模板id |
objectId | String | 对象数据id |
sender | String | 指定发送人邮箱(必须是后台邮件管理配置过的系统邮箱) |
attachmentZipList | List | 附件下载链接 |