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 以降がサポートされています。

include:composer::_partials/connection-definition.adoc[]

include:composer::_partials/connection-name.adoc[]

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

include:composer::_partials/netsuite-connection-details.adoc[]

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​ に設定されている必要があります。

include:composer::_partials/null-values.adoc[]

トリガー

include:composer::_partials/trigger-definition.adoc[]

On Updated Records

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

On New Records

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

Polling Frequency (ポーリング頻度)

include:composer::_partials/polling-frequency.adoc[]

アクション

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

コンポーザーではユーザーのローカルタイムゾーンが保存されないため、​DateTime​ 項目に値が入力されると、入力された ​DateTime​ 値は UTC 形式であると想定されます。タイムゾーンには、時刻値に記号 ​+​ を含めるか、日付値に ​-​ 記号を含める必要があります。たとえば、マカオのタイムゾーンの 2019 年 6 月 1 日午後 12:30 は、​2019-06-01T12:30:00+08:00​ として表されます。また、日付が UTC で入力されて​いない​場合、コンポーザーによって自動的に日付が UTC 形式に変換されます。これはユーザーのローカルタイムゾーンとして正しい場合もあれば、正しくない場合もあるため、結果のロジックに影響する可能性があります。詳細は、 NetSuite ドキュメント​を参照してください。

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

Update Record

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

Create Record

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

Upsert Record

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

Delete Record

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

Get Records

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

"NetSuite Connector の [Get Records (レコードの取得) サンプルアクション設定", 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 は不要です。

include:composer::_partials/see-also.adoc[]