高效實現銷售出庫單與訂單自動對接的方案介紹

standxy發表於2024-10-25

線上旺店通銷售出庫單對接星辰銷售訂單-ok

在企業資訊化系統中,資料的高效流轉和準確對接是確保業務順暢執行的關鍵。本文將分享一個實際案例,展示如何透過輕易雲資料整合平臺,將旺店通·企業奇門的資料無縫整合到金蝶雲星辰V2,實現銷售出庫單與銷售訂單的自動對接。

本次整合方案名為“線上旺店通銷售出庫單對接星辰銷售訂單-ok”,其核心任務是利用輕易雲平臺的高吞吐量資料寫入能力和實時監控功能,確保大量資料能夠快速、準確地從旺店通·企業奇門系統傳輸到金蝶雲星辰V2。

首先,我們需要呼叫旺店通·企業奇門提供的API介面wdt.stockout.order.query.trade來獲取銷售出庫單資料。為了保證資料不漏單,我們設定了定時可靠的抓取機制,並處理分頁和限流問題,以確保所有相關資料都能被完整獲取。

在獲取到原始資料後,透過自定義的資料轉換邏輯,將其轉換為符合金蝶雲星辰V2要求的資料格式。這一步至關重要,因為兩者的資料結構存在差異,需要進行精細化處理以確保相容性。

隨後,利用金蝶雲星辰V2提供的API介面/jdy/v2/scm/sal_order,將轉換後的資料批次寫入目標系統。在這個過程中,我們特別關注了異常處理與錯誤重試機制,以應對可能出現的資料傳輸問題,確保每一條記錄都能成功寫入。

此外,為了實現全面監控和告警,我們配置了集中監控系統,對整個整合過程中的任務狀態和效能進行實時跟蹤。一旦發現異常情況,可以及時採取措施進行修正,從而保障整個流程的穩定執行。

透過這一系列技術手段,本次整合方案不僅提升了資料處理效率,還大幅度提高了業務透明度和可靠性,為企業實現資源最佳化配置提供了有力支援。
釘釘與WMS系統介面開發配置

如何開發企業微信API介面

呼叫旺店通·企業奇門介面wdt.stockout.order.query.trade獲取並加工資料

在資料整合的生命週期中,呼叫源系統介面是至關重要的一步。本文將詳細探討如何透過輕易雲資料整合平臺呼叫旺店通·企業奇門介面wdt.stockout.order.query.trade,並對獲取的資料進行初步加工處理。

介面呼叫配置

首先,我們需要配置後設資料以便正確呼叫wdt.stockout.order.query.trade介面。以下是關鍵的後設資料配置項:

  • API: wdt.stockout.order.query.trade
  • 請求方法: POST
  • 主要欄位:
    • order_no: 訂單編號
    • stockout_id: 出庫單ID
    • consign_time: 發貨時間(需轉換為日期格式)

請求引數設定

為了實現增量資料獲取,我們需要設定開始時間和結束時間。這兩個引數可以透過模板變數動態生成:

{
    "start_time": "{{LAST_SYNC_TIME|datetime}}",
    "end_time": "{{CURRENT_TIME|datetime}}"
}

此外,還需指定訂單狀態,以確保只獲取特定狀態的訂單:

{
    "status": "95,105,110,113"
}

其他必要的請求引數包括系統訂單編號、原始單號、出庫單號、店鋪編號和倉庫編號等。

分頁處理

由於一次性返回的資料量有限,我們需要實現分頁處理。分頁大小和頁號可以透過以下引數控制:

{
    "page_size": "{PAGINATION_PAGE_SIZE}",
    "page_no": "{PAGINATION_START_PAGE}"
}

預設情況下,每頁返回40條記錄,從第0頁開始。

資料格式轉換

從介面返回的資料中,某些欄位可能需要進行格式轉換。例如,將consign_time轉換為日期格式,並重新命名為consign_date

{
    "formatResponse": [
        {
            "old": "consign_time",
            "new": "consign_date",
            "format": "date"
        }
    ]
}

資料過濾與條件檢查

為了確保資料質量,可以在請求前新增條件檢查。例如,只獲取特定店鋪和倉庫的資料:

{
    "condition": [
        {
            "field": "shop_no",
            "logic": "neqv2",
            "value": "KH01181"
        },
        {
            "field": "warehouse_no",
            "logic": "in",
            "value": ["CK00001", ...]
        }
    ]
}

實時監控與異常處理

輕易雲平臺提供了實時監控和告警系統,能夠跟蹤每個資料整合任務的狀態。一旦發現異常情況,如介面超時或響應錯誤,可以立即觸發告警並執行重試機制,以確保資料不漏單。

自定義邏輯與擴充套件性

對於特定業務需求,可以自定義資料轉換邏輯。例如,根據不同的訂單型別應用不同的對映規則。此外,透過視覺化的資料流設計工具,可以直觀地管理整個資料整合過程,提高操作效率。

總結

透過上述步驟,我們成功實現了對旺店通·企業奇門介面wdt.stockout.order.query.trade的呼叫,並對獲取的資料進行了初步加工處理。這不僅提高了資料處理的效率,也確保了資料質量,為後續的資料寫入和分析奠定了堅實基礎。
電商OMS與ERP系統介面開發配置

打通釘釘資料介面

線上旺店通銷售出庫單對接金蝶雲星辰V2銷售訂單

在資料整合過程中,ETL(提取、轉換、載入)是關鍵步驟之一。本文重點討論如何將已經整合的源平臺資料透過ETL轉換,轉為金蝶雲星辰V2 API介面所能夠接收的格式,並最終寫入目標平臺。

資料請求與清洗

首先,我們從旺店通·企業奇門系統中提取銷售出庫單資料。此過程包括呼叫wdt.stockout.order.query.trade介面,抓取相關的訂單資訊。需要特別注意的是處理分頁和限流問題,以確保資料請求的穩定性和完整性。

資料轉換

接下來,我們進入資料轉換階段,這也是本文的重點。我們需要將從旺店通提取到的資料轉換為金蝶雲星辰V2 API介面所需的格式。以下是關鍵欄位及其轉換邏輯:

  1. 訂單編碼(bill_no)

    • 來源欄位:stockout_no
    • 轉換邏輯:直接對映,無需特殊處理。
  2. 單據備註(remark)

    • 來源欄位:remark
    • 轉換邏輯:直接對映,無需特殊處理。
  3. 客戶ID(customerid_id)

    • 來源欄位:shop_no
    • 轉換邏輯:需要匹配旺店通訂單上的店鋪編碼。
  4. 訂單日期(bill_date)

    • 來源欄位:consign_time
    • 轉換邏輯:直接對映,無需特殊處理。
  5. 客戶編碼(customer_number)

    • 來源欄位:shop_no
    • 轉換邏輯:直接對映,無需特殊處理。
  6. 倉庫(bill_stock_id)

    • 來源欄位:warehouse_no
    • 轉換邏輯:透過MongoDB查詢獲取倉庫ID。
      "_mongoQuery dcf15639-66d6-3904-821c-5bc5e2d89a62 findField=content.id where={\"content.number\":{\"$eq\":\"{warehouse_no}\"}}"
      
  7. 業務員(emp_number)

    • 固定值:ZY00007
  8. 自定義欄位(custom_field)

    • 包含訂單編號和分銷名稱
      {"custom_field__1__4xieazfpq8cdhjia":"{trade_no}", "custom_field__1__45nbzlh8blt7":"{fenxiao_nick}"}
      
  9. 分錄明細(material_entity)

    • 包含物料編碼、數量、單位、單價等多個子欄位。
      {"material_number":"{{details_list.spec_no}}", "qty":"{{details_list.goods_count}}", "unit_id":"_mongoQuery b88a7889-af5d-3efd-aac4-d4960eae6748 findField=content.base_unit_id where={\"content.number\":{\"$eq\":\"{{details_list.spec_no}}\"}}", "price":"_function ('{{details_list.sell_price}}'*'{{details_list.goods_count}}'+'{{details_list.share_post}}')\/{{details_list.goods_count}}" }
      

資料寫入

完成資料轉換後,下一步是透過金蝶雲星辰V2 API介面將資料寫入目標平臺。以下是API呼叫的後設資料配置:

{
  "api": "/jdy/v2/scm/sal_order",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {"field": "bill_no", "label": "訂單編碼", "type": "string", "value": "{stockout_no}"},
    {"field": "remark", "label": "單據備註", "type": "string", "value": "{remark}"},
    {"field": "customerid_id", "label": "客戶ID", "type": "string"},
    {"field": "bill_date", "label": "訂單日期", "type": "string", "value": "{consign_time}"},
    {"field": "customer_number", "label": "客戶編碼", "type": "string", "value": "{shop_no}"},
    {"field": "operation_key", "label": "操作型別", "type": "string", 	"value":"audit"},
    {"field":"bill_stock_id","label":"倉庫","type":"string","value":"_mongoQuery dcf15639-66d6-3904-821c-5bc5e2d89a62 findField=content.id where={\"content.number\":{\"$eq\":\"{warehouse_no}\"}}"},
    {"field":"emp_number","label":"業務員","type":"string","value":"ZY00007"},
    {"field":"custom_field","label":"自定義欄位","type":"object","children":[{"field":"custom_field__1__4xieazfpq8cdhjia","label":"訂單編號","type":"string","value":"{trade_no}"},{"field":"custom_field__1__45nbzlh8blt7","label":"分銷名稱","type":"string","value":"{fenxiao_nick}"}]},
    {"field":"material_entity","label":"分錄明細","type":"array","describe":"分錄明細","value":"details_list"}
  ]
}

異常處理與重試機制

在實際操作中,可能會遇到各種異常情況,如網路問題或介面返回錯誤。為了確保資料準確寫入,需要實現異常處理與重試機制。可以透過捕獲異常並記錄日誌,再進行重試操作來實現這一功能。

實時監控與日誌記錄

為了確保整個ETL過程的順利進行,可以利用輕易雲提供的實時監控和告警系統,跟蹤每個資料整合任務的狀態和效能。同時,透過日誌記錄,可以詳細追蹤每一步驟,方便後續排查問題。

透過上述步驟,我們可以高效地將旺店通銷售出庫單的資料轉換並寫入到金蝶雲星辰V2系統,實現不同系統之間的資料無縫對接。這不僅提升了業務效率,也確保了資料的一致性和準確性。
打通釘釘資料介面

如何對接釘釘API介面

相關文章