API集成中,4種參數的傳遞示範
集成中心內置瞭幾十傢服務商的上百個接口,初學者在調用接口時,對於一些特殊類型的參數可能無從下手,對此我們做瞭相關示範,有以下4種類型:
- 1.文檔、圖片的URL
- 2.普通數組
- 3.對象數組
- 4.圖片Base64
一、圖片/文檔的URL
例如發票識彆、文字識彆等接口,傳遞的參數是圖片的URL,隻要接口服務器能訪問URL就能識彆圖片或文檔。

如果傳遞URL的參數需要選擇附件字段的圖片或文檔,則需要下通過工作流獲取。
-
API查詢字段
新建記錄時不能使用此字段,需要保存記錄後,通過工作流的代碼節點獲取附件中圖片的URL,寫入到圖片URL字段(文本控件),然後纔可以點擊API查詢按鈕,傳遞的URL參數選擇圖片URL字段即可。
-
工作流中調用已集成API
流程中先通過代碼塊獲取圖片URL,圖片URL參數選擇代碼塊輸齣的URL即可。
如何獲取附件的URL
請參考代碼塊示範5.1
二、普通數組
以企業微信的嚮群機器人發送文本接口為例,有個參數需要傳遞普通數組, 如下圖:

普通數組 的格式為[元素1,元素2,...]
在此場景下,傳遞的是需要@的成員手機號,那格式就是[19909090909,18811111111,...], 如果需要@群裏所有的人,則數組格式為["@all"]。
目前隻有代碼塊可以直接輸齣這種數組格式,因此,要傳遞此類型的參數,必須通過工作流。
新建記錄時,API查詢字段無法傳遞數組參數,隻能建立記錄後,通過工作流獲取數組格式,再點擊API查詢按鈕。
普通數組獲取示範
以嚮企業微信發送文本消息 為例,獲取手機號的數組。
工作流調用集成API
工作錶配置
1、記錄中增加需要提醒的成員字段
人員字段為多選, 需要獲取到選擇的人員的對應是幾號

2、記錄中有一個全員提醒的字段
當勾選全員提醒時,數組直接為["@all"]

工作流部分配置
可以是按鈕觸發工作流也可以是新增記錄觸發工作流發送消息,看實際需要。
1、添加分支節點,分彆走全員提醒和指定人員提醒流程
工作流觸發後,要先判斷是否全員提醒,如果不是,則獲取需要提醒個彆人員
如果您的實際場景不會全員@,則全員提醒的字段配置和分支流程配置可以去掉。

2、全員提醒分支
-
2.1) 通過代碼塊節點直接輸入@all數組

-
2.2) 通過JSON 解析節點獲取數組

-
2.3) 調用集成API節點選擇json解析節點

3、部分人員提醒分支
-
3.1)從組織中獲取選擇提醒的人員

-
3.2)通過代碼塊講人員的手機號轉為數組

點擊測試前,手機號參數寫成固定的,如["+8619909090909"]
測試成功後,記得換成節點字段

var mobiles= JSON.parse(input.mobile.replace(/\+86/g, ""))
output = {mobiles:mobiles}; -
3.3) 通過JSON 解析節點獲取數組

-
3.4) 調用集成API節點選擇json解析節點

API查詢字段調用集成API
API查詢字段傳遞普通數組時,和工作流不一樣,不同元素之間隻有逗號即可,中括號不需要。因此在API查詢字段中傳遞普通數組時,可以選擇文本字段或多選字段,因為他們可以存儲這個格式的數組。
-
指定手機號提醒

-
全員提醒

我們還以發送企業微信群消息為例,在API查詢字段查詢前,需要通過工作流獲取下手機號列錶,然後寫入到某個文本字段中,普通數組的參數選擇這個文本字段即可。
工作流部門配置
-
1.代碼塊節點處理獲取到的人員手機號

先用固定值測試,測試完畢後,再替換節點字段

所需代碼塊:功能是去掉+86、雙 引號和中括號
output = {output: input.phone.replace(/["\[\]]|(\+86)/g, '') };如果您需要將獲取多條記錄中的其他字段組成數組,寫入到文本字段,可以使用下麵的代碼
output = {output: input.phone.replace(/["\[\]]/g, '') };