SD004-新增供應商資料申請新增 金蝶=>泛微 (逐單查詢)
在企業資訊化系統中,資料的高效流動和準確對接是業務運作的關鍵。本文將分享一個具體的系統對接整合案例:如何透過輕易雲資料整合平臺,將金蝶雲星空的資料無縫整合到泛微OA-Http系統中,實現新增供應商資料申請的逐單查詢。
整合背景
在本案例中,我們需要實現從金蝶雲星空獲取新增供應商資料,並將這些資料寫入到泛微OA-Http系統中,以便於後續的審批和管理。該方案被命名為SD004-新增供應商資料申請新增 金蝶=>泛微(逐單查詢),旨在確保每一條供應商資料都能準確、及時地傳輸和處理。
技術要點
高吞吐量的資料寫入能力: 為了應對大量供應商資料的快速寫入需求,我們利用輕易雲平臺強大的高吞吐量特性,使得資料能夠迅速且穩定地從金蝶雲星空匯入到泛微OA-Http。
實時監控與告警系統: 在整個資料整合過程中,實時監控和告警系統發揮了重要作用。我們可以透過集中監控介面,隨時跟蹤每個任務的狀態和效能,確保任何異常情況都能被及時發現並處理。
自定義資料轉換邏輯: 由於金蝶雲星空與泛微OA-Http之間存在一定的資料格式差異,我們設計了自定義的資料轉換邏輯,以適應不同平臺的資料結構要求。這一步驟不僅保證了資料的一致性,還提高了整體整合效率。
分頁與限流處理: 針對金蝶雲星空介面ExecuteBillQuery返回的大量資料,我們採用分頁技術進行分批次抓取,同時設定合理的限流策略,以避免介面呼叫過載導致的資料丟失或延遲問題。
異常處理與錯誤重試機制: 在實際操作過程中,不可避免會遇到各種異常情況。為了確保每條供應商資料都能成功寫入泛微OA-Http,我們實現了完善的異常處理與錯誤重試機制,最大程度上提升了資料傳輸的可靠性。
透過上述技術手段,本方案不僅實現了金蝶雲星空與泛微OA-Http之間的資料無縫對接,還大幅提升了業務流程的透明度和效率。在接下來的章節中,我們將詳細探討具體實施步驟及其技術細節。 如何對接釘釘API介面
如何開發企業微信API介面
呼叫金蝶雲星空介面ExecuteBillQuery獲取並加工資料
在資料整合過程中,呼叫源系統的API介面是至關重要的一步。本文將詳細探討如何透過輕易雲資料整合平臺呼叫金蝶雲星空的ExecuteBillQuery介面,以實現新增供應商資料的查詢和處理。
介面配置與呼叫
首先,我們需要了解ExecuteBillQuery介面的基本配置。根據後設資料配置,以下是關鍵引數:
api: ExecuteBillQuery
method: POST
FormId: BD_Supplier
FieldKeys: {MAIN_REQUEST}
FilterString: FModifyDate>='{{LAST_SYNC_TIME|datetime}}' and FCreateOrgId.FNumber='000' and FDocumentStatus='B' and FGroup.FName not in ('實驗用品供應商','其他供應商')
這些引數定義了我們要查詢的資料範圍和條件。例如,FilterString用於過濾修改日期在上次同步時間之後且建立組織編號為‘000’、單據狀態為‘B’、且不屬於特定供應商組的資料。
分頁處理
由於金蝶雲星空的資料量可能非常大,為了避免一次性請求過多資料導致效能問題,我們採用分頁查詢。分頁引數包括:
Limit: 每次查詢返回的記錄數,設定為500。
StartRow 和 TopRowCount:控制每次查詢的起始行和最大行數。
透過這些分頁引數,可以有效地控制每次請求的資料量,從而提高系統穩定性和響應速度。
資料請求與清洗
在傳送請求之前,需要確保所有必要欄位已正確填充,並進行適當的資料清洗。例如,將日期格式化為符合API要求的格式,將組織編號等欄位轉換為標準化形式。這一步驟可以透過輕易雲平臺提供的自定義資料轉換邏輯來實現。
{
"api": "ExecuteBillQuery",
"method": "POST",
"FormId": "BD_Supplier",
"FieldKeys": "{MAIN_REQUEST}",
"FilterString": "FModifyDate>='{{LAST_SYNC_TIME|datetime}}' and FCreateOrgId.FNumber='000' and FDocumentStatus='B' and FGroup.FName not in ('實驗用品供應商','其他供應商')",
"Limit": 500,
"StartRow": 0
}
上述JSON片段展示了一個典型的請求結構。在實際操作中,這些引數會被動態填充,例如{{LAST_SYNC_TIME|datetime}}會被替換為上次同步時間。
資料轉換與寫入
獲取到原始資料後,需要對其進行進一步加工處理,以滿足目標系統(如泛微OA)的需求。這包括但不限於:
欄位對映:將金蝶雲星空中的欄位對映到泛微OA對應欄位。
格式轉換:例如,將日期格式從YYYY-MM-DD轉換為目標系統所需格式。
資料校驗:確保所有必填欄位都有值,並符合業務規則。
輕易雲平臺支援自定義資料轉換邏輯,使得這一過程更加靈活。例如,可以使用指令碼或內建函式對特定欄位進行處理,確保最終寫入的資料質量高且一致性強。
實時監控與異常處理
為了保證整個整合過程順利進行,實時監控和異常處理機制必不可少。輕易雲平臺提供了集中監控和告警系統,可以實時跟蹤每個任務的狀態。一旦出現異常,如網路超時或API限流問題,系統會自動觸發告警並嘗試重試機制,以最大程度減少人工干預,提高任務成功率。
總結來說,透過合理配置和呼叫金蝶雲星空的ExecuteBillQuery介面,並結合輕易雲平臺強大的資料處理能力,可以高效地實現新增供應商資料從金蝶到泛微OA的無縫整合。這不僅提升了業務透明度,還極大地提高了工作效率。 如何開發金蝶雲星空API介面
打通企業微信資料介面
整合方案:SD004-新增供應商資料申請新增 金蝶=>泛微(逐單查詢)
在整合平臺生命週期的第二步中,關鍵任務是將已經整合的源平臺資料進行ETL轉換,以適應目標平臺泛微OA-HttpAPI介面的格式要求,並最終寫入目標平臺。以下是詳細的技術實現步驟和注意事項。
資料轉換與寫入
資料請求與清洗:
首先,透過呼叫金蝶雲星空的介面,如ExecuteBillQuery,獲取供應商相關資料。這一步需要處理分頁和限流問題,以確保資料完整性和系統穩定性。
透過資料質量監控和異常檢測機制,確保獲取的資料無誤並符合預期格式。
資料轉換:
使用輕易雲資料整合平臺提供的自定義資料轉換邏輯,將金蝶雲星空的資料欄位對映到泛微OA-HttpAPI所需的欄位。例如,將金蝶中的FGroup_Number欄位根據其值轉換為泛微中對應的整數值。
處理日期格式轉換,如將金蝶中的日期格式轉換為泛微所需的字串格式。
對於複雜欄位,如供應商銀行資訊,需要使用巢狀查詢和函式處理。例如,將SupplierBank.0.OpenBankName_new對映到泛微中的開戶行欄位。
構建請求體:
根據後設資料配置,構建適合泛微OA-HttpAPI介面的請求體。以下是部分關鍵欄位及其對映邏輯:
workflowId: 固定值,可在URL中獲取。
requestName: 動態生成,通常使用供應商編號或其他唯一標識。
user_id: 透過MongoDB查詢獲取建立者ID。
mainData: 包含多個子欄位,如申請人、申請公司、供應商類別等,這些欄位需要根據業務邏輯進行相應轉換。
傳送請求並寫入目標平臺:
使用POST方法將構建好的請求體傳送到泛微OA-HttpAPI介面/api/workflow/paService/doCreateRequest。
實時監控請求狀態,處理可能出現的異常情況,並實現錯誤重試機制,以確保資料可靠寫入。
注意事項
處理金蝶雲星空與泛微OA-Http之間的資料格式差異:
金蝶中的某些欄位可能需要透過函式或條件判斷進行轉換,以匹配泛微的格式。例如,將稅率編碼SL04_SYS對映為布林值1(含稅)或0(不含稅)。
批次整合與高吞吐量支援:
為了提高效率,可以設定批次處理機制,一次性處理多條記錄,並確保系統能夠支援高吞吐量的資料寫入能力。
實時監控與日誌記錄:
在整個ETL過程中,利用輕易雲提供的集中監控和告警系統,實時跟蹤任務狀態和效能,並記錄日誌以便後續分析和排查問題。
定製化資料對映對接:
根據具體業務需求,對某些特殊欄位進行定製化對映。例如,對於供應商類別,根據不同值執行不同操作。
透過以上步驟,可以確保將金蝶雲星空的資料高效、準確地轉換並寫入到泛微OA-HttpAPI介面,實現兩個異構系統間的資料無縫對接。