ケース作成デフレクション信号

エクスペリエンスビルダーでコンポーネントの [デフレクション総計値] プロパティを使用して、このイベントを自動的に起動するようにケースデフレクションコンポーネントを設定できます。ケースデフレクションコンポーネントは【カスタマーサポートへの連絡】フォームと連携して、デフレクションのやりとりを登録します。

属性
ケースデフレクションコンポーネントからのデフレクション信号の sourceType は、caseCreateDeflectionModal です。
source は、ユーザーが件名項目またはケース作成フォームの説明に入力した内容です。destination は、記事またはディスカッションデフレクション項目の ID です。
payload は、JavaScript オブジェクトのキーと値の対応付けです。この種別の信号では、次のプロパティが使用されます。
| ペイロードプロパティ | 型 | 説明 | サポートされている値 | 必須 |
|---|---|---|---|---|
| deflectionAnswer | string | デフレクション項目が役に立ったかどうかを尋ねる最初の質問に対するユーザーの回答。 |
|
いいえ |
| confirmationAnswer | string | ケースの作成を停止するかどうかを尋ねる 2 つ目の質問に対するユーザーの回答。 |
|
いいえ |
| state | string | ポップアップウィンドウが閉じられる前の最後の状態。 |
|
いいえ |
| caseCreated | boolean | ユーザーがケースを作成したかどうかを示します。 |
|
いいえ |
例
カスタム Aura コンポーネントは、このシステムイベントをリスンし、必要に応じて処理できます。たとえば、ユーザーがコンテンツを役立たたないと判断した場合に、コンポーネントで別のプロセスを開始できます。
システムイベントをリスンするサンプルコンポーネントを次に示します。
1<aura:component implements="forceCommunity:availableForAllPageTypes">
2 <aura:attribute name="message" type="String" required="false"/>
3 <aura:handler event="lightningcommunity:deflectionSignal" action="{!c.handleSignal}"/>
4 <lightning:formattedText value="{!v.message}"/>
5</aura:component>このクライアント側コントローラーの例では、システムイベントを処理して、失敗したケースデフレクションがあるかどうかを確認します。つまり、ユーザーがデフレクション項目を役立たないと判断したやりとりがあるかどうかをコントローラーで確認します。
1({
2 handleSignal: function(component, event, helper) {
3 var signal = event.getParams() || {},
4 sourceType = signal.sourceType,
5 payload = signal.payload;
6 // Process case create deflection signals
7 if (sourceType && sourceType === "caseCreateDeflectionModal") {
8 if (payload && payload.deflectionAnswer === "NO") {
9 component.set("v.message", "Sorry you didn't find that helpful.");
10 }
11 if (payload && payload.caseCreated === true) {
12 component.set("v.message", "We Apologize For The Inconvenience. We'll get in touch with you shortly about your case.");
13 }
14 }
15 }
16})ケース作成フォームおよびケースデフレクションコンポーネントとして機能するカスタム Aura コンポーネント��、このイベントを起動できます。有効なパラメーターが指定されると、レポートを作成するためにイベントが自動的に処理されます。この例では、コンポーネントの属性の値を使用して lightningcommunity:deflectionSignal イベントを起動します。
1fireCaseDeflectionSignal : function(component, shouldSubmitSourceTypeSignals) {
2 var evt = $A.get("e.lightningcommunity:deflectionSignal");
3 evt.setParams({
4 sourceType: "caseCreateDeflectionModal",
5 source: cmp.get("v.deflectionTerm"),
6 destinationType: component.get("v.deflectionEntityType"),
7 destination: component.get("v.deflectionEntityId"),
8 payload: {
9 deflectionAnswer: component.get("v.deflectionAnswer"),
10 confirmationAnswer: component.get("v.confirmationAnswer"),
11 state: component.get("v.deflectionState"),
12 caseCreated: component.get("v.caseCreated")
13 },
14 shouldSubmitSourceTypeSignals: shouldSubmitSourceTypeSignals
15 });
16 evt.fire();
17}ユーザーは最終的にケースを作成するか破棄するかを決定する前に、複数のデフレクション項目を連続して表示できます。それぞれの表示で lightningcommunity:deflectionSignal イベントが起動します。すべてのイベントを 1 つのバッチで処理する場合は、ユーザーがケースを破棄または作成する最後のイベントで shouldSubmitSourceTypeSignals=true を設定します。この例では、ケースが作成されたかどうかに基づいて、最後のデフレクション信号イベントを起動します。
1fireCaseCreatedSignal : function(component, caseCreated) {
2 // Send all accumulated signals to the server to be processed
3 var evt = $A.get("e.lightningcommunity:deflectionSignal");
4 evt.setParams({
5 sourceType: "caseCreateDeflectionModal",
6 payload: {
7 caseCreated: caseCreated
8 },
9 shouldSubmitSourceTypeSignals: true
10 });
11 evt.fire();
12}