2014年7月30日水曜日

PHPによるセールスフォースAPI連携2(オブジェクト作成/データ登録)


1.セールスフォースでオブジェクトを新規作成する

1.1. 「スキーマビルダ」をクリックします。



































1.2. 「オブジェクト」タブで登録済みのオブジェクトが確認できます。




























 
1.3.  左カラムの「要素」タブを選択し、「オブジェクト」をドラック&ドロップするとオブジェクトが新規作成されます。




























1.4. 新規オブジェクト作成画面で、必要項目を登録します。







































1.5.オブジェクトが作成されます。


































1.6. オブジェクトに登録されているデータを確認するために、タブの設定を行います。
「設定」→「作成」→「タブ」「カスタムオブジェクトタブ」「新規」を押します。


1.7. オブジェクトを選択し、「次へ」を押して行きます。




















1.8. 登録が完了すると、ヘッダメニューにオブジェクト名のリンクが表示されます。






1.9. オブジェクト名のリンクをクリックすると、下記にデータが表示されます。(データが登録されると表示されます。)


2. PHPプログラムからデータをインサートする。

2.1. SQLで使用する、API参照名、項目名を調べる。
「設定」→「作成」→「オブジェクト」→「オブジェクト名」を押す。






















































2.2. プログラムを作成する。

  
<?php

// Toolkitを読込みます。
require_once("./soapclient/SforcePartnerClient.php");

// 事前に必要な情報を宣言します。

// 今回は特定のセールスフォース組織に依存しないような場合に利用する
// Partner WSDL ファイルを利用します。
define("PARTNER_WSDL_FILE", "./configs/partner.wsdl.xml");

// セールスフォースへAPI接続する場合、接続元のIPアドレス許可が必要となりますが、
// 代替手段として、今回はセキュリティトークンを発行してIPアドレス許可の設定はスキップします。
define("SECURITY_TOKEN", "************************");

// API でログインするセールスフォースのアカウントです。
define("LOGIN_ID", "*******@***.**.**");

// パスワードの後ろにセキュリティトークンを付けます。
define("LOGIN_PASS", "**********" . SECURITY_TOKEN);


// 接続用クラスを生成します。
$sforce_connection = new SforcePartnerClient(); 
$soap_client = $sforce_connection->createConnection(PARTNER_WSDL_FILE, null);

echo "<pre>";

try {
    // セールスフォースへログインを実行します。
    $login = $sforce_connection->login(LOGIN_ID, LOGIN_PASS);
    var_dump($login);

} catch (Exception $e) {
    var_dump($e);
}

// 追加するデータは stdClass を利用して作成します。
$insert_data = new stdClass();
$insert_data->type = "test01__c";
$insert_data->fields = array(
"Name" => "あいうえお", 
);
try {
$result = $sforce_connection->create(array($insert_data));
var_dump($result);

} catch (Exception $e) {
var_dump($e);
}

// 通常の SQL と大きく変わりませんが、少し独特な個所がありますので徐々に慣れていきましょう。
try {
$query = "SELECT id, name FROM test01__c";
$result = $sforce_connection->query($query);
$parse_result = get_object_vars($result);
var_dump($parse_result);

} catch (Exception $e) {
var_dump($e);
}


echo "<br />END</pre>";

?>


実行結果
 
array(1) {
  [0]=>
  object(stdClass)#9 (2) {
    ["id"]=>
    string(18) "a041000000TvX03AAF"
    ["success"]=>
    bool(true)
  }
}
array(5) {
  ["queryLocator"]=>
  NULL
  ["done"]=>
  bool(true)
  ["records"]=>
  array(1) {
    [0]=>
    object(stdClass)#10 (3) {
      ["type"]=>
      string(9) "test01__c"
      ["Id"]=>
      array(2) {
        [0]=>
        string(18) "a041000000TvX03AAF"
        [1]=>
        string(18) "a041000000TvX03AAF"
      }
      ["any"]=>
      string(34) "あいうえお"
    }
  }
  ["size"]=>
  int(1)
  ["pointer"]=>
  int(0)
}


2.3. 登録データを確認する。
















0 件のコメント:

コメントを投稿