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

チャット REST API を使用したチャットセッションの開始

公開日: Apr 5, 2024
説明

概要

Live Agent REST API を使用すると、チャット情報などに基づいて、プログラムで Live Agent セッションを作成したり、対応可能なエージェントにメッセージを送信したり、新規レコードを作成したりできます。これらは、すべて HTTP メッセージを介して行われます。使用事例の 1 つとして、サードパーティツールから組織の内部チャットクライアントとして Live Agent の機能を使用する場合が挙げられます。

この記事では、API を使用してチャットセッションを開始するための基本的なステップについて説明します。
解決策

基本フロー


この API の使用方法について詳しく説明する前に、Live Agent セッションを開始するために必要な HTTP メッセージの基本フローを理解しておくことが重要です。フローの概要は次のとおりです。
1.GET 要求を送信してセッション ID を取得します。API への後続のコールでこのセッションを使用します。
2.POST 要求を送信してチャット要求を送信します。
3.チャットが受け入れられたかどうかと、Live Agent ユーザからの新しいメッセージがあるかどうかを把握するために、サーバからメッセージを取得します。これは、GET 要求を送信して行われます。
4.POST 要求を送信してメッセージを Live Agent ユーザに送信します。 
 

必要な作業


この記事にの例に従うには、Live Agent が有効になっている組織と HTTP クライアントが必要です。このケースでは、Google Chrome の REST コンソールを使用します。

Live Agent エンドポイント


API に対して REST ベースのコールを実行するには、まずエンドポイントを見つける必要があります。これは、[設定] | [チャット] (以前の [Live Agent]) | [チャットの設定] にあります。

このエンドポイントを使用して、セッションを作成したり、チャットを要求したり、メッセージを送信したりします。
1.セッション ID の取得

セッション ID を取得するには、次の詳細と共に GET 要求を送信する必要があります。

エンドポイント: /chat/rest/System/SessionId

ヘッダー:

X-LIVEAGENT-API-VERSION : 34
X-LIVEAGENT-AFFINITY : null

次のような応答を取得します。
{
    "clientPollTimeout": 40,
    "key": "49d50d5a-790f-40ec-98ca-8b813e6f0347!c007a252-0f76-473f-b411-588930e09be0",
    "affinityToken": "2c931fa0",
    "id": "49d50d5a-790f-40ec-98ca-8b813e6f0347"
}

2.チャット要求の送信

注意: このセッションにはタイムアウト値があるため、前のステップの応答を取得した直後にこのステップを実行する必要があります。すばやく要求を変更できるように 2 つの REST コンソールウィンドウを開いておくことをお勧めします。

上記の応答の情報を使用すると、チャット要求が送信されます。この作業がうまくいくように、Live Agent ユーザとしてログインして利用可能な状態にしておく必要があります。

チャット要求を送信するには、次の詳細と共に POST メッセージを送信します。

エンドポイント: /chat/rest/Chasitor/ChasitorInit

ヘッダー (前の応答の情報を使用して以下の値を置き換えます)

X-LIVEAGENT-API-VERSION : 34
X-LIVEAGENT-AFFINITY :"affinityToken-from-response“
X-LIVEAGENT-SESSION-KEY : “key-from-response”
X-LIVEAGENT-SEQUENCE : 1

ペイロード:
{
"organizationId": "{!orgId}", 
"deploymentId": "{!deploymentId}", 
"buttonId": "{!chatButtonId}", 
"sessionId": "id-from-response", 
"userAgent": "Lynx/2.8.8", 
"language": "en-US", 
"screenResolution": "1900x1080", 
"visitorName": "Frank Underwood", 
"prechatDetails": [],  "prechatEntities": [], 
"receiveQueueUpdates": true, 
"isPost": true 
}

200 OK 応答を受信し、Live Agent ウィジェットにチャット要求が表示されます。

3.サーバからのメッセージの取得

前のステップの応答では、HTTP 要求が成功したかどうかのみが通知されるため、チャットが受け入れられたのか、拒否されたのか、対応可能なエージェントがいたのかなどはわかりません。この情報を取得するには、サーバからメッセージを取得する必要があります。

これを行うには、次の詳細と共に GET 要求を送信します。

エンドポイント: chat/rest/System/Messages

ヘッダー:

X-LIVEAGENT-API-VERSION : 34
X-LIVEAGENT-AFFINITY :"affinityToken-from-response“
X-LIVEAGENT-SESSION-KEY : “key-from-response”

初めてこの要求を送信する場合、特にチャット要求が成功したことと、Live Agent ユーザがメッセージを送信したことを通知する次のような応答を取得します。 
{"messages":[{"type":"ChatRequestSuccess", "message":{"geoLocation":
{"countryCode":"US","longitude":-122.39419555664062,"countryName":"United States",
"organization":"Salesforce.com",{"type":"ChatMessage", "message":{"text":"hello json",
"name":"pablo g"}},
{"type":"AgentNotTyping", "message":{}}], "sequence":4}
上記の応答の "text" 属性には、Live Agent ユーザから訪問者に送信されたメッセージが表示されています。

4.Live Agent ユーザへのメッセージの送信

Live Agent ユーザにメッセージを送信するには、次の詳細と共に POST 要求を送信します。

エンドポイント: /chat/rest/Chasitor/ChatMessage

ヘッダー:

X-LIVEAGENT-API-VERSION : 34
X-LIVEAGENT-AFFINITY :"affinityToken-from-response“
X-LIVEAGENT-SESSION-KEY : “key-from-response”

ペイロード: 
{"text" : "Hi, I need help with my TV settings."}

要求に成功すると、Live Agent チャットウィンドウにこのメッセージが表示されます。 
 
次のステップ

REST API でできることはまだたくさんあります。たとえば、訪問者の詳細に基づいてレコードを自動的に作成することができます。その方法の例については、「Sample Request for creating a Case with Live Agent REST API (Live Agent REST API でケースを作成するためのサンプル要求)」を参照してください。

『Live Agent REST API 開発者ガイド』には、API を操作する方法に関する多くの有益な情報が記載されています。
ナレッジ記事番号

000386079

 
読み込み中
Salesforce Help | Article