企业微信已经逐渐成为日常工作必备的交流软件,知行软件也在企业微信消息通知上做出了一些努力,利用知行之桥的REST端口调用企业微信机器人API从而实现企业微信群消息通知的功能,这样当客户在EDI系统上收到数据后,企业微信群组同时会发送通知消息,客户可以及时处理信息,提高效率。
一、创建企业微信群机器人
和钉钉群组一样,企业微信的群组也有一个自定义机器人的功能,可以利用这个功能来创建消息通知的企业微信机器人,实现企业微信消息通知。
1、打开群组设置,点击添加机器人
2、新建一个机器人
3、设置机器人姓名
这里可以进行自定义比如:【消息通知】。选择对应需要接收通知消息的群组,添加安全设置。如下图所示,这里是三选一,一般选择自定义关键字即可,注意这个关键字需要在REST端口传输的json文件中使用到。例如添加了一个自定义关键词:“收到”,则这个机器人所发送的消息,必须包含“收到”这个词,才能发送成功。
4、设置完成后机器人就会开始工作
需要注意的是,机器人的设置界面会有一个带有key的Webhook地址,复制保存,在调用时需要用到这个带有key的Webhook地址。
二 调用API
在知行之桥的REST端口设置带有key的Webhook地址,方法为:POST 正文类型:raw Content_Type:application/json 另外需要注意的是:发起POST请求时,必须将字符集编码设置成UTF-8。
配置好这些,下一步就是在实际业务转换结束时生成一份json文件,这份json文件需要包括以下参数。
要实现企业微信通知,需要传输的json文件的格式如下所示。
1 2 3 4 5 6 7 8 |
{ "msgtype": "text", "text": { "content": "测试通知",【如果是订单提醒,可以在Script端口写代码来提取订单号等主键信息到这里】 "mentioned_list":["zoe","@all"], "mentioned_mobile_list":["188XXXXXXX","@all"] } } |
三 实现消息传输
1、企业微信通知-订单通知
如图所示,可以在知行之桥中搭建工作流,我们要完成的功能是:为一个Excel方案添加接收方向的企业微信通知demo。 在正常接收到X12报文,并将X12报文转换为XML后通过上图所示的Demo_Copy端口复制一份转换后的xml文件,得到两份相同的xml文件。一份按照正常的流程继续经Excel端口后再通过邮箱端口发送到客户邮箱,另一份来进行企业微信通知。
但是在进行企业微信通知之前,需要先经过一个Schedule端口进行几分钟的延时,以确保真实的数据完全进入到客户的邮箱后,再进行企业微信消息通知。完成Schedule端口延时之后经过Script端口,提取报文名称和主键信息,转为企业微信群机器人可以读取的json文件,然后经过REST端口发送到企业微信群组,即可实现企业微信群消息通知的功能。以下是几种企业微信消息通知的界面展示。
艾特到具体人的企业微信通知
艾特所有人的企业微信通知
不做任何艾特的文本消息通知
2、报错预警-AS2端口自动巡检
EDI对外的连接端口有时也会因为各种各样的情况出现问题,比如修改http为https后,出现设置的SSL证书问题,这样就会导致EDI环境挂掉,因此可以利用企业微信通知功能来进行自动巡检,当环境出现问题后,用户就可以及时知道并进行处理。 如上图所示,我们在知行之桥EDI系统上创建一个Script端口和AS2端口,利用Script端口来实现当AS2端口的出现问题时,及时进行企业微信通知,方便运维人员及时进行检查并纠正。 Script端口具体代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<rsb:set attr="check.sslcert" value="*"/> <rsb:set attr="check.url" value="AS2URL"/> <rsb:call op="httpGet" in="check"> <rsb:catch code="*"> <rsb:set attr="notify.url" value="【钉钉自定义机器人的url】"/> <rsb:setm item="notify"> url = 钉【钉自定义机器人的url】 postdata = {"at": {"atMobiles":\["【被@人的手机号】"\],"isAtAll":是【否@所有人,是为true,否为false】},"text": {"content":"业务警报:AS2端口无法访问,请马上检查![_message | def]"},"msgtype":"text"} contenttype = application/json </rsb:setm> <rsb:call op="httpPost" in="notify" /> </rsb:catch> </rsb:call> <rsb:set attr="o.FileName" value="[_|now]" /> <rsb:push item="o"/> |
其中,postdata里的内容就是调用企业微信机器人的json文件内容,另外mentioned_mobile_list和mentioned_list二选一保留即可, 报警示例:
这样,通过REST端口调用企业微信通知的功能就可以实现,用户通过知行之桥EDI系统进行数据收发时,可以及时在企业微信群组中收到通知消息,确保信息能够得到及时处理,提高响应效率。