PowerCMS™
2025年1月1日購入分よりライセンスの価格を改定いたします。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[ブログ] PowerCMS サポートの実績 (2024年10月) を追加しました。
[よくあるご質問] スマートフォンでは使えない機能がありますか? を追加しました。

PowerCMS ブログ

ホーム > PowerCMS ブログ > PowerCMS 4 > セールスフォースで管理している情報をPowerCMSのテンプレート・タグで出力する

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. の登録商標です。


カテゴリー
PowerCMS 3
PowerCMS 4
テンプレート作成Tips
プラグイン

Recent Entries