試用範例整合功能

首次在 Google Cloud 專案中設定 Application Integration 時,Application Integration 預設會建立名為 ExampleIntegration-EcomOrderProcessing未發布範例整合作業。

查看範例整合

如要查看整合範例,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Application Integration」頁面。

    前往 Application Integration

  2. 按一下左側導覽選單中的「整合」,開啟「整合」頁面。
  3. 按一下名為「ExampleIntegration-EcomOrderProcessing」的整合功能。

    範例整合服務會在整合服務編輯器中開啟,版面配置如下:

    整合版面配置範例圖片 整合版面配置範例圖片

電子商務整合範例

您可以透過這個範例整合服務,實際體驗 Application Integration 的各種觸發條件工作概念

這個範例整合功能可執行電子商務後端的訂單處理作業,適用於下列基本情境:

  1. 從 API 端點接收下列訂單要求酬載:
    {
      "order_no": "12345",
      "buyer_id": "raambo",
      "line_items": [
        {
          "line": 1,
          "sku": "tr100",
          "vendor": "Internal",
          "quantity": 1,
          "price_per_unit": 10
        },
        {
          "line": 2,
          "sku": "tbz",
          "vendor": "External",
          "quantity": 24.0,
          "price_per_unit": 1
        }
      ]
    }
  2. 擷取訂單酬載,並計算訂單總價值。
  3. 確認訂單總價值是否大於或等於 $100 美元。如果是,請取得額外核准,然後繼續。
  4. 確認訂單項目是否有外部供應商。如果是,請使用 REST API 呼叫將詳細資料傳送給供應商。
  5. 傳送訂單回應,其中包含訂單總價值、經過篩選的外部供應商項目,以及各自的 HTTP 回應狀態。

下表列出 ExampleIntegration-EcomOrderProcessing 中使用的所有觸發條件、工作和邊緣條件:

元件 設定 說明
API 觸發條件

(OrderProcessAPITrigger)

觸發條件 ID: api_trigger/ecom-order-processing_API_1 針對每個訂單要求叫用整合功能。
資料對應工作

(找出訂單總價)

輸入 輸出 擷取 order_request JSON 輸入變數,並使用 FOR_EACH 對應函式逐一處理所有訂單項目,計算訂單總價。

系統會使用 GET_PROPERTYMULTIPLY 對應函式,將商品 quantity 乘以 price_per_item,計算出訂單總價。

然後,最終值會轉換為雙精度浮點數資料型別,並儲存在 total_order_value 輸出變數中。

orders_request.line_items
.FOR_EACH(~obj1->~obj1
  .GET_PROPERTY("quantity")
  .TO_DOUBLE()
  .MULTIPLY(~obj1
    .GET_PROPERTY("price_per_unit")
    .TO_DOUBLE()))
.TO_DOUBLE_ARRAY()
.SUM()
total_order_value
邊緣條件

(訂單總金額高於門檻)

條件: $total_order_value$ >= $threshold_order_value$ 檢查訂單總價值是否大於或等於 $100 美元。如果是,控制項會傳遞至「核准工作」
邊緣條件

(TotalOrderValue Below Threshold)

條件: $total_order_value$ < $threshold_order_value$ 檢查訂單總價值是否低於 $100 美元。如果是,控制項會傳遞至「篩選外部項目」工作
審核工作

(核准)

收件者: Enter the approver's email address

為測試這個範例整合,您可以使用電子郵件確認整合是否成功完成。

傳送核准要求電子郵件給一或多位整合使用者。電子郵件會附上整合服務的連結,使用者可透過該連結手動核准或拒絕要求。
資料對應工作

(Filter External Items)

輸入 輸出 擷取 order_request JSON 輸入變數,並使用 FILTER 對應函式篩選所有有外部供應商的訂單項目。

然後,篩選後的值會儲存在 filtered_external_items 輸出變數中。

orders_request
.GET_PROPERTY("line_items")
.FILTER(~obj1->~obj1
  .GET_PROPERTY("vendor")
  .TO_STRING()
  .EQUALS("External"))
filtered_external_items
針對每個迴圈工作

(For Each Loop)

要疊代的清單: filtered_external_items

API 觸發條件 ID: api_trigger/ecom-order-processing_API_2

整合名稱: ExampleIntegration-EcomOrderProcessing

疊代處理 filtered_external_items 變數,並為陣列中的每個元素呼叫子整合。此外,這個函式也會在 rest_call_response_status 中彙整每次執行的回應,陣列中的每個元素都包含一次執行的回應。
API 觸發條件

(Report ExternalOrders)

觸發條件 ID: api_trigger/ecom-order-processing_API_2 針對 filtered_external_items 中的每個元素叫用子整合。
呼叫 REST 端點工作

(呼叫 REST 端點)

端點基準網址: https://mocktarget.apigee.net/echo

HTTP 方法: POST

要求主體: sub_integration_input

對 https://mocktarget.apigee.net/echo 發出 REST 呼叫。

發布並測試範例整合項目

如要發布整合項目,請按一下整合服務編輯器工具列中的「發布」

成功發布整合項目後,您可以查看並檢查已發布整合項目的執行記錄。如要查看記錄,請按一下「查看這項整合的執行記錄」圖片:顯示執行記錄的圖示。系統隨即會顯示「執行記錄」頁面。

從整合編輯器進行測試

如要測試範例整合,請按照下列步驟操作:

  1. 在整合服務編輯器的工具列中,按一下「Test」(測試),然後選取「OrderProcessAPITrigger」

    系統隨即會顯示「測試整合」窗格。

  2. 系統會提示您編輯 orders_request 輸入變數。為了進行這項測試,您可以將 quantity 值更新為 240。更新 orders_request 輸入變數應如下所示:
        {
          "order_no": "12345",
          "buyer_id": "raambo",
          "line_items": [
            {
              "line": 1,
              "sku": "tr100",
              "vendor": "Internal",
              "quantity": 1,
              "price_per_unit": 10
            },
            {
              "line": 2,
              "sku": "tbz",
              "vendor": "External",
              "quantity": 240,
              "price_per_unit": 1
            }
          ]
        }
        
  3. 按一下「測試整合」

由於更新後的 orders_request 數量大於 200,範例整合會將核准要求電子郵件傳送至「核准」工作的「收件者」欄位中指定的電子郵件地址。收到核准後,整合訂單作業就會順利完成。

如要進一步瞭解測試,請參閱「測試及發布整合」。

如要檢查執行記錄,並查看指定整合的狀態和酬載,請按照下列步驟操作:

  1. 在整合服務編輯器中,按一下「查看這項整合的執行記錄」圖片:顯示執行記錄的圖示。系統隨即會顯示「執行記錄」頁面。
  2. 在「執行記錄」頁面中,您可以查看每次嘗試執行整合的詳細資料。 每個項目都包含執行嘗試的詳細資料,包括:
    • 整合作業名稱
    • 執行作業 ID
    • 狀態
    • 開始時間
    • 時間長度
    • 整合版本
    • 觸發條件 ID
  3. 按一下已執行的整合旁邊的展開箭頭 (>),即可查看整合中的工作和變數展開清單,以及工作狀態和變數有效負載。

使用 REST API 呼叫進行測試

測試案例 1:使用預設輸入內容傳送要求

  curl -X POST -H "Content-Type: application/json" -d '{"trigger_id":"api_trigger/ecom-order-processing_API_1"}' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"

測試案例 2:傳送含有自訂輸入內容的要求

  curl -X POST -H "Content-Type: application/json" -d '{ "triggerId": "api_trigger/ecom-order-processing_API_1", "inputParameters": { "orders_request": { "jsonValue": "{\n \"order_no\": \"12345\",\n \"buyer_id\": \"raambo\",\n \"line_items\": [{\n \"line\": 1.0,\n \"sku\": \"tr100\",\n \"vendor\": \"Internal\",\n \"quantity\": 1.0,\n \"price_per_unit\": 10.0\n }, {\n \"line\": 2.0,\n \"sku\": \"tbz\",\n \"vendor\": \"External\",\n \"quantity\": 24.0,\n \"price_per_unit\": 2.0\n }]\n}" } } }' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"

取代下列項目:

  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • LOCATION:整合位置。請參閱「Application Integration 位置」。
  • INTEGRATION_NAME:整合項目的名稱。

測試輸出內容

API 會傳回整合執行回應,其中包含所有整合輸出變數值。

配額與限制

如要瞭解配額和限制,請參閱「配額與限制」。