Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

Live Agent REST API でケースを作成する

公開日: Jun 26, 2023
説明
取引先責任者を検索するか、取引先責任者が見つからない場合は新たに作成してケースを作成し、Live Agent REST API を使用して新しく作成されたケースに取引先責任者を関連付けることができます。 

「entityName」と「linkToEntityName」は大文字と小文字が区別されます (例: "entityName"="case" は機能しないため、"entityName"="Case" を使用する)

次のリクエストボディを使用して Live Agent REST API からケースを作成できます。

リクエストボディ
{
   "sessionId":"7d18f437-e59b-4412-a1a6-5d206f654693",
   "organizationId":"00DM0000000xxx",
   "buttonId":"573M00000008OUp",
   "deploymentId":"572M00000008OOS",
   "userAgent":"",
   "language":"en-US",
   "screenResolution":"1920x1080",
   "visitorName":"John A",
   "prechatDetails":[
       {
         "label":"LastName",
         "value":"SFDC",
         "entityMaps":[
            {
               "entityName":"contact",
               "fieldName":"LastName"
            }
         ],
         "transcriptFields":[
            "LastName__c"
         ],
         "displayToAgent":true
      },
      {
         "label":"FirstName",
         "value":"test",
         "entityMaps":[
            {
               "entityName":"contact",
               "fieldName":"FirstName"
            }
         ],
         "transcriptFields":[
            "FirstName__c"
         ],
         "displayToAgent":true
      },
      {
         "label":"Email",
         "value":"test@sfdctest.com",
         "entityMaps":[
            {
               "entityName":"contact",
               "fieldName":"Email"
            }
         ],
         "transcriptFields":[
            "Email__c"
         ],
         "displayToAgent":true
      },
      {
         "label":"Status",
         "value":"New",
         "entityMaps":[
            {
               "entityName":"Case",
               "fieldName":"Status"
            }
         ],
         "transcriptFields":[
            "caseStatus__c"
         ],
         "displayToAgent":true
      },
      {
         "label":"Origin",
         "value":"Web",
         "entityMaps":[
            {
               "entityName":"Case",
               "fieldName":"Origin"
            }
         ],
         "transcriptFields":[
            "caseOrigin__c"
         ],
         "displayToAgent":true
      },

      {
         "label":"Subject",
         "value":"TestCaseSubject",
         "entityMaps":[
            {
               "entityName":"Case",
               "fieldName":"Subject"
            }
         ],
         "transcriptFields":[
            "subject__c"
         ],
         "displayToAgent":true
      },
      {
         "label":"Description",
         "value":"TestCaseDescriptionShr",
         "entityMaps":[
            {
               "entityName":"Case",
               "fieldName":"Description"
            }
         ],
         "transcriptFields":[
            "description__c"
         ],
         "displayToAgent":true
      }
   ],
   "prechatEntities":[
   {
         "entityName":"Contact",        
         "saveToTranscript":"contact",
         "linkToEntityName":"Case",
         "linkToEntityField":"ContactId",
         "entityFieldsMaps":[
           
             {
               "fieldName":"LastName",
               "label":"LastName",
               "doFind":true,
               "isExactMatch":true,
               "doCreate":true
            },
            {
               "fieldName":"FirstName",
               "label":"FirstName",
               "doFind":true,
               "isExactMatch":true,
               "doCreate":true
            },
            {
               "fieldName":"Email",
               "label":"Email",
               "doFind":true,
               "isExactMatch":true,
               "doCreate":true
            }
                       
         ]
      },
       {
         "entityName":"Case",
         "showOnCreate":true,         
         "saveToTranscript":"Case",
         "entityFieldsMaps":[
            {
               "fieldName":"Status",
               "label":"Status",
               "doFind":false,
               "isExactMatch":false,
               "doCreate":true
            },
            {
               "fieldName":"Origin",
               "label":"Origin",
               "doFind":false,
               "isExactMatch":false,
               "doCreate":true
            }, 

         {
               "fieldName":"Subject",
               "label":"Subject",
               "doFind":false,
               "isExactMatch":false,
               "doCreate":true
            },
            {
               "fieldName":"Description",
               "label":"Description",
               "doFind":false,
               "isExactMatch":false,
               "doCreate":true
            }         
         ]             
        
      }      
      
   ],
   "receiveQueueUpdates":true,
   "isPost":true
}
解決策
必要な設定

Live Agent が完全に構成されていて、次が取得されることを確認します。 
- deploymentId
- buttonId
- hostname (
組織の Live Agent API エンドポイントを見つけるには、[設定] から、[カスタマイズ] > [Live Agent] > [設定] の順にクリックします。) 

再現手順

Google Chrome Advanced REST Client を使用して、新しいリクエストごとに URL のホスト名変数を API エンドポイントと置き換えます (- https://hostname/chat/rest/System/SessionId)。  

ステップ 1: 以下のデータでセッション ID を取得します。

URL: https://c.la7cs.salesforceliveagent.com/chat/rest/System/SessionId  

ヘッダー:   X-LIVEAGENT-API-VERSION:34
                 X-LIVEAGENT-AFFINITY: null
メソッド: GET

応答を受信済み:
===================
{
key: "cac2d9ac-5600-44cd-b714-c12fb054136a!ca5c5b3b-0096-4c80-8ff0-40d372016576"
id: "cac2d9ac-5600-44cd-b714-c12fb054136a"
affinityToken:"2c341fa0"
clientPollTimeout:40
}

ステップ 2: ChasitorInit への次の呼び出しの上記で取得したセッション ID を使用してケースを作成します。上記で提供されたリクエストボディを使用します。

URL: https://c.la7cs.salesforceliveagent.com/chat/rest/Chasitor/ChasitorInit

ヘッダー: X-LIVEAGENT-API-VERSION :34
         X-LIVEAGENT-SESSION-KEY: cac2d9ac-5600-44cd-b714-c12fb054136a!ca5c5b3b-0096-4c80-8ff0-40d372016576
         X-LIVEAGENT-AFFINITY:2c341fa0

メソッド: POST

応答を受信済み:
===================
OK (Raw)
Unexpected token O (JSON)

- 3 つのサブタブ (1 つ目は liveagent のトランスクリプト、2 つ目は取引先責任者 (見つからない場合は新しい取引先責任者が作成される)、3 つ目は取引先責任者レコードがアタッチされて作成された新しいケース) が表示されます。

関連リンク
---------------------
Live Agent REST API 開発者ガイド
Live Agent REST API データタイプ - CustomDetail
ナレッジ記事番号

000388107

 
読み込み中
Salesforce Help | Article