Lightning Connect で NetSuite External オブジェクトと連携

CData Connect Server をつかって、NetSuite のデータ の仮想SQL Server として接続し、スマートデバイスやクラウドアプリケーションで利用。Connect Server と Salesforce Lightning Connect を使ってNetSuite オブジェクトを作成して、アプリケーションやダッシュボードでデータを使用。

加藤龍彦
デジタルマーケティング

最終更新日:2022-11-25

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData Connect Server を使ってSalesforce コンソールやSalesforce Mobile App からNetSuite のデータ に接続することができます。 この記事では、CData Connect Server およびSalesforce Lightning Connect をつかって、NetSuite 外部オブジェクトを作成します。

CData Connect Server は、ピュアSQL のクラウドインターフェースをNetSuite に提供し、データを複製せずにSalesforce Lightning Connect からリアルタイムNetSuite のデータとの統合を手軽に実現します。Salesforce Lightning Connect はCData Connect Server をSQL Server データベースとして認識し、最適化されたデータ処理を使用してサポートされているすべてのSQL 操作(フィルタ、JOIN など)をNetSuite に直接プッシュして、サーバー側の処理を利用して、NetSuite のデータを素早く返します。

  1. Connect Server にログインし、[DATA MODEL]をクリックします。 データベースを追加
  2. [Available Data Sources]から[NetSuite]を選択します。
  3. 必要な認証プロパティを入力し、NetSuite に接続します。

    Netsuite への接続

    NetSuite は現在、2つの異なるAPI を提供しています。

    • SuiteTalk はNetSuite との通信に使用する、SOAP ベースのより古いサービスです。多くのエンティティを幅広くサポートし、INSERT / UPDATE / DELETE を完全にサポートします。 しかしデータの抽出用ツールは低機能で、SELECT 時のパフォーマンスは極めて低いです。テーブルを結合するよい方法もありません。データのグループ化および集計はこのAPI からは利用できず、 そのためこれらの操作をサポートするには、すべてをクライアントサイドで実行しなければなりません。
    • SuiteQL は新しいAPI です。サービスとのSQL ライクな通信方法を実現するため、JOIN の機能はより豊富になり、GROUP BY や集計機能もサポートします。 加えて、抽出したいカラムだけを取得する機能も完全にサポートします。そのため、データを抽出する際のパフォーマンスがSuiteTalk より大幅に向上しています。ただし、サポートされるのはデータの抽出のみです。

    NetSuite に接続するには、以下を行う必要があります。

    1. Schema を設定して、接続に使用するAPI を指定。データを取得するだけの場合は、SuiteQL の使用をお勧めします。データの取得および変更が必要な場合は、SuiteTalk の使用をお勧めします。
    2. 使用するAPI に適した接続オプションを設定します。(それぞれのAPI で利用可能な接続オプションが異なります。ヘルプドキュメントの「許可の設定」を参照してください。)

    Netsuite への認証

    SuiteTalk またはSuiteQL

    NetSuite は3つの形式のOAuth 認証を提供します。

    • トークンベース認証(TBA)は、基本的にOAuth 1.0 で、OAuthAccessTokenOAuthAccessTokenSecret を実行時ではなくNetSuite UI 内で作成します。 TBA は、2020.2 以降のSuiteTalk およびSuiteQL の両方で利用可能です。
    • OAuth 2.0 認証は、SuiteQL でのみ利用できます。OAuth 2.0 認証を強制するには、次のいずれかを実行します。
      • OAuthVersion を使用するAPI に明示的に設定、または
      • SchemaSuiteQL に設定
    • OAuth JWT 認証は、OAuth 2.0 クライアント認証フローであり、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。この認証方法は、SchemaSuiteQL に設定されている場合にのみ使用できます。

    認証方法の詳細はヘルプドキュメントの「はじめに」を参照してください。

    接続の設定
  4. Create & Test をクリックします。
  5. Edit NetSuite Connection ページのPermissions タブに移動し、ユーザーベースのアクセス許可を更新します。 権限を更新
  6. USERS タブでAuthToken を取得します。

コネクションが構成されたら、Salesforce Lightning Connect からNetSuite に接続できるようになります。

NetSuite データ にOData データソースとして接続

次の手順で、Connect Server からのフィードに接続する設定を行います。

  1. セールスフォースにログインして、[設定]→[開発]→[外部データソース]をクリックします。
  2. [新規外部データソース]をクリックします。
  3. 以下のプロパティにデータを入力します。:
    • 外部データソース: リストビューやレポートで使われるラベル名を入力。
    • 名前: ユニークな識別子を入力。
    • 種別: SQL Server を選択。
  4. 認証には、次のプロパティを設定します:
    • 認証プロトコル: パスワード認証を選択します。OAuth 2.0 も選択可能です。
    • Certificate: Enter or browse to the certificate to be used to encrypt and authenticate communications from Salesforce to your server.
    • 管理者ユーザ名: Connect Server で設定したユーザー名を入力。
    • 管理者パスワード: ユーザーのauth トークンを入力。
Configuration settings for the data source. (NetSuite is shown.)

NetSuite データ と同期したオブジェクトの作成

外部データソース作成後、次の手順で NetSuite のデータを反映する外部オブジェクトを作成します。 NetSuite 外部オブジェクトとNetSuite テーブルの定義を同期する必要があります。

  1. 作成した外部データソースを選択します。
  2. [検証して同期]をクリックします。
  3. NetSuite テーブルをクリックして、外部オブジェクトとします。
The list of tables to synchronize in Salesforce. (NetSuite is shown.)

Salesforce オブジェクトとして NetSuite データ にアクセス

NetSuite のデータ を外部データソースとして追加し、NetSuite テーブルをNetSuite 外部データソースとして同期すると、標準のSalesforce オブジェクトとして外部オブジェクトを使用することができます。

  • フィルターリストビュー付で新しいタブを作成する:

    A filtered list view shown on a custom tab. (NetSuite Invoices are shown.)
  • 標準Salesforce オブジェクトと並べて NetSuite 外部オブジェクトをディスプレイできます:

    A related list that shows an indirect lookup relationship, which links a child external object to a parent standard object. (Salesforce accounts and associated NetSuite invoices are shown.)

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。