調用REST端口實現釘釘通知

釘釘已經成爲很多企業日常工作必備的交流軟件,知行軟件也在釘釘通知上做出了一些努力,利用知行之橋的REST端口調用釘釘機器人API從而實現釘釘通知的功能,這樣當客戶在EDI系統上收到數據後,釘釘羣組同時會發送通知消息,客戶可以及時處理信息,提高效率。

一,創建釘釘機器人

釘釘的羣組有一個自定義機器人的功能,可以利用這個功能來創建消息通知的釘釘機器人,實現釘釘通知。

1、打開羣組設置,點擊添加機器人。

edi

2、選擇自定義機器人

edi

3、設置機器人姓名

這裏可以進行自定義比如:【消息通知】。選擇對應需要接收通知消息的羣組,添加安全設置。如下圖所示,這裏是三選一,一般選擇自定義關鍵字即可,注意這個關鍵字需要在REST端口傳輸的json文件中使用到。例如添加了一個自定義關鍵詞:“收到”,則這個機器人所發送的消息,必須包含“收到”這個詞,才能發送成功。

edi

4、設置完成後機器人就會開始工作

edi

需要注意的是,機器人的設置界面會有一個帶有access_token的url,複製保存,在調用時需要用到這個帶有access_token的url。

edi

二 調用API

在知行之橋的REST端口設置帶有access_token的url,方法爲:POST 頭部爲Content_Type:application/json 另外需要注意的是:發起POST請求時,必須將字符集編碼設置成UTF-8。

edi

配置好這些,下一步就是在實際業務轉換結束時生成一份json文件,這份json文件需要包括以下參數。

edi

要實現釘釘通知,需要傳輸的json文件的格式如下所示。

 

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
     "at" : {
         "atMobiles" : [
             "180xxxxxx"
         ] ,
         "atUserIds" : [
             "user123"
         ] ,
         "isAtAll" : false
     } ,
     "text" : {
         "content" : "收到850收據@180xxxxxx "
     } ,
     "msgtype" : "text"
}

 

三 實現消息傳輸

1、釘釘通知-訂單通知

edi

如圖所示,可以在知行之橋中搭建工作流,我們要完成的功能是:爲一個Excel方案添加接收方向的釘釘通知demo。 在正常接收到X12報文,並將X12報文轉換爲XML後通過上圖所示的Demo_Copy端口複製一份轉換後的xml文件,得到兩份相同的xml文件。一份按照正常的流程繼續經Excel端口後再通過郵箱端口發送到客戶郵箱,另一份來進行釘釘通知。

但是在進行釘釘通知之前,需要先經過一個Schedule端口進行幾分鐘的延時,以確保真實的數據完全進入到客戶的郵箱後,再進行釘釘通知。完成Schedule端口延時之後經過Script端口,提取報文名稱和主鍵信息,轉爲釘釘機器人可以讀取的json文件,然後經過REST端口發送到釘釘羣組,即可實現釘釘通知的功能。以下是幾種釘釘通知的界面展示。

艾特到具體人的釘釘通知

edi

艾特所有人的釘釘通知

edi

不做任何艾特的文本消息通知

edi

2、報錯預警-AS2端口自動巡檢

edi

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文件內容。 報警示例:

edi

這樣,通過REST端口調用釘釘通知的功能就可以實現,用戶通過知行之橋EDI系統進行數據收發時,可以及時在釘釘羣組中收到通知消息,確保信息能夠得到及時處理,提高響應效率。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章