Salesforce Classic パブリッシャー JavaScript API では、Salesforce Classic アプリケーションのレコードページに追加した、フィードに対応しているオブジェクトのアクションを Visualforce ページとコンポーネントで操作できます。パブリッシャー API は、標準ナビゲーションやコンソールナビゲーションを使用する Salesforce Classic アプリケーションで動作します。たとえば、事前に作成されたカスタマイズ済みのテキストを生成するコンポーネントを開発し、そのテキストをケースフィードのポータルアクションで新しい投稿に追加し、投稿をポータルに送信する操作を、ワンクリックですべて行うことができます。
| 使用可能なインターフェース: Salesforce Classic |
| 使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition |
Sfdc.canvas.publisher オブジェクトの publish メソッドを使用して、コンソールコンポーネントでクイックアクションを操作できます。
Salesforce Classic JavaScript パブリッシャー API の API バージョン 43.0 以降、Visualforce コンポーネントで使用されるメソッドは Lightning Experience で機能します。Lightning Experience で Visualforce ページを使用するには、カスタムクイックアクションを使用するか、Lightning アプリケーションビルダーでそれをページに追加します。Visualforce ページでパブリッシャー API スクリプトの 43.0 バージョンをポイントするだけです。
publisher.selectAction
| 指定されたアクションを選択し、そこにフォーカスを移動します。 |
actionName — 選択するアクション。サポートされている値は、次のとおりです。
-
action_name – 作成、活動の記録、またはカスタム Visualforce クイックアクション。たとえば、取引先責任者の作成アクションの action_name は create_contact のようになります。
-
Case.CaseComment — ケースフィードのポータルアクション
-
Case.ChangeStatus — ケースフィードの状況の変更アクション
-
Case.Email — ケースフィードのメールアクション
-
Case.LogACall — ケースフィードの活動の記録アクション
-
FeedItem.TextPost — 標準 Chatter 投稿アクション (API バージョン 32.0 以降で使用可能)
-
SocialPostAPIName.SocialPost — ソーシャル投稿アクション (API バージョン 32.0 以降で使用可能)
|
API バージョン 29.0 以降で使用できます。 |
コードサンプル
次のコードスニペットは、メールアクションを選択し、そこにフォーカスを移動します。
Sfdc.canvas.publisher.publish({name:"publisher.selectAction",payload:{actionName:"Case.Email"}});
publisher.setActionInputValues
| アクションのどの項目に特定の値を入力する必要があるかと、その値を指定します。 |
actionName — 入力する必要がある項目でのアクション。有効な項目値は、指定するアクションによって異なります。
-
emailFields – Case.Email で使用できます。ケースフィードのメールアクションで使用できる標準項目です。
- to
- cc
- bcc
- subject
- body
- template
-
portalPostFields – Case.CaseComment で使用できます。ケースフィードのポータルアクションで使用できる標準項目です。
-
targetFields – Case.ChangeStatus、Case.LogACall、FeedItem.TextPost、およびソーシャルアクションで使用できます。次のアクションで使用できる標準項目です。
-
parentFields — Case.ChangeStatus、Case.Email、および Case.LogACall で使用できます。ケースの標準項目およびカスタム項目です。参照項目はサポートされません。
|
API バージョン 29.0 以降で使用できます。 |
コードサンプル
次のコードスニペットは、メールメッセージの項目に定義済みの値を入力し、関連ケースの状況を [Closed (クローズ)] に設定します。
このコードスニペットによって、投稿アクションの本文の現在のカーソル位置に語句「Hello World」が挿入されます。
invokeAction
| 指定されたアクションの送信機能 (メールの送信やポータルコメントの投稿など) をトリガします。 |
actionName — 送信機能のトリガ対象となるアクション。次のアクションがサポートされています。
- Case.Email
- Case.CaseComment
- Case.ChangeStatus
- Case.LogACall
-
FeedItem.TextPost (API バージョン 32.0 以降で使用可能)
-
SocialPostAPIName.SocialPost (API バージョン 32.0 以降で使用可能)
|
API バージョン 29.0 以降で使用できます。 |
コードサンプル
次のコードスニペットは、メールアクションで送信機能をトリガし、メールメッセージ��送信と関連フィード項目の生成を行います。
Sfdc.canvas.publisher.publish({name:"publisher.invokeAction",payload:{actionName:"Case.Email"}});
customActionMessage
| カスタムイベントをカスタムアクションに渡します。Visualforce ベースのカスタムアクションでのみサポートされます。 |
actionName — イベントを渡す先となる Visualforce カスタムアクション。 message – カスタムアクションに渡すイベント。
|
API バージョン 29.0 以降で使用できます。 |
コードサンプル
次のコードスニペットは、Hello world イベントをアクション my_custom_action に渡します。
Sfdc.canvas.publisher.publish({name:"publisher.customActionMessage", payload:{actionName:"my_custom_action", message:"Hello world"}});次のコードスニペットは、my_custom_action で Hello world イベントをリスンするために使用されます。
Sfdc.canvas.publisher.subscribe([{name : "publisher.customActionMessage", onData : function(e) {alert(e.message);}}]);
使用事例
Universal Cable では、全米で数 100 万人もの電話/ケーブル顧客にサービスを提供し、さまざまな規模のコールセンターに 4000 人のサポートエージェントを有しています。Universal では、Salesforce ナレッジに含まれる会社の大量の記事にエージェントが簡単にアクセスでき、サポートコストを抑えるためにメールを通して顧客と記事を共有したいと考えています。
Universal では、
publish のイベントを使用して、次のようなカスタムコンソールコンポーネントを作成しました。
- 最近公開されたものから順に、ナレッジ記事のリストを表示する。
- エージェントは、タイトルをクリックして記事を参照できる。
- エージェントは、コンソールコンポーネントで [メール] ボタンをクリックすることで、記事の完全な書式設定済みテキストをケースフィードのメールアクションでメッセージに追加できる。
コードサンプル
次のコードスニペットは、以下の Visualforce ページで使用されるカスタムコントローラを含む Apex クラスを示します。
次のコードサンプルは、上記の使用事例でカスタムコンソールコンポーネントとして使用される Visualforce ページを示します。