2014年11月04日
セールスフォースで管理している情報をPowerCMSのテンプレート・タグで出力する
PowerCMS for Salesforce(ForceConnectプラグイン)バージョン1.5以降では、セースルフォース上のオブジェクトの情報をMTML(Movable Type PowerCMSのテンプレートタグ)を用いて出力することができます。これによって、オウンドメディア、自社ウェブサイトにセールスフォースで管理している様々な情報を表示させることができます。
これらのテンプレート・タグはスタティックパブリッシング/ダイナミックパブリッシング(DynamicMTML)の両方に対応しています。
環境変数
mt-condig.cgi に下記の環境変数の指定を行います。
SalesforceAPICacheDir /path/to/cache/directry/ # キャッシュファイルの格納先 SalesforceAPICacheTtl 3600 # キャッシュ有効期限(秒)
これらの指定のない場合、常にAPIを経由してセースルフォース上の情報を取得します。
テンプレート・タグ
APIへのリクエスト(1) APIからの単一オブジェクトの取得
以下は、chatterのプロフィールから、名前、写真のURLを取得する例です。プラグイン設定で指定しているユーザーのプロフィールからの取得になります。
ブロックタグ中で各値は MTVarタグで取得(salesrorce.API参照名)可能です。
<MT:SalesforceGetApi api="/chatter/users/me" single_object="1">
https://ap.salesforce.com/services/data/v28.0/chatter/users/me
<MT:Var name="salesforce.name">
<MT:SalesforceVarsRecurse key="salesforce.photo">
<MT:Var name="salesforce.url">
<MT:Var name="salesforce.largephotourl">
</MT:SalesforceVarsRecurse>
</MT:SalesforceGetApi>
配列になっている値についてはSalesforceVarsRecurseブロックタグで再帰的に取得できます。
<MT:SalesforceVarsRecurse key="salesforce.photo">
<MT:Var name="salesforce.url">
<MT:Var name="salesforce.largephotourl">
</MT:SalesforceVarsRecurse>
APIへのリクエスト(2) APIからの複数オブジェクトの取得
<MT:SalesforceGetApi api="/chatter/users" item="users">
https://ap.salesforce.com/services/data/v28.0/chatter/users
<MT:Var name="salesforce.name">
<MT:SalesforceVarsRecurse key="salesforce.photo">
<MT:Var name="salesforce.url">
<MT:Var name="salesforce.largephotourl">
</MT:SalesforceVarsRecurse>
</MT:SalesforceGetApi>
APIへのリクエスト(3) APIからの複数オブジェクトの取得(SOQL利用/limit,sort条件等指定可能)
このテンプレート・タグは、以下のSOQL(Salesforce Object Query Language)文を発行します。
https://ap.salesforce.com/services/data/v28.0/query?q=SELECT+Id%2CName%2CPhone%2CEmail+FROM+Contact+ORDER+BY+Name+LIMIT+5
APIへのリクエスト(4) APIからの複数オブジェクトの取得
<MTSalesforceSobjects sobject="Contact">
</MTSalesforceSobjects>
このテンプレート・タグは、以下のSOQL文を発行します。
https://ap.salesforce.com/services/data/v28.0/sobjects/Contact/
APIへのリクエスト(5) APIからの個別オブジェクトの取得(ID指定)
このテンプレート・タグは、以下のSOQL文を発行します。
https://ap.salesforce.com/services/data/v28.0/sobjects/Contact/0031000000NEfbkAAD
例外処理
<MTVar name="salesforce.errorcode"> エラーコードを表示します。
<MTVar name="salesforce.errormessage"> エラーメッセージを表示します。
例外時の分岐処理(条件タグ)
<MTIf name="salesforce.errorcode">
エラー時に表示するブロックです。
<MTElse>
正常時に表示するブロックです。
</MTIf>
これらのタグで出力できないような複雑なパターンなどについても、別途プラグインを作成することで対応できるかもしれません。詳細についてはお問い合わせください。
※Salesforce.com 及び セールスフォース・ドットコムは salesforce.com, inc. の登録商標です。
コメントを投稿する