概要
この資料は ECE 11.6 チャット API のためのユース ケースを説明したものです。
前提条件
要件
次の項目に関する知識が推奨されます。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。
本書の情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。 対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。
背景説明
eGain は cutomer の Webサイトのチャット ボタンを示すか、または隠すのに使用できる API に直面している顧客を導入しました。
チャット API は次の目的に使用することができます:
1. 基づいてチャットを表示して下さい:
- エージェント 可用性
- チャットのためのエージェント キャパシティ
- キュー深度および待ち時間
- キュー深度およびエージェント 可用性
- キュー深度、待ち時間およびエントリ ポイント ステータス
2. 送信するカスタム チャット アンケート。
API と実現することができる少数のユース ケースがあります:
- チャット ボタンは API 応答に基づくイネーブルまたはディセーブルである場合もあります
- エージェントがチャットして利用できる前に顧客が待たなければならない時間数を得て下さい
- エージェントがチャットして利用できる前に顧客がどの位待たなければならないか推定するとキューの顧客の位置が見つけて下さい
- チャット セッションが追加データをキャプチャすることができるように新しいカスタム アンケートを書いて下さい
エージェント 可用性 API
エージェント アベイラビリティは API 利用可能なエージェントが特定のエントリ ポイントからのチャットを奪取 するためにあるかどうか確認します。 メディア ルーティング ドメイン(MRD)制限はエージェント アベイラビリティに適用されます。 正しい結果を反映することを MRD 設定の最良の方法 セクションを通過することを推奨します。
要求
方式 |
URL |
GET |
/chat/entrypoint/agentAvailability/id |
注: この API に当たるために次の形式を使用しなければなりません: http://hostname/system/egain/chat/entrypoint/agentAvilability/1000
URL パラメータ
名前 |
説明 |
タイプ |
必要 |
オプションのパラメータのデフォルト値 |
ID |
あるようにエージェント アベイラビリティを確認したいと思うエントリ ポイントの ID |
long |
○ |
|
成功コード
200: ステータス エージェント アベイラビリティは戻ります。 本当応答はエージェントが利用できることを意味します。 偽応答はエージェントが利用できないことを意味します。
エラー コード
500: エージェント 情報 アベイラビリティの取得することが不可能。
応答本体
HTTP/1.1 200 OK
<?xml version="1.0" encoding="UTF-8" standalone="yes"/>
<agentAvailability available="true" xmlns:ns2="http://bindIngs.egain.com/chat"
xmlns:ns4="urn:ietf:params:xml:ns:xmpp-stanzas" xmlna:ns3="jabber:client"
xmlns:ns5="http://jabber.org/protocol/httpbind"/>
エージェント キャパシティ API
この API はある特定のエントリ ポイントにマップされるキューの新しいチャット アクティビティで動作するためにすべてのエージェントのキャパシティを取出します。 それはすべての奪取 エージェントがおよびエントリ ポイントのキューのすべてのエージェントの現在の負荷できる最大負荷(CTL)の間で違いを戻します。
要求
方式 |
URL |
GET |
/chat/entrypoint/capacity/id |
注: この API に当たるために次の形式を使用しなければなりません: http://hostname/system/egain/chat/entrypoint/capacity/1000
URL パラメータ
名前 |
説明 |
タイプ |
必要 |
オプションのパラメータのデフォルト値 |
ID |
あるようにエージェント キャパシティを確認したいと思うエントリ ポイントの ID |
long |
○ |
|
成功コード
200: エントリ ポイントのためのエージェントの残りのキャパシティは戻ります。 正数は残りのキャパシティを反映します。 ゼロはシステムで利用可能なエージェントがないかまたはすべてのエージェントが最大負荷にはたらいていることを意味します。
エラー コード
500: エージェント キャパシティに関する情報を検索することが不可能。
応答本体
HTTP/1.1 200 OK
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<availableSlots xmlns:ns2="http://bindings.egain.com/chat"
xmlns:ns4="urn:letf:params:xmlms:xmpp-smanzas"
xmlns:ns5="http://jabber.org/protocol/httbind">
<ns2:count>4</ns2:count>
</availableSlots>
キュー深度および待ち時間 API
割り当てのためにこの API がキューで待っているチャットの数の詳細、およびキューの推定待ち時間を取得しているのに使用されています。
要求
方式 |
URL |
GET |
/chat/entrypoint/liveSessionStatus/id |
注: この API に当たるために次の形式を使用しなければなりません: http://hostname/system/egain/chat/entrypoint/liveSessionStatus/1000
URL パラメータ
名前 |
説明 |
タイプ |
必要 |
オプションのパラメータのデフォルト値 |
ID |
あるようにキュー深度および待ち時間を確認したいと思うエントリ ポイントの ID |
long |
○ |
|
成功コード
200: キュー深度および待ち時間は戻ります
エラー コード
500: キュー深度および待ち時間を取得することが不可能。
応答本体
HTTP/1.1 200 OK
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sessionStatus xmlns:ns2="http://bindings.egain.com/chat"
xmlns:ns4="urn:letf:params:xmlms:xmpp-smanzas"
xmlns:ns5="http://jabber.org/protocol/httbind">
<ns2:waitTime>3.0</ns2:waitTime>
<ns2:queueDepth>1</ns2: queueDepth >
</sessionStatus>
キュー深度および API 可用性の
この API は次の状態に基づいて新しいチャット アクティビティを処理するためにチャット エントリ ポイントの資格をチェックします:
- あればアクティビティが利用可能などのエージェントによってでも新しいで動作するためにチャットします
- そのエントリ ポイントによって関連付けられるキューがすなわち深度設定最大値に達したらキューによって処理されるチャットの総数はキューが時間のあらゆる指定された点で処理できるチャットの最大数と等しいです
要求
方式 |
URL |
GET |
/chat/entrypoint/checkEligibility/id |
注: この API に当たるために次の形式を使用しなければなりません: http://hostname/system/egain/chat/entrypoint/checkEligibility/1000
URL パラメータ
名前 |
説明 |
タイプ |
必要 |
オプションのパラメータのデフォルト値 |
ID |
あるように資格を確認したいと思うエントリ ポイントの ID |
long |
○ |
|
成功コード
200: エントリ ポイント資格は戻ります。 responseType アトリビュートは次のいずれかの値をある場合があります:
- 0: このエントリ ポイントによって関連付けられるキューは新しいチャットを処理できます
- 1: エージェントは新しいチャットで動作して利用できません
- 2: Maximum Queue Depth はある特定のエントリ ポイントによって関連付けられるキューのために達し、新しいチャットは処理されません
エラー コード
500: キュー深度および待ち時間を取得することが不可能。
応答本体
HTTP/1.1 200 OK
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<checkEligibility xmlns:ns2="http://bindings.egain.com/chat"
xmlns:ns4="urn:letf:params:xmlms:xmpp-smanzas" xmlns:ns3="jabber:client"
xmlns:ns5="http://jabber.org/protocol/httbind" responseType=0 />
キュー深度、可用性およびエントリ ポイント ステータス API
この API は新しいチャットが次の状態に基づいてある特定のチャット エントリ ポイント処理することができるかどうか確認します:
- チャット エントリ ポイントはアクティブです
- あればアクティビティが利用可能などのエージェントによってでも新しいで動作するためにチャットします
- そのエントリ ポイントによって関連付けられるキューがすなわち深度設定最大値に達したらキューによって処理されるチャットの総数はキューが時間のあらゆる指定された点で処理できるチャットの最大数と等しいです
要求
方式 |
URL |
GET |
/chat/entrypoint/chatAllowed/id |
注: この API に当たるために次の形式を使用しなければなりません: http://hostname/system/egain/chat/entrypoint/chatAllowed/1000
URL パラメータ
名前 |
説明 |
タイプ |
必要 |
オプションのパラメータのデフォルト値 |
ID |
あるようにチャットは許可されるかどうか確認したいと思うエントリ ポイントの ID |
long |
○ |
|
成功コード
200: 新しいチャットがエントリ ポイント処理することができればこのコードは戻ります。 これは許可されるアトリビュートの値によって識別されます。 このアトリビュートは本当か偽値がある場合があります。 値が偽である場合、アトリビュート原因は無効性の原因を特定する下記の値の 1 つがある場合があります:
- queue_depth_reached: Maximm キュー深度はある特定のエントリ ポイントによって関連付けられるキューのために達し、新しいチャットは処理されません
- agent_not_available: エージェントは新しいチャットで動作して利用できません
- service_not_running: エージェント 割り当てサービスは実行されていません
- invalid_entry_point: 要求で渡されるエントリ ポイントは無効です
- entry_point_inactive: 要求で渡されるエントリ ポイントは非アクティブです
- 他: このエントリ ポイントは他の原因による新しいチャットを処理できません
エラー コード
500: このエントリ ポイントが新しいチャットを処理できるかどうか取得することが不可能。
応答本体
HTTP/1.1 200 OK
<?xml version="1.0. encoding="UTF-8" standalone="yes"?>
<chatAllowed xmlns:ns2="http://bindings.egain.com/chat"
xmlns:ns4="urn:ietf:params:xml:ns:xmpp-stanzas" xmlns”ns3="jabber:client"
xmlns:ns5=:http://jabber.org/protocol/httpbind" allowed="true"/>
または
HTTP/1.1 200 OK
<?xml version="1.0. encoding="UTF-8" standalone="yes"?>
<chatAllowed xmlns:ns2="http://bindings.egain.com/chat"
xmlns:ns4="urn:ietf:params:xml:ns:xmpp-stanzas" xmlns”ns3="jabber:client"
xmlns:ns5=:http://jabber.org/protocol/httpbind" allowed="false"
reason="entry_point_inactive"/>
カスタム チャット アンケート API
この API がチャット セッションの終わりに示されているカスタム アンケート形式を入れるのに使用することができます。
要求
方式 |
URL |
POST |
/chat/entrypoint/survey |
要求の本体
名前 |
説明 |
タイプ |
必要 |
質問 |
顧客に表示されるアンケートの一部である質問 |
String |
○ |
回答 |
対応する質問に対する回答 |
String |
○ |
サンプル要求の本体
<egainSurvey sid="1000">
<survey><question>Question 1</question> <answer>Answer 1</answer></survey>
<survey><question>Question 2</question> <answer>Answer 2</answer></survey>
<survey><question>Question 3</question> <answer>Answer 3</answer></survey>
<survey><question>Question 4</question> <answer>Answer 4</answer></survey>
</egainSurvey>
成功コード
204: アンケートは正常に入ります。