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] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。

    [接続] ページに移動

  2. [+ 新規作成] をクリックして [接続の作成] ページを開きます。
  3. [ロケーション] セクションで、接続のロケーションを選択します。
    1. リージョン: プルダウン リストからロケーションを選択します

      サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。

    2. [NEXT] をクリックします。
  4. [接続の詳細] セクションで、次の操作を行います。
    1. コネクタ: 使用可能なコネクタのプルダウン リストから [QuickBooks] を選択します。
    2. コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
    3. [接続名] フィールドに、接続インスタンスの名前を入力します。

      接続名は次の条件を満たす必要があります。

      • 接続名には英字、数字、ハイフンを使用できます。
      • 文字は小文字のみを使用できます。
      • 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
      • 接続名は 49 文字以内で指定してください。
    4. 必要に応じて、接続インスタンスの [説明] を入力します。
    5. サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
    6. 必要に応じて、接続ノードの設定を構成します。

      • ノードの最小数: 接続ノードの最小数を入力します。
      • ノードの最大数: 接続ノードの最大数を入力します。

      ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。

    7. Company Id: intuit デベロッパー ポータルに登録されているアプリの会社 ID を指定します。
    8. 必要に応じて、使用している QuickBooks Online のエディションの国コードを入力します。
    9. 必要に応じて、マイナー バージョンを入力します。これは、QuickBooks Online API にリクエストを送信する際に使用されます。
    10. サンドボックスを使用する: サンドボックス アカウントを使用している場合は、チェックボックスをオンにします。
    11. Use proxy: このチェックボックスを選択して、接続用のプロキシ サーバーを構成し、次の値を構成します。
      • Proxy Auth Scheme: プロキシ サーバーで認証する認証タイプを選択します。次の認証タイプがサポートされています。
        • 基本: 基本的な HTTP 認証。
        • ダイジェスト: ダイジェスト HTTP 認証。
      • Proxy User: プロキシ サーバーでの認証に使用されるユーザー名。
      • プロキシ パスワード: ユーザーのパスワードの Secret Manager シークレット。
      • Proxy SSL Type: プロキシ サーバーへの接続時に使用する SSL タイプ。次の認証タイプがサポートされています。
        • 自動: デフォルトの設定。URL が HTTPS URL の場合は、[トンネル] オプションが使用されます。URL が HTTP URL の場合、[なし] オプションが使用されます。
        • 常に: 接続は常に SSL 対応です。
        • なし: 接続は SSL に対応していません。
        • トンネル: 接続はトンネリング プロキシ経由で行われます。プロキシ サーバーがリモートホストへの接続を開き、トラフィックはプロキシを経由するようになります。
      • [Proxy Server] セクションで、プロキシ サーバーの詳細を入力します。
        1. [+ 宛先を追加] をクリックします。
        2. [宛先の種類] を選択します。
          • Host address: 宛先のホスト名または IP アドレスを指定します。

            バックエンドへのプライベート接続を確立する場合は、次のようにします。

    12. 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
    13. [NEXT] をクリックします。
  5. [宛先] セクションに、接続するリモートホスト(バックエンド システム)の詳細を入力します。
    1. 宛先の種類: 宛先の種類を選択します。
      • リストから [ホストアドレス] を選択し、宛先のホスト名または IP アドレスを指定します。
      • バックエンド システムへのプライベート接続を確立する場合は、リストからエンドポイント アタッチメントを選択し、次にエンドポイント アタッチメントリストから必要なエンドポイント アタッチメントを選択します。

      セキュリティをさらに強化してバックエンドシステムへのパブリック接続を確立する場合は、接続用の静的アウトバウンド IP アドレスの構成を検討してから、特定の静的 IP アドレスのみを許可リストに登録するようファイアウォール ルールを構成します。

      他の宛先を入力するには、[+ 宛先を追加] をクリックします。

    2. [NEXT] をクリックします。
  6. [認証] セクションで、認証の詳細を入力します。
    • [認証タイプ] を選択し、関連する詳細を入力します。
      1. クライアント ID: アクセス トークンのリクエストに使用されるクライアント ID。
      2. スコープ: 必要なスコープのカンマ区切りのリスト
      3. クライアント シークレット: 作成した接続されているアプリのクライアント シークレットを含む Secret Manager のシークレットです。
      4. バージョン: プルダウンからバージョンを選択し、付与します。
      5. [次へ] をクリックします。
  7. Review: 接続と認証の詳細を確認します。
  8. [作成] をクリックします。
  9. [Authorize(承認)] をクリックします。

    認可が成功すると、[接続] ページの接続ステータスが「有効」に設定されます。

認証を構成する

使用する認証に基づいて詳細を入力します。

  • ユーザー名とパスワード
    • ユーザー名: コネクタのユーザー名
    • パスワード: コネクタに関連付けられたパスワードを含む Secret Manager の Secret。

エンティティ、オペレーション、アクション

すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。

  • エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。

    ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、Entities リストは空になります。

  • オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。

    使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがいずれかのエンティティ オペレーションをサポートしていない場合、サポートされていないオペレーションは Operations リストに含まれません。

  • アクション: コネクタ インターフェースを介して統合で使用できる主要な関数の一つです。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。通常、アクションには入力パラメータと出力パラメータがあります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、Actions リストが空になります。

システムの上限

QuickBooks Online コネクタは、ノードごとに 1 秒あたり 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. [コネクタ] タスクの [タスク入力] セクションで、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. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    {
    "PrivateNote": "Update"
    }
    }
  5. [entityId] をクリックし、[デフォルト値] フィールドに「22」と入力します。

    ここで、22Purchases エンティティの主キー値です。

例 - レコードを削除する

この例では、Invoices エンティティ内の指定された ID のレコードを削除します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Invoices を選択します。
  3. [Delete] オペレーションを選択し、[完了] をクリックします。
  4. [entityId] をクリックし、[デフォルト値] フィールドに「10」と入力します。

    ここで、10Purchases エンティティの主キー値です。

    統合に成功すると、コネクタタスクの connectorOutputPayload フィールドの値は次のようになります。

    {
    {Success}
    }

統合で QuickBooks 接続を使用する

接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。

  • Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
  • Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。