Loading
システム管理者に対するフィッシング耐性MFA・全従業員ユーザーMFAの適用のお知らせ 続きを読む
ただいま大変多くのお問い合わせをいただいており、ご連絡までにお時間を頂戴しております続きを読む
サービス
ケースから記事を送信する場合の Apex の例

ケースから記事を送信する場合の Apex の例

組織でカスタマーサポート担当者がケースのクローズ中に Salesforce Knowledge 記事を作成できる場合は、Apex を使用してドラフト記事のフィールドに事前入力できます。これを行うためには、以下の例をガイドとして、Apex クラスを作成し、ケース記事タイプに割り当てます。

必要なエディション

使用可能なインターフェース: Salesforce Classic および Lightning Experience。サポートされているエディションを表示する。
必要なユーザー権限
Salesforce ナレッジ設定を編集する 「アプリケーションのカスタマイズ」
Apex クラスを作成する 「Apex 開発」

Apex の構文と使用方法についての詳細は、『Lightning プラットフォーム Apex コード開発者ガイド』を参照してください。

この例では、次の記事タイプ、項目、データカテゴリを作成して設定します。新しいオブジェクトそれぞれに割り当てられたデフォルトの [API 参照名] を変更しないでください。

  1. 「FAQ」という記事タイプを作成します。
  2. [詳細] というテキストカスタム項目を作成します。
  3. 「場所」というカテゴリグループを作成して、「USA」というカテゴリを割り当てます。
  4. 「トピック」というカテゴリグループを作成して、「メンテナンス」というカテゴリを割り当てます。
    この時点で、Apex クラスを作成して割り当てます。
  5. [設定] から、[クイック検索] ボックスに「Apex クラス」と入力し、[Apex クラス] を選択して、[新規] をクリックします。
  6. このクラスで使用する Apex および API のバージョンを指定するには、[バージョン設定] をクリックします。
    組織が AppExchange から管理パッケージをインストールしている場合は、このクラスで使用する各管理パッケージのバージョンも指定できます。すべてのバージョンでデフォルト値を使用します。デフォルト値では、Apex および API についても、各管理パッケージについても、クラスを最新バージョンに関連付けます。最新バージョンのパッケージのものとは異なるコンポーネントや機能にアクセスする場合は、管理パッケージの古いバージョンを指定することもできます。特定の動作を維持するために、Apex および API の古いバージョンを指定できます。
  7. [Apex クラス] テキストボックスに次のスクリプトを入力して、[保存] をクリックします。
    public class AgentContributionArticleController {
        // The constructor must take a ApexPages.KnowledgeArticleVersionStandardController as an argument
        public AgentContributionArticleController(ApexPages.KnowledgeArticleVersionStandardController ctl) {
            SObject article = ctl.getRecord();   //this is the SObject for the new article. 
                                                 //It can optionally be cast to the proper article type, e.g. FAQ__kav article = (FAQ__kav) ctl.getRecord();
            
            String sourceId = ctl.getSourceId(); //this returns the id of the case that was closed.
            Case c = [select subject, description from Case where id=:sourceId];
            
            article.put('title', 'From Case: '+c.subject);  //this overrides the default behavior of pre-filling the title of the article with the subject of the closed case. 
            article.put('Details__c',c.description);  
            
            ctl.selectDataCategory('Geography','USA');  //Only one category per category group can be specified.
            ctl.selectDataCategory('Topics','Maintenance');                        
        }
    
  8. [設定] から、[クイック検索] ボックスに「ナレッジの設定」と入力し、[ナレッジの設定] を選択して、[編集] をクリックします。
  9. ケース設定を確認します。この例では、[デフォルトの記事タイプ] は FAQ です。
  10. [Apex カスタマイズを使用] メニューから [AgentContributionArticleController] を選択して、[保存] をクリックします。

この例の結果として、サポート担当者がケースクローズ画面から記事を作成すると次のようになります。

  • ケースの [説明] 項目のデータは、記事の [詳細] 項目に表示されます。
  • 記事のタイトルには、作成元ケース: およびケース件名が含まれます。
  • 記事は、USA データカテゴリと「メンテナンス」データカテゴリに自動的に割り当てられます。
 
読み込み中
Salesforce Help | Article