SalesForceのsoap APIでログインやDB操作を行う

.NET

始めに

前回までの2記事でsoapAPIを使うためにSFやvisual studioの準備をしてきました。

今回はいよいよログインやDB操作をSFのsoapAPIを使って行います。

準備や環境設定が不十分な方は下記の2記事を参照ください。

SalesForceでsoap APIを利用するための前準備

SalesforceのsoapAPIを使う(Visual Studio環境設定)

 

セールスフォースでは下記の通りにDBの呼び方を呼称いたします。
テーブル = オブジェクト
カラム = 項目
レコード = レコードこちらの記事ではSFのDB用語に合わせて記述します。

SOAP API

下記のソースコードは言語は全てVB.netです。

C#にしたい方はこちらのコンバータをお使いください

 

SforceService()というクラスにSFを操作するメソッドが定義されています。

 

ログイン(login)

下記のソースコードにメソッド呼び出しの制御をするMain()を記述しているので、
必要なメソッドを追加しましたら、こちらにメソッド呼び出しを追加してください。

 

パスワードについて
パスワード + セキュリティトークンの文字列をAPI実行時に
SFが求める任意のIPからのアクセスの場合セキュリティトークン不要です。
実行結果

 

取得(query)

今回はSFの標準オブジェクトである「キャンペーン」オブジェクトのレコードを取得するソースを例として書いております。

 

◆取得したいオブジェクトに合わせて下記のソースをを静的に書きなおす必要があります。
①From句の対象オブジェクト名
②Dim con As Campaign = CType(records(i), Campaign)

◆取得する項目に合わせて下記の通りに、ソースを合わせる必要があります。

 

実行結果

 

登録(create)

今回はSFの標準オブジェクトである「取引先」オブジェクトにレコードを登録するソースを例として書いております。

 

createメソッドにはオブジェクトの配列を引数としてわせるので
複数のレコードを一度に登録することができます。

 

実行結果

 

更新(update)

今回はSFの標準オブジェクトである「取引先」オブジェクトにレコードを更新するソースを例として書いております。

 

updateメソッドにはオブジェクトの配列を引数としてわせるので
複数のレコードを一度に更新することができます。

 

実行結果

 

削除(delete)

 

deleteメソッドにはIDの文字列の配列を引数としてわせるので
複数のレコードを一度に更新することができます。

 

実行結果

 

IDとは
SalesForceのオブジェクトには全てIDという項目があり、このIDはSFによって自動採番されています。

※SFのオブジェクトマネージャーからは参照できません。

登録・更新(upsert)

SFには外部ID・ユニークキーで対象のレコードを識別して、
レコードがあれば更新、なければ登録というように処理をする便利なAPIがあります。

しかし、対象のオブジェクトが外部IDやユニークキーの項目を保持していないといけません。

 

外部IDとは
カスタムオブジェクトのみ付属できる項目。
※カスタムオブジェクトとは既存のSFが提供するオブジェクトではない、
自分で生成したオブジェクトです。
外部の機能からユニークにレコードを判別するための役割があります。
※外部の機能とは例えば、今回自分で作成しているsoapAPIです。

 

updateと違ってIDではなく、外部IDやユニークキーでレコードを識別して登録更新を行います。

つまり、外部IDもユニークキーも持たないオブジェクトでは使えません。

コメント