QuickBooks Online

QuickBooks Online 連接器可讓您在 QuickBooks 資料庫中執行插入、刪除、更新和讀取作業。

事前準備

使用 QuickBooks Online 連接器前,請先完成下列工作:

  • 在 Google Cloud 專案中:
    • 確認已設定網路連線。如要瞭解網路模式,請參閱「網路連線」。
    • roles/connectors.admin IAM 角色授予設定連接器的使用者。
    • 將下列 IAM 角色授予要用於連接器的服務帳戶:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      服務帳戶是特殊的 Google 帳戶類型,主要用於代表需要驗證且必須取得授權才能存取 Google API 資料的非人類使用者。如果您沒有服務帳戶,請務必建立服務帳戶。詳情請參閱「建立服務帳戶」。

    • 啟用下列服務:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (連接器 API)

      如要瞭解如何啟用服務,請參閱「啟用服務」。

    如果先前未為專案啟用這些服務或權限,系統會在設定連接器時提示您啟用。

設定連接器

連線是特定資料來源的連線,也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:

  1. Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。

    前往「連線」頁面

  2. 按一下「+ 建立新連線」,開啟「建立連線」頁面。
  3. 在「位置」部分,選擇連線的位置。
    1. 區域:從下拉式清單中選取位置。

      如需所有支援地區的清單,請參閱「位置」一節。

    2. 點按「下一步」
  4. 在「連線詳細資料」部分中,完成下列操作:
    1. 連接器:從可用連接器的下拉式清單中選取「QuickBooks」
    2. 連接器版本:從可用版本的下拉式清單中選取連接器版本。
    3. 在「Connection Name」欄位中,輸入連線例項的名稱。

      連線名稱必須符合下列條件:

      • 連線名稱可以使用英文字母、數字或連字號。
      • 字母必須為小寫。
      • 連線名稱的開頭必須為英文字母,結尾則須為英文字母或數字。
      • 連結名稱不得超過 49 個半形字元。
    4. 視需要輸入連線例項的「Description」(說明)
    5. 服務帳戶:選取具備必要角色的服務帳戶。
    6. 視需要設定連線節點設定

      • 節點數量下限:輸入連線節點數量下限。
      • 節點數量上限:輸入連線節點數量上限。

      節點是用來處理交易的連線單位 (或備用資源)。處理的交易量越多,就需要越多節點;反之,處理的交易量越少,就需要越少節點。如要瞭解節點對連接器定價的影響,請參閱「 連線節點的定價」。如果您未輸入任何值,系統預設會將最小節點設為 2 (以提高可用性),並將最大節點設為 50。

    7. 公司 ID:提供在 Intuit 開發人員入口網站註冊的應用程式公司 ID。
    8. 您可以選擇輸入國家/地區代碼:所使用的 QuickBooks Online 版本。
    9. 您可以選擇輸入次要版本:用於傳送要求至 QuickBooks Online API。
    10. 使用沙箱:如果您使用的是沙箱帳戶,請勾選核取方塊。
    11. (選用) 在「進階設定」部分,選取「使用 Proxy」核取方塊,為連線設定 Proxy 伺服器,並設定下列值:
      • Proxy Auth Scheme:選取要用於 Proxy 伺服器驗證的驗證類型。支援下列驗證類型:
        • Basic:基本 HTTP 驗證。
        • Digest:Digest HTTP 驗證。
      • Proxy User:用於與 Proxy 伺服器進行驗證的使用者名稱。
      • Proxy Password:使用者密碼的 Secret Manager 密鑰。
      • Proxy SSL Type:連線至 Proxy 伺服器時要使用的 SSL 類型。支援下列驗證類型:
        • 自動:預設設定。如果網址是 HTTPS 網址,則會使用「隧道」選項。如果網址是 HTTP 網址,則會使用「從不」選項。
        • 一律:連線一律啟用 SSL。
        • Never:未啟用 SSL 連線。
        • 通道:透過通道 Proxy 建立連線。Proxy 伺服器會開啟與遠端主機的連線,並透過 Proxy 來回傳送流量。
      • 在「Proxy 伺服器」部分中,輸入 Proxy 伺服器的詳細資料。
        1. 按一下「+ 新增目的地」
        2. 選取目的地類型
          • 主機位址:指定目的地的主機名稱或 IP 位址。

            如要建立與後端系統的私人連線,請按照下列步驟操作:

    12. 您可以按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
    13. 點按「下一步」
  5. 在「目的地」部分,輸入要連線的遠端主機 (後端系統) 詳細資料。
    1. 目的地類型:選取目的地類型
      • 從清單中選取「主機位址」,指定目的地的主機名稱或 IP 位址。
      • 如果您想建立與後端系統的私人連線,請從清單中選取「Endpoint attachment」,然後從「Endpoint Attachment」清單中選取所需的端點附件。

      如果您想建立與後端系統的公開連線,並提供額外安全性,建議您為連線設定靜態外連 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址進入白名單。

      如要輸入其他目的地,請按一下「+ 新增目的地」

    2. 點按「下一步」
  6. 在「Authentication」部分中,輸入驗證詳細資料。
    • 選取「驗證類型」,然後輸入相關詳細資料。
      1. 用戶端 ID:用於要求存取權憑證的用戶端 ID。
      2. 範圍:以半形逗號分隔的所需範圍清單
      3. 用戶端密鑰:Secret Manager 密鑰,內含您建立的已連結應用程式的用戶端密鑰。
      4. 版本:從下拉式選單中選取版本,然後授予權限。
      5. 點選「下一步」
  7. 查看:查看連線和驗證詳細資料。
  8. 按一下 [建立]。
  9. 按一下「Authorize」

    如果授權成功,連線頁面中的連線狀態就會設為「Active」

設定驗證機制

根據要使用的驗證方法輸入詳細資料。

  • 使用者名稱和密碼
    • 使用者名稱:連接器的使用者名稱
    • 密碼:Secret Manager 密鑰,內含與連接器相關聯的密碼。

實體、作業和動作

所有整合連接器都為已連結應用程式的物件提供一層抽象層。您只能透過這個抽象層存取應用程式的物件。抽象概念會以實體、作業和動作的形式提供給您。

  • 實體: 實體可視為已連結應用程式或服務中的物件或屬性集合。實體的定義與連接器至連接器的定義不同。舉例來說,在資料庫連接器中,資料表是實體;在檔案伺服器連接器中,資料夾是實體;在訊息系統連接器中,佇列是實體。

    不過,連接器可能不支援或沒有任何實體,在這種情況下,Entities 清單會是空白。

  • 作業: 作業是指您可對實體執行的活動。您可以對實體執行下列任一操作:

    從可用清單中選取實體後,系統會產生可用於該實體的作業清單。如需作業的詳細說明,請參閱連接器工作中的實體作業。不過,如果連接器不支援任何實體作業,則 Operations 清單中不會列出這些不支援的作業。

  • 動作: 動作是透過連接器介面提供給整合項目的一流函式。動作可讓您變更實體或多個實體,而變更方式因連接器而異。通常,動作會包含一些輸入參數和輸出參數。不過,連接器可能不支援任何動作,在這種情況下,Actions 清單會是空白。

系統限制

QuickBooks Online 連接器可在每個節點中每秒處理 1 筆交易,並節流超過此限制的任何交易。根據預設,Integration Connectors 會為連線分配 2 個節點 (以提高可用性)。

如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一節。

實體操作範例

本節說明如何在這個連接器中執行部分實體作業。

範例:列出所有帳戶

這個範例會列出所有 Accountsassociated with the Current application of QB Online 實體。

  1. Configure connector task 對話方塊中,按一下 Entities
  2. Entity 清單中選取 Accounts
  3. 選取 List 作業,然後按一下「Done」
  4. 您可以視需要在 Connectors 工作中的「Task Input」部分,指定篩選子句來篩選結果集。請一律在單引號 (') 內指定篩選子句值,例如 BillId='25'。您也可以使用邏輯運算子指定多個篩選條件。例如:BillId='25' and Active=false

範例 - 取得記錄

這個範例會從 Bills 實體取得指定 ID 的記錄。

  1. Configure connector task 對話方塊中,按一下 Entities
  2. Entity 清單中選取 Bills
  3. 選取 Get 作業,然後按一下「Done」
  4. 在「連接器」任務的「Task Input」部分,按一下「EntityId」,然後在「Default Value」欄位中輸入 220

    其中 220Bills 實體中的主鍵值。

範例:建立記錄

這個範例會在 Vendors 實體中建立記錄。

  1. Configure connector task 對話方塊中,按一下 Entities
  2. Entity 清單中選取 Vendors
  3. 選取 Create 運算,然後按一下「Done」
  4. 在「Connectors」任務的「Task Input」部分,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似以下的值:
    {
    {
      {
        "Id": "32",
        "SyncToken": "0",
        "MetaData_CreateTime": "2024-04-17 17:13:24.0",
        "MetaData_LastUpdatedTime": "2024-04-24 19:55:23.0",
        "Title": null,
        "GivenName": null,
        "MiddleName": null,
        "FamilyName": null,
        "Suffix": null,
        "DisplayName": "tim Telephone",
        "CompanyName": "tim Telephone",
        "PrintOnCheckName": "tim Telephone",
        "Active": true,
        "PrimaryPhone_FreeFormNumber": "(650) 555-1616",
        "AlternatePhone_FreeFormNumber": null,
        "Mobile_FreeFormNumber": null,
        "Fax_FreeFormNumber": null,
        "PrimaryEmailAddr_Address": null,
        "WebAddr_URI": null,
        "BillAddr_Id": "33",
        "BillAddr_Line1": "10 Main St.",
        "BillAddr_Line2": null,
        "BillAddr_Line3": null,
        "BillAddr_Line4": null,
        "BillAddr_Line5": null,
        "BillAddr_City": "Palo Alto",
        "BillAddr_Country": null,
        "BillAddr_CountrySubDivisionCode": "CA",
        "BillAddr_PostalCode": "94303",
        "BillAddr_Lat": "37.445013",
        "BillAddr_Long": "-122.1391443",
        "OtherContactInfo_Type": null,
        "OtherContactInfo_Telephone_FreeFormNumber": null,
        "TaxIdentifier": null,
        "TermRef": "1",
        "TermRef_Name": null,
        "Balance": "0",
        "AcctNum": null,
        "Vendor1099": false,
        "CurrencyRef": "USD",
        "CurrencyRef_Name": "United States Dollar"
      }
    }

    如果整合成功,連接器工作 connectorOutputPayload 欄位的值會類似以下內容:

    {
    { "Id": "64" }
    }

範例:更新記錄

這個範例會更新 Purchases 實體中指定 ID 的記錄。

  1. Configure connector task 對話方塊中,按一下 Entities
  2. Entity 清單中選取 Teams
  3. 選取 Update 運算,然後按一下「Done」
  4. 在「Connectors」任務的「Task Input」部分,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似以下的值:
    {
    {
    "PrivateNote": "Update"
    }
    }
  5. 按一下「entityId」,然後在「Default Value」欄位中輸入 22

    其中 22Purchases 實體中的主鍵值。

範例:刪除記錄

這個範例會刪除 Invoices 實體中具有指定 ID 的記錄。

  1. Configure connector task 對話方塊中,按一下 Entities
  2. Entity 清單中選取 Invoices
  3. 選取 Delete 運算,然後按一下「Done」
  4. 按一下「entityId」,然後在「Default Value」欄位中輸入 10

    其中 10Purchases 實體中的主鍵值。

    如果整合成功,連接器工作 connectorOutputPayload 欄位的值會類似以下:

    {
    {Success}
    }

在整合中使用 QuickBooks 連線

建立連線後,Apigee Integration 和 Application Integration 都會提供這項連線。您可以透過「連接器」工作,在整合中使用連線。

  • 如要瞭解如何在 Apigee Integration 中建立及使用連接器工作,請參閱「連接器工作」。
  • 如要瞭解如何在 Application Integration 中建立及使用連接器工作,請參閱「連接器工作」。