跳至主要内容

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, '') };

  • 2.將獲取到的內容更新到文本字段

  • 更新效果

API查詢字段配置

API查詢字段配置中,傳遞的普通數組選擇提醒人員手機(文本字段)

三、對象數組

對象數組格式如下,可以理解為多行記錄格式,下麵的對象數組錶達瞭兩個人的姓名和年齡的數據:

[ 
{
"name" : "jim",
"age" : 18
},
{
"name" : "bob",
"age" : 16
}
]

對象數組獲取示範

以企業微信發送圖文消息為例

此接口支持發送多條圖文消息,所以需要傳遞對象數組,有2種方式可以傳遞對象數組參數。

API查詢字段

使用在API查詢字段時,傳遞對象數組的參數時,隻能選擇子錶或關聯記錄(多條),因為這兩個字段是多行結構,一行記錄代錶一個業務對象,多行記錄就是一個對象數組瞭。

如果發送的內容是本記錄內容,則不能使用API查詢字段,可以通過自定義按鈕觸發工作流發送。

工作流

在工作流中,可以先通過“獲取多條數據”節點獲取要發送的記錄,然後調用已集成API節點中,選擇獲取的多條數據中的字段即可。

發送本記錄內容,如何傳遞參數

如果發送的內容都在本記錄中,不在關聯記錄或子錶中,怎麼處理?

因為對象數組參數格式的要求,我們必須獲取的是多條數據結構,因此,依然需要通過獲取多條數據節點再查詢下當前記錄,過濾條件設置為記錄ID等於當前記錄ID即可,這樣就隻查詢到本記錄瞭。

查詢到後,通過調用已集成API節點接口選擇參數即可。

四、圖片的Base64編碼

例如百度的識彆行程卡接口,傳遞的參數是圖片Base64編碼,不能傳遞圖片URL,這就導緻瞭隻能通過工作流代碼塊節點獲取到圖片的base64,再調用API。

獲取圖片的Base64編碼,請參考常用代碼塊示例5.1