NetSuite Connector リファレンス

NetSuite をデータ取得元として使用している (たとえば、新しい NetSuite の連絡先を取得して Salesforce にコピーする) か、データ取得先として使用している (Salesforce の商談が完了したときに NetSuite の販売注文を作成する) かにかかわらず、フローでデータを操作する方法の詳細は、データ取得元またはデータ取得先に固有です。

接続の詳細

MuleSoft Composer を介して NetSuite に接続する場合、NetSuite で次の点を確認します。

  • [Setup (設定)]​ > ​[Integration Management (インテグレーション管理)]​ > ​[Manage Integration (インテグレーションを管理)]​ > ​[Authentication (認証)]​ に移動してトークンベースの認証が有効になっていることを確認します。

  • [Setup (設定)]​ > ​[User/Roles (ユーザー/ロール)]​ > ​[Two-Factor Authentication Roles (2 要素認証ロール)]​ に移動して、インテグレーションで使用するロールで 2 要素認証が使用されていないことを確認します。

コンポーザーでは NetSuite インスタンス 2020.2 以降がサポートされています。

システムに接続するには、それがデータの取得元であるかデータの取得先であるかに関係なく、そのシステムに必要なログイン情報を使用して接続を作成する必要があります。通常、フロー内の異なるシステムに接続し、接続が必要になるたびに各接続を再利用できます。

このシステムでは、接続のために次のログイン情報が必要です。

Connection Name (接続名)

この接続の詳細を把握するのに役立つ接続名を入力します。 1 つのフローおよび複数のフローで接続を複数回再利用できます。接続の作成後、ログイン情報は非表示になります。そのため、この接続を他の接続と簡単に区別できる名前を付けると役立ちます。

接続は自分にのみ表示されます。コンポーザーアプリケーションの他のユーザーは、独自の接続を作成する必要があります。

NetSuite には同時ユーザー (cWSU) ではなく正規ユーザー (WSU) として接続する必要があります。

Connection Display Name (接続表示名)

接続表示名は、接続を識別するために選択する一意の名前です。

Account (アカウント)

[Setup (設定)] > [Integration (インテグレーション)] > [SOAP Web Services Preferences (SOAP Web サービスプリファレンス)]​ にアクセスすることで、NetSuite インスタンスにリストされるアカウント ID。この値は文字と数値の文字列です (例: TESTME1234567​)。

Consumer Key (コンシューマーキー)

[Setup (設定)] > [Integration (インテグレーション)] > [Manage Integrations (インテグレーションの管理)]​ にアクセスすることで、NetSuite で生成されたコンシューマーキー。

Consumer Secret (コンシューマーシークレット)

コンシューマーキーと共に NetSuite で生成されたコンシューマーシークレット。

Token ID (トークン ID)

NetSuite で生成されたトークン ID。

Token Secret (トークンシークレット)

NetSuite でトークン ID を使用して生成されたトークンシークレット。

SOAP Port (SOAP ポート)

現時点では、この値は編集できません。

NetSuite 接続の確立

MuleSoft Composer を使用して NetSuite 接続を確立するには、NetSuite 内の関連付けられた顧客の内部 ID を保存する Salesforce 内の取引先が必要です。カスタム項目 ​[NetSuite ID]​ が組織の取引先オブジェクトに作成されていることを確認する必要があります。

NetSuite 権限の設定

NetSuite データおよび NetSuite ユーザーインターフェースへのアクセス権はユーザー、ロール、および権限に基づきます。

ユーザー、ロール、および権限についての詳細は、 NetSuite ドキュメント​を参照してください。

MuleSoft では、コンポーザーと NetSuite を統合するために必要な権限を持つロールを含むバンドルが提供されます。バンドルをインストールする手順は、次のとおりです。

  1. [Customization (カスタマイズ)] > [SuiteBundler] > [Search & Install Bundles (バンドルの検索とインストール)]​ に移動します。

  2. キーワード検索で「​462515​」と入力します。

  3. [MuleSoft Composer]​ をクリックし、​[Components (コンポーネント)]​ タブを確認します。

  4. [Install (インストール)]​ をクリックし、​[Install Bundle (バンドルをインストール)]​ をクリックします。インストールには数分かかります。

バンドルをインストールしたら、ログイン情報を生成してコンポーザーへの接続を設定します。ログイン情報はセキュリティ上の理由から一度しか表示されないため、ログイン情報を安全に保管してください。詳細は、NetSuite 管理者にお問い合わせください。

トークンの形式でログイン情報を生成する手順は、次のとおりです。

  1. 新しく作成した ​MuleSoft Composer​ ロールを目的のユーザーに割り当てます。

    1. [Setup (設定)] > [Users/Roles (ユーザー/ロール)] > [Manage Users (ユーザーの管理)]​ に移動します。

    2. インテグレーションをホストするユーザーをクリックします。独自のライセンスを必要としない ​it@company.com​ などの一般的なアカウントを使用できます。

  2. インテグレーションを作成します。

    1. [Setup (設定)] > [Integration (インテグレーション)] > [Manage Integration (インテグレーションの管理)] > [New (新規)]​ に移動します。

    2. インテグレーションの名前と適切な同時実行値を入力します。低い値から始めて、許可されている最大同時実行値よりも 1 ~ 2 単位低い値を使用できます。

    3. [Token-Based Authentication (トークンベース認証)]​ ボックスをオンにします。

  3. アクセストークンを生成します。

    1. [Setup (設定)] > [Users/Roles (ユーザー/ロール)] > [User Management (ユーザー管理)] > [Access Tokens (アクセストークン)]​ に移動します。

    2. 前のステップで作成したインテグレーションにアプリケーションを設定します。

    3. ユーザーを割り当て、​[Save (保存)]​ をクリックします。

  4. [Setup (設定)] > [Company (会社)] > [Company Information (会社情報)]​ に移動して、NetSuite アカウント ID を特定します。

サーバーの SuiteScript を実行してワークフローをトリガー

サーバーの SuiteScript を実行してワークフローをトリガーするように NetSuite 設定が定義されている場合、次の条件が必要です。

  • [Audience (オーディエンス)]​ 項目ですべてのロールが選択されている必要があります。

  • [Execute As Role (ロールとして実行)]​ 項目が ​Administrator​ に設定されている必要があります。

  • [Log Level (ログレベル)]​ 項目が ​Debug​ に設定されている必要があります。

null 値

デフォルトでは、コンポーザーでは値が空 (​null​) の項目が無視されます。この動作を変更して、項目値が null のときに項目の既存の値をクリアするには、カードで歯車をクリックして、​[Clear on Null Values (null 値でクリア)]​ を選択します。

トリガー

各フローは、​スケジューラー​または​トリガー​によって開始します。スケジューラーはデフォルトの頻度である 15 分に設定されます。トリガー (例:「each time a new record is created (新規レコードが作成されるたび)」) はユーザーが定義し、システム内のデータに関連する複数のオプションがあります。

トリガーは、ポーリングプロセスを使用して外部システムからの最新情報を能動的にチェックします。ポーリングの頻度は 15 秒に 1 回です。

このシステムでは、次のトリガーオプションが提供されます。

On Updated Records

レコードが作成されるか、既存のレコードが更新される。

On New Records

新しいレコードが NetSuite に作成される。

Polling Frequency (ポーリング頻度)

このコネクタのトリガーでは、​[Polling Frequency (ポーリング頻度)]​ 項目が必須です。この項目により、アクティブなフローのレコードの変更を検索するためにコンポーザーが基盤となるシステム API に対して要求を実行する頻度を選択できます。組織のフローごとに異なるポーリング頻度を選択できます。頻度が短くなると、フローの実行頻度は高くなりますが、より多くの ​API コール​がコンシュームされます。たとえば、注文管理フローがある場合、15 秒のポーリング間隔 (5760 API コール/日) で達成できるほぼリアルタイムの更新が必要になる可能性があります。これに対して、フローで価格設定カタログを更新する場合、1 時間ごと (24 API コール/日) にフローをポーリングすれば済みます。

アクション

システムに接続してトリガーを定義するか、スケジューラーを設定した後に、フローが実行するアクション (Workday から Salesforce へのレコードのコピーなど) を定義します。実行できるアクションは、接続しているシステムによって異なります。

このシステムでは次のアクションが提供されます。

Update Record

レコードが変更されます。

Create Record

レコードが作成されます。

Upsert Record

レコードが作成または更新されます。

Delete Record

レコードが削除されます。

Get Records

指定された検索条件に基づいて最大 500 個のレコードのリストを返します。

クエリビルダー UI、500
  • アクションで取得する項目は ​[Result fields (結果項目)]​ セクションで選択できます。

  • 1 つ以上の条件を追加して、​[Criteria (条件)]​ セクションで返されるレコードの種別を指定できます。たとえば、姓が「B」で始まることを指定することもできます。

  • [How Many Records to Retrieve (取得するレコードの数)]​ セクションで ​[All records (すべてのレコード)]​ を選択すると、条件に一致するレコードのリストを取得できます。​[All records (すべてのレコード)]​ オプションはデフォルトで選択されています。リストから単一レコードにアクセスする場合は、​For Each ループ​をフローに追加する必要があります。

  • 一意の識別子で検索を絞り込んだ場合は、​[How Many Records to Retrieve (取得するレコードの数)]​ セクションで ​[Only the first record (最初のレコードのみ)]​ を選択すると、単一レコードが返されます。単一レコードが返されると、検索の出力が​リスト​から​単一​レコードに変更されます。​Get records​ アクションは、すべてのレコードを検索し、リストの最初のレコードのみを返します。
    以前に ​[All records (すべてのレコード)]​ を選択し、その後選択を ​[Only the first record (最初のレコードのみ)]​ に変更した場合、既存のフローのデータピルが無効になる可能性があります。

レコードタイプ

次のレコードタイプがサポートされています。

レコードタイプ トリガー アクション

BILLING_SCHEDULE

X

CASH_SALE

X

X

CASH_REFUND

X

X

CLASSIFICATION

X

CONTACT

X

X

CREDIT_MEMO

X

X

CURRENCY

X

CURRENCY_RATE

X

CUSTOMER

X

X

CUSTOMER_DEPOSIT

X

X

CUSTOMER_PAYMENT

X

X

CUSTOMER_REFUND

X

X

CUSTOM_RECORD_TYPES

X

X

DEPARTMENT

X

ESTIMATE

X

X

EMPLOYEE

X

X

GIFT_CERTIFICATE_ITEM

X

X

INVENTORY_ADJUSTMENT

X

X

INVENTORY_ITEM

X

X

INVOICE

X

X

ITEM_FULFILLMENT

X

X

ITEM_GROUP

X

X

ITEM_RECEIPT

X

X

JOURNAL_ENTRY

X

X

KIT_ITEM

X

X

LEAD

X

X

LOCATION

X

LOT_NUMBERED_ASSEMBLY_ITEM

X

X

LOT_NUMBERED_INVENTORY_ITEM

X

X

NON_INVENTORY_PURCHASE_ITEM

X

X

NON_INVENTORY_RESALE_ITEM

X

X

NON_INVENTORY_SALE_ITEM

X

X

OPPORTUNITY

X

X

OTHER_CHARGE_PURCHASE_ITEM

X

X

OTHER_CHARGE_RESALE_ITEM

X

X

OTHER_CHARGE_SALE_ITEM

X

X

PARTNER

X

X

PAYMENT_ITEM

X

X

PRICE_LEVEL

X

PROSPECT

X

X

PURCHASE_ORDER

X

X

RETURN_AUTHORIZATION

X

X

SALES_ORDER

X

X

SERIALIZED_ASSEMBLY_ITEM

X

X

SERIALIZED_INVENTORY_ITEM

X

X

SERVICE_PURCHASE_ITEM

X

X

SERVICE_RESALE_ITEM

X

X

SERVICE_SALE_ITEM

X

X

SUBSIDIARY

X

SUPPORT_CASE

X

X

TIME_BILL

X

X

TIME_SHEET

X

X

TRANSFER_ORDER

X

X

VENDOR

X

X

VENDOR_BILL

X

X

CURRENCY および ​PAYMENT_ITEM​ オブジェクトは GET RECORDS アクションではサポートされていません。

LEAD および PROSPECT オブジェクトは GET RECORDS アクションでのみサポートされます。LEAD および PROSPECT オブジェクトは CUSTOMER オブジェクトのサブ種別であるため、他のアクションに LEAD および PROSPECT オブジェクトを使用するには、NetSuite ドキュメントに従ってオブジェクト種別を CUSTOMER に設定し、​entityStatus​ の ​internalId​ を対応する値に設定します。

DEPARTMENT、LOCATION、​PRICE_LEVEL​、SUBSIDIARY オブジェクトは GET RECORDS アクションでのみサポートされます。

カスタム項目

MuleSoft Composer を使用して、NetSuite レコードで設定したアクションとトリガーのカスタム項目値にアクセスできます。

リストオブジェクト

リストオブジェクトがサポートされます。

[Get Records (レコードの取得)]​ アクションでは、次のリストオブジェクトがサポートされます。

  • Department (部署)

  • Locations (場所)

  • Price Level (価格レベル)

  • Subsidiary (子会社)

カスタム選択リスト

値名を使用して値をカスタム選択リストにマップできます。値をカスタム選択リストにマップするのに内部 ID は不要です。