Salesforce Sales Cloud / Service Cloud

Salesforce Sales CloudSalesforce Service CloudからKARTEに対してデータ連携が可能です。

🚧

コールバックURLの仕様変更について

2021年11月26日に、コールバックURLの仕様変更を行いました。
接続先の設定画面で連携・再連携を行う際には、Salesforceのアプリケーション設定でコールバックURLを変更してから連携を行ってください。

既存の接続先を使用してのジョブフローの実行については、設定変更の必要はございません。

データ連携のパターン

  • 以下の連携が可能です
    • Datahubに直接インポートする(Salesforce→KARTE)
    • Datahubから直接エクスポートする(KARTE→Salesforce)

注意点

  • Salesforceのログイン時にAzure Active DirectoryによるSAML SSOを使用している場合、API経由での認証ができないためDatahubとのデータ連携ができません
  • 連携サービス側の設定やプランによっては、意図した通りに連携できない可能性があります
    • 必ず、事前に連携検証を実施してください

事前に必要な設定

Salesforce Sales Cloud(以下SC) / Salesforce Service Cloud (以下Service)上での設定

参考:https://help.salesforce.com/articleView?id=connected_app_create_basics.htm&type=5

  1. Salesforce管理者アカウントでSC (or Service)へログイン後、管理者権限で、

    • [設定] から、[クイック検索] ボックスに「アプリケーション」と入力し、[アプリケーションマネージャ] を選択します。
    • [新規接続アプリケーション] をクリックします。
  2. 下記必須項目の設定を行う。その他の設定は任意です。

  • 「API OAuth設定の有効化」にチェック
  • コールバックURLに以下2つのURLを入れてください。
    • https://admin.karte.io/oauth2/schedule/callback/SALESFORCE/
    • https://admin.karte.io/oauth2/schedule/callback/SALESFORCE/${api_key}
      • ${api_key} の部分はKARTEのAPIキーに置き換えてください
  • OAuth範囲を以下に設定
    • データへのアクセスと管理 (api)
    • ユーザーに代わっていつでも要求を実行 (refresh_token, offline_access)
  1. 以上の設定を保存する

※(エクスポートのみ)使用する場合はKARTE内プラグインインストールが必要なため、担当者にお問い合わせください。

Datahubジョブ設定

接続先の設定

  1. [ジョブフロー]画面 > 「作成」を選択してください
  2. [ジョブフローを作成]画面 > ジョブの設定 > 「ジョブの追加」を選択してください
  3. ジョブタイプ > 「データテーブルへインポート」を選択し、インポート元 > 「外部サービス」を選択してください
  4. 接続先 > [接続先の作成・管理]ボタンから接続先を作成し、下記を入力してください
  • 接続先名
    • 任意の名称を入力してください
  • クライアントID
    • SC/Service管理画面にて、接続アプリケーション詳細画面から コンシューマ鍵 として取得できます。
  • クライアントシークレット
    • SC/Service管理画面にて、コンシューマの秘密として取得できます。
  • ログインURL
    • SC/Service 本番環境であればhttps://login.salesforce.com/、Sandbox環境であればhttps://test.salesforce.com/を入力してください
  • インスタンスURL
    • 貴社Salesforce管理画面URLを入力してください
      • ex. https://xxx.my.salesforce.com/ , https://xxx.lightning.force.com/
      • https://xxx.lightning.force.com/lightning/page/home という形式で設定するとエラーが発生します。hostまでを入力してください。
      • https://xxx.lightning.force.com/(Lightning画面)でジョブフロー実行時にエラーが出る場合には、https://xxx.my.salesforce.com/(Classic画面)での設定をお試しください。
  1. 1の入力完了後、「つなげる」をクリックし、SC/Service のログイン・認証を行ってください
  2. 認証が完了し、KARTEの画面に遷移したら、「つなげる」ボタン → 「連携済/再取得する」ボタンになっている事を確認してください
  3. 設定内容に問題がなければ「保存」ボタンを押して完了です

スケジュールの設定

インポート

  • スキーマ
  • 対象オブジェクト
    • 取得対象のオブジェクト名を入力してください
      • Salesforceの 設定 > オブジェクトマネージャ で参照できる、オブジェクトのAPI参照名を入力してください。
        • 例:取引先→Account, 契約→Contract
  • 取得項目
    • デフォルトフィールド:(例)Status
    • カスタムフィールド:(例)Plan__c
    • デフォルトで参照しているオブジェクトのフィールド:(例)Account.Name
    • カスタムで参照しているオブジェクトのフィールド:(例)Contract1__r.StartDate
    • salesforceの基準テーブル上のフィールド名をそのまま記入してください
    • salesforce上での参照関係があれば何階層でもたどることが可能です
    • フィールド名は、下記いずれかの方法でご確認いただけます
      • i. salesforce にログイン > 設定 >カスタマイズ > (対象オブジェクトを選択) > 項目 と遷移し、下記画像のように記載されている「API参照名」を「Salesforce上のフィールド名」に記入してください
      • ii. salesforce にログイン > 設定 > オブジェクトおよび項目 > オブジェクトマネージャ> (対象オブジェクトを選択) > 項目とリレーション と遷移し、下記画像のように記載されている項目名「項目名」を「Salesforce上のフィールド名」に記入してください
  • SOQLクエリを利用する
    • SOQLクエリで結果を取得する場合はチェックを入れてください。
    • チェックを入れた場合、上記の対象オブジェクト、取得項目は無視されます。
  • クエリ(SOQL)
    • 実行するSOQLクエリを入力してください。

エクスポート

  • 処理概要:エクスポートはキーを元に、更新先のレコードを新規作成・または更新します。update、upsertから選択します
  • データセット
  • 対象オブジェクト
    • 取得対象のオブジェクト名を入力してください
      • 設定 > オブジェクトマネージャ から参照できる、オブジェクトのAPI参照名を入力してください
        • 例:取引先→Account, 契約→Contract
  • 更新種別:
    • update
      • salesforce の Id (レコードID)をキーに、対象のクエリで select した項目で更新します。
      • クエリで select した項目のみ更新します。クエリで select していない限りは更新されません。
    • upsert
      • キー項目が Sales Cloud の対象オブジェクトになければ insert
      • キーが一致すれば該当したレコードを update
        • この場合データテーブルに入っている項目全てで上書きされます。
    • ※いずれもキーと更新する項目は salesforce 側のAPI参照名と一致させてください。
  • 外部ID(任意)
    • 更新種別で upsert を選択した場合だけ使用されます。
    • デフォルトで参照しているオブジェクトのレコードID:(例)Account の Id
      • Sales Cloud 側のオブジェクトのカスタムキーを外部ID((例)email___c)として指定することができます(メールアドレスなど)。外部IDが入らない場合はレコードID(Id)が採用されます
      • クエリで取得するデータテーブルには、レコードIDを設定する場合はレコードID、外部IDを指定する場合は対象項目を入れてください
      • salesforceの API参照名 のフィールド名をそのまま記入してください
    • フィールド名は、下記いずれかの方法でご確認いただけます
      • i. salesforce にログイン > 設定 > オブジェクトおよび項目 > オブジェクトマネージャ> (対象オブジェクトを選択) > 項目とリレーション と遷移し、該当の項目の「項目名」を確認してください
  • 大量データのタイムアウトについて
    • 時間がかかる大量データのリクエストに関してはタイムアウトする可能性がございます。(現在10分で設定)その場合、途中まで更新されたデータはそのまま更新された状態となります。実行される場合は複数回実行される前提でデータを作成していただくようお願い致します。
  • 認証後のエラーについて
    • 連携による接続先の設定後、エクスポートにて Unable to find any data to create batch エラーが生じることがあります。このエラーは数時間〜1日程度の時間経過により解消することがあります。1日経過してもエラーが改善しない場合、お問い合わせください。

❗️

注意事項

本機能(エクスポートのみ)は現在β版提供のため、今後仕様が変更される場合があります。
また、使用する場合はプラグインインストールが必要なため、担当者にお問い合わせください。

よくある質問

Q. Salesforce側で論理削除されたレコードは、Datahubにデータをインポートする場合の取り込み対象になりますか?

  • A. なりません