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 (Connectors API)

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

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

設定連接器

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

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

    前往「Connections」(連線) 頁面

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

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

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

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

      • 連線名稱可使用英文字母、數字或連字號。
      • 字母必須為小寫。
      • 連線名稱開頭須為英文字母,結尾則須為英文字母或數字。
      • 連結名稱不得超過 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 伺服器進行驗證的驗證類型。系統支援下列驗證類型:
        • 基本:基本 HTTP 驗證。
        • 摘要:摘要 HTTP 驗證。
      • Proxy 使用者:用於向 Proxy 伺服器驗證的使用者名稱。
      • Proxy Password:使用者的密碼 Secret Manager 密鑰。
      • Proxy SSL Type:連線至 Proxy 伺服器時要使用的 SSL 類型。系統支援下列驗證類型:
        • 自動:預設設定。如果網址是 HTTPS 網址,則會使用「Tunnel」(通道) 選項。如果網址是 HTTP 網址,系統會使用「永不」選項。
        • 「Always」(一律):連線一律啟用 SSL。
        • 「永不」:連線未啟用 SSL。
        • 通道:連線是透過通道 Proxy 建立。Proxy 伺服器會開啟與遠端主機的連線,流量會透過 Proxy 來回傳送。
      • 在「Proxy 伺服器」部分中,輸入 Proxy 伺服器的詳細資料。
        1. 按一下「+ 新增目的地」
        2. 選取「目的地類型」
          • 主機位址:指定目的地的 IP 位址或主機名稱。

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

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

      如要建立與後端系統的公開連線,並加強安全性,建議為連線設定靜態輸出 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址。

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

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

    如果授權成功,「連線」頁面的連線狀態會設為「有效」

設定驗證機制

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

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

實體、作業和動作

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

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

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

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

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

  • 動作: 動作是透過連接器介面提供給整合的第一類函式。動作可讓您變更一或多個實體,且因連接器而異。一般來說,動作會有一些輸入參數和輸出參數。不過,連接器可能不支援任何動作,此時 Actions 清單會是空白。

系統限制

QuickBooks Online 連接器每秒可處理 1 筆交易,每個節點也是如此,超過此限制的交易都會遭到節流。根據預設,Integration Connectors 會為連線分配 2 個節點 (提高可用性)。

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

實體作業範例

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

範例 - 列出所有帳戶

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

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

範例 - 取得記錄

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

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取 Bills
  3. 選取「Get」作業,然後按一下「完成」
  4. 在「連線器」工作的「工作輸入」部分,按一下「EntityId」,然後在「預設值」欄位中輸入 220

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

範例 - 建立記錄

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

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取 Vendors
  3. 選取「Create」作業,然後按一下「完成」
  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」作業,然後按一下「完成」
  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」作業,然後按一下「完成」
  4. 按一下「entityId」,然後在「Default Value」欄位中輸入 10

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

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

    {
    {Success}
    }

在整合中運用 QuickBooks 連線

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

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