Salesforce Leadオブジェクトのデータを更新するサンプルシナリオ

はじめに

WinActorのOAuth関連ライブラリを使用して、Salesforce Lightning Platform (以降、Salesforceと記載します。) の Leadオブジェクトのデータを更新するサンプルシナリオについて説明します。

本サンプルシナリオの概要

本サンプルシナリオは、以下の処理を行います。

使用するWinActorモジュール

本サンプルシナリオでは、以下のWinActorモジュールを使用します。

本サンプルシナリオの入力ファイル

Excelファイルを入力ファイルとします。
シナリオ内でExcelファイルをオープンし、処理を実施するのに必要な情報を取得します。
入力ファイルの詳細は入力ファイルの形式を参照してください。

本サンプルシナリオの出力ファイル

更新時の実施結果を、JSON形式のログファイルとして保存します。
詳細はログファイルを参照してください。

本サンプルシナリオの想定レベル

本ドキュメントは、以下の技術レベルのユーザを対象としています。

動作確認環境

サンプルシナリオは以下の環境で確認しています。

制約事項

本サンプルシナリオの使い方

本サンプルシナリオの実施方法は以下の通りです。

Step 1. Salesforceの接続アプリケーション設定

本サンプルシナリオでSalesforce にアクセスする場合、Salesforce 側にも接続用のアプリケーションが必要です。まだ 接続アプリケーションを作成していない場合は、 Salesforce.com日本語公開ヘルプサイトの「接続アプリケーションの作成」 を参照して、以下の接続アプリケーションを作成してください。

Step 2. 入力ファイルを作成し、ディレクトリに配置

本サンプルシナリオ(SS1903_5448_AccessSalesforceLead_Update.ums5)が格納されているディレクトリに移動します。
このディレクトリに入力ファイルを配置します。

本サンプルシナリオには、サンプルのExcelファイルが添付されていますが、入力されているIDが異なるため、このファイルを使用して更新を行うことができません。
本サンプルシナリオを実行する場合、登録を行ったときに自動付与されたIDが入った入力ファイルが必要です。

以下の手順で入力ファイルを作成します。

Step 3. WinActorで本サンプルシナリオを読み込み

WinActorを起動し、本サンプルシナリオを読み込みます。

Step 4. Salesforceアクセス用情報を設定

Salesforceの接続アプリケーションにアクセスするための値を、変数一覧で設定します。
アクセス用情報の設定 を参照してください。

Step 5. 入力ファイル名を設定

本サンプルシナリオを実行するために必要な値を、変数一覧で更新します。
本サンプルシナリオの実行にあたり、事前に設定が必要な変数は下記の通りです。

本サンプルシナリオ変数一覧の入力ファイル設定
本サンプルシナリオ変数一覧の入力ファイル設定

Step 6. WinActorで本サンプルシナリオを実行

本サンプルシナリオを実行開始します。
入力ファイルにあるデータをすべて実施するまで、シナリオはループします。

Step 7. サンプルシナリオ実行終了後の確認

Salesforceのサイトにアクセスし、Excelに格納されていたデータが、すべて更新されていることを確認してください。

トラブルシューティング

本サンプルシナリオでは、シナリオ固有のエラーメッセージ、および使用しているライブラリ由来のエラーメッセージを表示することがあります。

以下に、シナリオ固有のエラーメッセージについて記載します。

エラーメッセージ エラー内容
ヘッダに情報がありません。
処理を中断します。
入力ファイルのヘッダ(1行目)に項目名がありません。
注:ヘッダにID列しかない場合も登録する項目がないため、有効情報なしとみなします。
ヘッダ内にID列がありません。
処理を中断します。
入力ファイルのヘッダ(1行目)にID列がありません。

ライブラリ由来のエラーメッセージについては、ライブラリのエラーメッセージ一覧を参照してください。

サンプルシナリオ解説

本サンプルシナリオで使用している実装テクニックについて説明します。

入力ファイルの形式

入力ファイル(Excel)は以下の形式をとります。

行番号 指定内容 詳細
1行目 ヘッダ ID 、および更新対象のデータの項目名。1列1項目名12
2行目以降 更新データ 更新用情報。項目名分格納すること。

更新時に何のデータを書き込むかを、入力ファイルの1行目ヘッダで指定します。
必須項目を含め、任意の項目を更新対象とすることができます。
しかし、必須項目を更新対象とした場合はその更新文字列が空の時にはエラーとなります。
また、更新するいずれかのデータが最大長を超える場合、更新処理がエラーとなります。

本サンプルシナリオで確認している項目については、Salesforce Leadのデータ項目 を参照してください。

Salesforceでは、Lead等の各オブジェクトに新しいデータを追加したり、データ形式を変更することができます。
Leadの初期値に無い項目を指定することも可能ですが、本サンプルシナリオでは、Leadの初期状態でのみ動作確認を行っています。

入力ファイルサンプル
入力ファイルサンプル

入力ファイルを自作する場合の注意事項

本サンプルシナリオは、Excelのセルの表示上の文字列をSalesforceに保存します。
入力ファイルを自作する場合は、表示上の文字列が正しいかを確認してください。
セルに以下のようなデータを格納している場合、Excelのセル書式によっては表示が変換されていることがあります。

セルに入力した値 入力例 Excelの表示例 標準書式時にExcelで表示される値
数値や数式と認識されるデータ 0120156489 120156489 先頭の0が欠落したり、数式の計算結果が表示されます。
12桁以上の数値データ 123456789123406 1.23457E+14 指数表記になります。
日付と認識されるデータ 11/9 11月9日 日付のフォーマットに変換されます。

入力した通りの値をSalesforceに保存したい場合、これらの文字列が格納されるセルの書式を、事前に文字列に設定してから値を入力してください。

Salesforceに送る情報(RESTful API実行.ums5 ライブラリの送信用データファイル)

本サンプルシナリオは、「JSONファイル作成」処理で、Excel上の1行(1レコード)毎に1つのJSONファイルを作成します。
「JSONファイル作成」処理では、以下の処理を実施します。

ここで作成されたファイルが RESTful API実行.ums5 ライブラリを経由してSalesforceに渡されます。

Salesforceの実施結果取得(RESTful API実行.ums5 ライブラリの受信用データファイル)

本サンプルシナリオは、「登録結果確認」処理で、Salesforceから送られた実施結果のJSONファイルを解析します。
「登録結果確認」処理では、以下の処理を実施します。

実施結果が「False」だった場合、「エラー内容取得」処理で実施結果のファイルからerrorコード、errorメッセージを取得します。

ログファイル

本サンプルシナリオでは、変数一覧で指定された [ログフォルダ/log] のディレクトリにログを出力します。
どちらのファイルも、更新データの数だけ出力されます。

ログファイル名 ログ内容
RequestJson_x行目_{日時}.txt 更新時に作成したJSONファイル。
x:入力ファイル内の行番号
日付:更新実施日時。YYYYMMDDhhmmssの形式
ResponseJson_ZZx行目_{日付}.txt 更新の実施結果を格納したJSONファイル。
ZZ:実施結果。正常終了時はOK、異常終了時はNG。
x:入力ファイル内の行番号
日付:更新実施日時。YYYYMMDDhhmmssの形式

変更履歴

版数 日付 修正内容
1.0版 2019/03/25 初版
1.1版 2023/06/12 注意事項を削除

  1. 本サンプルシナリオでは「ID」列は必須です。ヘッダに「ID」列がない場合、エラーを出力し処理を中断します。

  2. ヘッダにSalesforceのLeadオブジェクトに存在しない項目名を指定すると、更新時にエラーを出力し処理を中断します。