臭名昭著aTrust隔离计划1.臭名昭著aTrust隔离计划2.VPN原理与aTrust隔离网络实践3.docker-easyconnect到底做了什么4.TUN(tunnel-隧道-虚拟网卡)模式
基于Quartz搭建的个人博客1.Quartz个人博客使用教程2.使用 rsync 增量部署 Quartz 博客3.使用 GitHub Actions 自动部署 Quartz 博客5.域名绑定6.CDN加速Obsidian、双向链接与知识图谱
旅行
行程攻略青岛三日游行程攻略
前端
NginxNginx配置与反向代理入门
Nodenpm与npx的区别
中华财险-公司项目
对外接口文档
基础数据码表对外接口(仅支持rpc调用)业务码表对外接口应用主数据对外接口
基础运营查询版本更新日志详情消息中心对外接口站内信对外接口站内信模板配置手册
权限中心权限中心对外接口文档(最新)权限中心对外接口文档前端ACL-CORE FACADE依赖版本
审计中心审计中心对外接口文档audit-center-facade版本
审批中心工作流迁审批流现状工作流迁审批流API能力替换方案老审批流接口文档审批中心接口文档审批中心业务回调FAQ
账号中心内部系统对接单点登录内部系统对接认证中心三方网页应用登录授权账号中心对外接口文档前端账号中心RPC接口文档账户变更对外广播消息文档账户中心对外接口HRMS外部员工变更广播消息文档HRMS外部员工对外接口
组织员工岗位🔥机构映射SDK接口文档员工岗位变更通知说明组织机构管营一体概念与用法组织员工对外广播消息文档组织员工岗位对外接口文档组织员工岗位对外接口文档前端组织员工岗位数据模型组织员工主数据业务场景案例organization-facade版本
hrms(大型人力资源外包管理系统)
项目架构说明HRMS Maven模块与依赖说明
项目说明0.流程中心模块0.组织模块说明1.业务线模块2.计划模块3.项目模块4.协议模块5.供应商模块6.合约域模块7.外包人员模块*核心:外包人员生命周期
项目运维外包人员项目编制差异排查与修复2.HRMS相关问题排查4.修改externalId(externalId和accountId不一致)
需求-系分
1.内部转外包0723外包人员关联历史内部账号系分新增外包人员关联历史账号内容(紧急0723上线)需求
2.工作岗位0820工作岗位0820需求工作岗位0820需求-系分
3.用工模式调整0917内部人员转外包用工系统需求2内部人员转外包用工系统需求-系分
sso(账号中心-单点登录)
项目架构说明aboss-sso项目架构入门AOP统一日志打印链路Maven多模块项目高级知识OAuth2.0
项目说明1.SSO-OAuth2.0与IDaaS登录流程2.外部账号创建流水号并发问题分析
AI
使用说明
第三方插件&技能简介Archify使用与安装指南Ponytail使用指南
CodexCodex CLI与IDE区别及使用指南Codex Hook单独配置与提交通知Codex MCP安装与使用指南Codex第三方插件安装与使用指南
Agent开发1.LLM、Token、上下文窗口与模型参数2.大模型 API、请求参数与响应结构3.Spring AI ChatClient4.Prompt、System Prompt、Prompt 模板6.结构化输出、JSON Schema7.SSE 流式响应8.会话 ID、聊天记录、Redis9.超时、重试、限流、降级10.完成可运行聊天接口
GitGit常用命令与Obsidian推送排查
Java
面试题Java基础与集合面试题
AtomicInteger原子计数与并发安全ConcurrentHashMap并发安全与计数Java线程、线程池与Future
python
基础Python基础语法
HTTPXHRMS员工详情接口调用(Python HTTPX)

https://cic_irc.yuque.com/tyl581/ggwv9w/gg0w87ex0pgmxp2t

依赖信息


<dependency>
  <groupId>com.aliyun.fsi.insurance</groupId>
  <artifactId>message-core-facade</artifactId>
  <version>1.2.0-RELEASE</version>
</dependency>

API


消息发送

API

com.aliyun.fsi.insurance.messagecore.facade.api.MessageRpcFacade#send

参数含义是否必填
receiverList接收人列表,最多100个工号
appId应用Id,在应用管理平台查看应用
channelCode渠道code,消息中心渠道的code
bizId业务id
messageType消息类型(IMAGE,LINK,TEMPLATE,TEXT,

ACTION_CARD,MARKDOWN)
content消息的内容
templateCd消息模板code消息类型为模板的时候必须
linkUrl消息链接消息类型为链接消息时候必须
text消息文本消息类型为文本消息,链接消息时候必须 500 字符之内
title消息标题是,除了模板消息,都是必须的 100字符之内
context消息上下文,用于替换消息占位符

建议使用如下示例代码进行消息发送

示例

使用 MessageBuilder 进行消息入参的设定

站内信文本消息发送示例

//文本消息BO
TextBO textBO = new TextBO();
//消息上下文信息,用于存储变量,用于替换占位符${}信息,如果消息内容没有占位符信息,那么就不用msgContext
Map<String, Object> msgContext = new HashMap<>();
msgContext.put("myMsg","第一个消息发送");
textBO.setContext(msgContext);
textBO.setText("这是我的第一个消息,消息内容是${myMsg}");
textBO.setTitle("消息标题");
MessageRequest<TextBO> request = MessageBuilder.internalTextMessage(textBO, "应用平台的APPID,在应用管理可以看到", "自己业务的唯一单号");
//接收人
ArrayList<String> accIds = new ArrayList<>();
accIds.add("100010501");
request.setReceiverList(accIds);        
messageRpcFacade.send(request);
站内信链接消息发送示例
//链接消息BO
LinkBO linkBO = new LinkBO();
linkBO.setText("这是我的第一个消息");
linkBO.setTitle("link消息标题");
linkBO.setLinkUrl("http://www.baidu.com");
MessageRequest<LinkBO> request = MessageBuilder.internalLinkMessage(linkBO, "应用平台的APPID,在应用管理可以看到", "自己业务的唯一单号");
//接收人
ArrayList<String> accIds = new ArrayList<>();
accIds.add("zhex2023121400001510");
request.setReceiverList(accIds);
messageRpcFacade.send(request);
站内信模板消息发送示例

//模板消息BO
TemplateBO templateBO = new TemplateBO();
//消息上下文信息,用于存储变量
//消息上下文信息,用于存储变量,用于替换占位符${}信息,如果消息内容没有占位符信息,那么就不用msgContext
Map<String, Object> msgContext = new HashMap<>();
msgContext.put("myMsg","第一个消息发送");
templateBO.setContext(msgContext);
templateBO.setTemplateCd("模板ID,在消息中心进行配置的ID");
//如果模版里配置的调用方传入,则需要给LinkUrl赋值
//如果模版里配置的是固定链接,则不需要给LinkUrl赋值
templateBO.setLinkUrl("http://ww.xs.ds?id=${myId}");
templateBO.setTitle("消息标题");
MessageRequest<TemplateBO> request = MessageBuilder.internalTemplateMessage(templateBO, "应用平台的APPID,在应用管理可以看到", "自己业务的唯一单号");
//接收人
ArrayList<String> accIds = new ArrayList<>();
accIds.add("100010501");
request.setReceiverList(accIds);       
messageRpcFacade.send(request);
其他渠道文本消息发送示例(钉钉)
//文本消息BO
TextBO textBO = new TextBO();
//消息上下文信息,用于存储变量,用于替换占位符${}信息,如果消息内容没有占位符信息,那么就不用msgContext
Map<String, Object> msgContext = new HashMap<>();
msgContext.put("myMsg","第一个消息发送");
textBO.setContext(msgContext);
textBO.setText("这是我的第一个消息,消息内容是${myMsg}");
textBO.setTitle("消息标题");
MessageRequest<TextBO> request = MessageBuilder.text(textBO,"MC10001消息中心配置的渠道","应用平台的APPID,在应用管理可以看到", "自己业务的唯一单号");
//接收人
ArrayList<String> accIds = new ArrayList<>();
accIds.add("100010501");
request.setReceiverList(accIds);        
messageRpcFacade.send(request);
其他渠道模板消息发送示例(钉钉消息)
TemplateBO templateBO = new TemplateBO();
//消息上下文信息,用于存储变量
//消息上下文信息,用于存储变量,用于替换占位符${}信息,如果消息内容没有占位符信息,那么就不用msgContext
Map<String, Object> msgContext = new HashMap<>();
msgContext.put("myId","10086110");
templateBO.setContext(msgContext);
templateBO.setTemplateCd("模板ID,在消息中心进行配置的ID");
//如果模版里配置的调用方传入,则需要给LinkUrl赋值
//如果模版里配置的是固定链接,则不需要给LinkUrl赋值
templateBO.setLinkUrl("http://www.baidu.com?search=${myId}");
templateBO.setTitle("消息标题");
MessageRequest<TemplateBO> request = MessageBuilder.template(templateBO, "MC10001消息中心配置的渠道","应用平台的APPID,在应用管理可以看到", "自己业务的唯一单号");
//接收人
ArrayList<String> accIds = new ArrayList<>();
accIds.add("100010501");
request.setReceiverList(accIds);
messageRpcFacade.send(request);
其他渠道图片消息发送示例(钉钉消息)
//图片消息BO
ImageBO imageBO = new ImageBO();
//消息上下文信息,用于存储变量,用于替换占位符${}信息,如果没有${},那么就不用msgContext
Map<String, Object> msgContext = new HashMap<>();
msgContext.put("myMsg", "第一个消息发送");
imageBO.setContext(msgContext);
imageBO.setImageUrl("http://xinyidai-static-oss-nonprod.oss-cn-dalian-cic-d01-a.ops.cloud.cic.inter/public/2024-07-25/172918693/banner%E5%85%A5%E5%8F%A3%402x.png");
imageBO.setTitle("消息标题${myMsg}");
MessageRequest<ImageBO> request = MessageBuilder.image(imageBO,"MC10001消息中心配置的渠道","应用平台的APPID,在应用管理可以看到","自己业务的唯一单号");
//接收人
ArrayList<String> accIds = new ArrayList<>();
accIds.add("zhex2023121400001510");
request.setReceiverList(accIds);
messageRpcFacade.send(request);
其他渠道卡片消息发送示例(钉钉消息)
void send() {
    ActionCardBO actionCardBO = new ActionCardBO();
    actionCardBO.setMarkdown("标题  \n   # 一级标题  \n   ## 二级标题  \n   ### 三级标题  \n   #### 四级标题  \n   ##### 五级标题  \n   ###### 六级标题  \n  > A man who stands for nothing will fall for anything.  \n  **bold**  *italic*  \n  [this is a link](http://www.baidu.com)");
    actionCardBO.setTitle("是透出到会话列表和通知的文案");
    actionCardBO.setSingleTitle("查看详情");
    actionCardBO.setSingleUrl("https://open.dingtalk.com");
    MessageRequest<ActionCardBO> request = MessageBuilder.actionCard(actionCardBO,"MC10001消息中心配置的渠道","应用平台的APPID,在应用管理可以看到","自己业务的唯一单号");
    //接收人
    ArrayList<String> accIds = new ArrayList<>();
    accIds.add("zhex2023121400001510");
    request.setReceiverList(accIds);
    messageRpcFacade.send(request);
}
其他渠道markdown消息发送示例(钉钉消息)
   void send() {
        MarkDownBO markDownBO = new MarkDownBO();
        markDownBO.setText("标题  \n   # 一级标题  \n   ## 二级标题  \n   ### 三级标题  \n   #### 四级标题  \n   ##### 五级标题  \n   ###### 六级标题  \n  > A man who stands for nothing will fall for anything.  \n  **bold**  *italic*  \n  [this is a link](http://www.baidu.com)");
        markDownBO.setTitle("首屏会话透出的展示内容");
        MessageRequest<MarkDownBO> request = MessageBuilder.markDown(markDownBO,"MC10001消息中心配置的渠道","应用平台的APPID,在应用管理可以看到","自己业务的唯一单号");
        //接收人
        ArrayList<String> accIds = new ArrayList<>();
        accIds.add("zhex2023121400001510");
        request.setReceiverList(accIds);
        messageRpcFacade.send(request);
    }

接入步骤

1. 钉钉消息

1.消息渠道管理 建立渠道

MC2466176 MC3190784 没有消息渠道暂时使用俩个code,后续会将新增渠道附上说明

没有该菜单找 孙快快 老师开权限

选择消息渠道管理

2.应用消息渠道管理 进行(appid)应用与渠道的关联,不关联会报(无有效的消息渠道,请核对后再进行消息发送)

选择自己配制好的 应用渠道,点击发送测试

根据上面的信息填写你需要发送的消息

如果发送的是模版消息,先配置模版,页面消息发送暂时只支持(站内信模版文本消息和站内信模版链接消息)

2.站内信(消息中心内置的渠道)

1.应用消息渠道管理 进行应用(APPID)与渠道的关联。

站内信统一渠道id为 MC0000001

FAQ

APPID 在哪里获取

如下为APPID 与应用的映射关系

APPID应用名称
D010001数据大学
D010002标签运营管理平台
D010003统一数据服务平台
D010004智慧决策平台
D010005自助分析平台
D010006数据门户
D010007数据标准平台
D010008经营分析平台
D010009高管驾驶舱平台
M010001客户域
M010002履约域
M010003标的域
M010004账务域
M010005支付结算域
M010006合作开放域
M010007单证域
M010008运营支撑域
M010009产品域
M010010交易域
M010011承保域
M010012客户接触域
M010013合约域
M010014批改域
M010015营销域
M010016安全域
M010017生态合作域
M010018客户服务域
M010019保单服务域
P010001服务计费
P010002费用中心
P010003资金系统
P010004产品运营平台
P010005税务平台
P010006新销管平台
P010007综合对账平台
P010008意健险平台
P010009智能一体化平台
P010010增值税平台
P010011车承保平台
P010012渠道适配平台
P010013线上运营平台
P010014车型查询平台
P010015服务履约平台
P010016送修平台
P010017监管接入平台
P010018扫码保
P010019风控平台
P010020车损运管平台
P010021再保管理平台
P010022再保前置平台
P010023核保平台
P010024OCR平台
P010025集成架构
P010026事件中心
P010027客户信息系统
P010028调查平台
P010029合作伙伴服务平台
P010030文档中心
P010031回溯平台
P010032关联交易平台
P010033共享保平台
P010034分期中心
P010035农险承保平台
P010036车损处理平台
P010037财责险承保平台
P010038智能一体化团客
P010039财务通用后台
P010040联保中心
无有效的消息渠道,请核对后在进行消息发送 怎么解决

在运营支撑->消息中心->应用消息渠道管理 里进行应用与渠道的绑定,需要使用自己域的应用管理员账号,如果找不到菜单需要联系 仲梦恺 进行权限的开通,测试环境可以联系对应开发同学。

选择自己的应用 和需要 绑定的消息渠道类型

未知系统异常

rpc接口调用,请使用示例,调用消息发送接口,不然会出现泛型解析失败导致报(未知系统异常)的错误

channelCode是什么

渠道id(channelCode)所有环境不是统一的!!!!!

bizId是什么

bizid是调用方的业务id,如果后期你的这条消息有问题,我们可以拿的这个id去查询,最好不唯一

receiverList是什么

发送的账号是新一代的账号,可以直接发送给内部人员,外部人员 测试环境需要找孙快快老师创建账号

生产环境需要找仲梦凯老师创建账号

内部数据组装-供接口维护人员参考

//钉钉模板链接消息
{
    "appId": "M010008",
    "bizId": "NT72350969379148188885678",
    "channelCode": "MC3190784",
    "content": {
        "context": {
            "personName": "刘阳",
            "nodeName": "抄送节点",
            "flowInstanceName": "销售方案新增审批",
            "flowName": "扫码保审批流程",
            "content": "刘阳发起销售方案新增审批 内容: 销售方案新增审批"
        },
        "linkUrl": "//10.207.121.39/support-operation/feedback/detail/7239471199524999168",
        "templateCd": "MT5971712"
    },
    "messageType": "TEMPLATE",
    "receiverList": [
        "1010001233"
    ]
}
GET http://localhost:8080/msg/consume/202410227254377813448638464 测试发送



//钉钉模板文本消息
{
    "appId": "M010008",
    "bizId": "NT72350969379148188885650",
    "channelCode": "MC3190784",
    "content": {
        "templateCd": "MA3612983"
    },
    "messageType": "TEMPLATE",
    "receiverList": [
        "1010001233"
    ]
}
http://localhost:8080/msg/consume/202410237254793941519761408 测试发送


//钉钉模板卡片消息
{
  "appId": "M010008",
  "bizId": "NT72350969379148188885601",
  "channelCode": "MC3190784",
  "content": {
    "context": {
      "name": "testname",
      "day": "testday",
      "title": "testtitle",
      "actionCardTitle": "testactioncardtitle"
    },
    
    "templateCd": "TESTCARD1"
  },
  "messageType": "TEMPLATE",
  "receiverList": [
    "zhex2023121400001510"
  ]
}

//钉钉模板markdown消息
{
  "appId": "M010008",
  "bizId": "NT72350969379148188885601",
  "channelCode": "MC3190784",
  "content": {
    "context": {
      "name": "testname",
      "day": "testday",
      "title": "testtitle"
    },
    "templateCd": "MARKDOWN1"
  },
  "messageType": "TEMPLATE",
  "receiverList": [
    "zhex2023121400001510"
  ]
}

//钉钉文本消息
{
    "appId": "M010008",
    "bizId": "NT72350969379148188885652",
    "channelCode": "MC3190784",
    "content": {
        "title":"测试标题",
        "text":"测试内容"
    },
    "messageType": "TEXT",
    "receiverList": [
        "1010001233"
    ]
}
http://localhost:8080/msg/consume/202410237254822744489000960



//钉钉链接消息
{
    "appId": "M010008",
    "bizId": "NT72350969379148188885653",
    "channelCode": "MC3190784",
    "content": {
        "context": {
            "personName": "刘阳"
        },
         "title": "测试标题${personName}",
        "text": "测试内容${personName}",
        "linkurl": "//www.baidu.com"
    },
   
    "messageType": "LINK",
    "receiverList": [
        "1010001233"
    ]
}
http://localhost:8080/msg/consume/202410237254827431414005760


//钉钉图片消息
{
    "appId": "M010008",
    "bizId": "NT72350969379148188885653",
    "channelCode": "MC3190784",
    "content": {
         "title": "测试标题",
        "imageUrl": "http://xinyidai-static-oss-nonprod.oss-cn-dalian-cic-d01-a.ops.cloud.cic.inter/public/2024-07-25/172918693/banner%E5%85%A5%E5%8F%A3%402x.png"
    },
   
    "messageType": "IMAGE",
    "receiverList": [
        "1010001233"
    ]
}

//钉钉卡片消息
{
    "appId": "M010008",
    "bizId": "NT72350969379148188885652",
    "channelCode": "MC3190784",
    "content": {
        "title": "是透出到会话列表和通知的文案",
        "markdown": "标题  \n   # 一级标题  \n   ## 二级标题  \n   ### 三级标题  \n   #### 四级标题  \n   ##### 五级标题  \n   ###### 六级标题  \n  > A man who stands for nothing will fall for anything.  \n  **bold**  *italic*  \n  [this is a link](http://www.baidu.com)",
        "single_title": "查看详情",
        "single_url": "https://open.dingtalk.com"
    },
    "messageType": "ACTION_CARD",
    "receiverList": [
        "zhex2023121400001510"
    ]
}

//钉钉markdown消息
{
    "appId": "M010008",
    "bizId": "NT72350969379148188885652",
    "channelCode": "MC3190784",
    "content": {
        "title": "首屏会话透出的展示内容",
        "text": "# 这是支持markdown的文本 <br> ## 标题2 <br> * 列表1 <br> ![alt 啊](https://img.alicdn.com/tps/TB1XLjqNVXXXXc4XVXXXXXXXXXX-170-64.png)"
    },
    "messageType": "MARKDOWN",
    "receiverList": [
        "zhex2023121400001510"
    ]
}




-------------------------------------------------------------------------------------

//站内信链接消息
{
    "appId": "M010008",
    "bizId": "NT72350969379148188885653",
    "channelCode": "MC0000001",
    "content": {
        "context": {
            "personName": "刘阳"
        },
         "title": "测试标题${personName}",
        "text": "测试内容${personName}",
        "linkurl": "//www.baidu.com"
    },
   
    "messageType": "LINK",
    "receiverList": [
        "1010001233"
    ]
}
http://localhost:8080/msg/consume/202410247255031131151597568

//站内信文本消息
{
    "appId": "M010008",
    "bizId": "NT72350969379148188885656",
    "channelCode": "MC0000001",
    "content": {
        "context": {
            "personName": "刘阳"
        },
        "title": "测试标题${personName}",
        "text": "测试内容${personName}"
    },
    "messageType": "TEXT",
    "receiverList": [
        "1010001233"
    ]
}
http://localhost:8080/msg/consume/202410247255036109152911360


//站内信模板链接消息
{
    "appId": "M010008",
    "bizId": "NT72350969379148188885678",
    "channelCode": "MC0000001",
    "content": {
        "context": {
            "personName": "刘阳",
            "nodeName": "抄送节点",
            "flowInstanceName": "销售方案新增审批",
            "flowName": "扫码保审批流程",
            "content": "刘阳发起销售方案新增审批 内容: 销售方案新增审批"
        },
        "linkUrl": "//10.207.121.39/support-operation/feedback/detail/7239471199524999168",
        "templateCd": "MT5971712"
    },
    "messageType": "TEMPLATE",
    "receiverList": [
        "1010001233"
    ]
}
http://localhost:8080/msg/consume/202410247255043732526923776

//站内信模板链接消息
{
    "appId": "M010008",
    "bizId": "NT72350969379148188885678",
    "channelCode": "MC0000001",
    "content": {
        "context": {
            "test": "测试",
        },
        "linkUrl": "//10.207.121.39/support-operation/feedback/detail/7239471199524999168",
        "templateCd": "MT5971712"
    },
    "messageType": "TEMPLATE",
    "receiverList": [
        "1010001233"
    ]
}
http://localhost:8080/msg/consume/202410247255043732526923776


//站内信模板文本消息
{
    "appId": "M010008",
    "bizId": "NT72350969379148188885660",
    "channelCode": "MC0000001",
    "content": {
        "templateCd": "MA3612983"
    },
    "messageType": "TEMPLATE",
    "receiverList": [
        "1010001233"
    ]
}
http://localhost:8080/msg/consume/202410247255046502982156288

各消息类型发送效果图

消息类型(IMAGE,LINK,TEMPLATE,TEXT,ACTION_CARD,MARKDOWN)

模版消息(TEMPLATE)

支持给钉钉的文本、链接、卡片、markdown的消息 加模版,现在只支持rpc方式使用模版

支持给站内信的文本、链接 加模版,现在支持rpc与页面调用

站内信文本消息(小铃铛内观看)

站内信链接消息(小铃铛内观看)

钉钉文本消息(TEXT)

钉钉图片消息(IMAGE)

钉钉markdown消息(MARKDOWN)

钉钉卡片消息(ACTION_CARD)

卡片消息中的markdown语法

有些markdown语法,低版本钉钉客户端不支持

钉钉客户端升级到至少7.6开头的

钉钉官网下载页面

https://www.dingtalk.com/download?spm=a213l2.13146415.0.0.7f153146MAkQoI#/

标题
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
 
引用
> A man who stands for nothing will fall for anything.
 
文字加粗、斜体
**bold**
*italic*
 
链接
[this is a link](http://name.com)
 
图片
![](http://name.com/pic.jpg)
 
无序列表
- item1
- item2
 
有序列表
1. item1
2. item2

换行
  \n  (建议\n前后分别加2个空格)

markdown语法

https://open.dingtalk.com/document/isvapp/markdown-variable-new