RoutingStrategyのDBアクセスで複数レコードを取得する | 技術情報

RoutingStrategyのDBアクセスで複数レコードを取得する

よろしくお願いします!

写真恥ずかしい!

こんにちは、CT-Worksの青山です。

前回の投稿からすっかり間があいてしまい、、、反省モードです。

秋は気候もよく、遊んでしまいました…

あっという間に年も明けて真冬の寒さが続いてますねー。

そして、、、熱燗がすすみますー!!

飲んでばかりではいけないので吐き出していきましょう、GenesysのTIPSを(笑)

さて今回は、RoutingStrategyでDBアクセスを行い、その際に一度のクエリで複数レコードを取得する方法について書いていきたいと思います。

正直に言いますと、つい最近までIRD(Interaction Routing Designer)のDatabaseWizardでは単一レコードしか受け取れないと思っていました…

では、はじめましょう!

解説のために用意したRoutingStrategyは以下のようなDBアクセスのサンプルです。

  • コールセンター/コンタクトセンターに電話をかけてきたお客様の電話番号(発信者番号)取得。
  • 電話番号をKeyにして顧客テーブルを検索。
  • お客様の顧客ID、名前、年齢、を最大3件、コールを受電するエージェントに伝えるためにユーザーデータとしてアタッチする。

今のように携帯電話が普及していると、電話番号で複数のお客様が検索されることはそれほど多くないと思いますが、固定電話の番号では家族内に複数のお客様がいてもおかしくありませんね。

また、同じ顧客が別のIDで二重に登録されている場合なども考えられます。(この場合は名寄せが必要ですね。)

ということで、お客様が複数件検索されるケースも現実にはあるという前提で書いていきます。

 

■DBアクセスを行い複数レコードを受け取るRoutingStrategy

まずはじめにRouting Strategyの全体を先に提示します。前回の記事で使用したものを再利用してます(^^)

Routing Strategyの全体像

「Get Records」の箇所では、顧客の発信者番号をKeyに顧客DB検索を行い、顧客情報を取得します。取得できた場合にはその內容(顧客ID、顧客名、年齢)をアタッチデータとして保存しています。

最後に「Routing to Skill1 >=1」の箇所で、指定スキル(Skill1)を持つエージェントにコールを配信しています。

RoutingStrategyの全体像

 

■DatabaseWizardの解説

それではRouting Strategy内の「Get Records」というコメントを付けた「Database Wizard」オブジェクトの設定内容の解説を行っていきます。

データソースを指定します

ここでは顧客DBにアクセスしに行くようにDBアクセスポイントを設定しています。DBアクセスの方式はQueryとし、次のページでSQLを記述します。

データソースの指定

 

 SQL文の記述をおこないます

電話番号が一致するレコードの顧客ID(id)、顧客名(name)、年齢(age)の3つのフィールドを年齢の若い順に取り出します。

20150122_DBWizard1

 

 

クエリで取得したデータをアタッチデータとしてコールにアタッチするオプションを選びます

「Attach output」の上から3番目のオプションは、返されるデータがユーザー指定のセパレータで区切られている場合に使用するオプションです。

セパレータ文字はこの後で指定しますが、カンマ記号になります。

20150122_DBWizard2

 

取り出したフィールドの値をセットするアタッチデータのKEY名称を指定します

まずは、受け取るデータの書式としては、カンマでセパレートされたデータであるという指定をします。

そして、事前には何レコード返ってくるのかわかりませんので、ここでは最大3レコード分をコールにアタッチし、応答するエージェントに通知することにしました。

単一レコードを受け取る場合との違いは、実はココだけです。

3レコード分のKey名称をセットしているのがミソです。

20150122_DBWizard3

 

さて、準備完了、それではテストコールを入れてみましょう。

 

■URSの処理を眺めてみる

テストコールで使用する発信者番号で、4人の顧客が検索されるデータを用意しました。

そしてテストコールの結果、エージェントのデスクトップには応答前に以下の様なポップアップが表示されました。

20150122_IWS1

Interaction Workspace の Toaster表示

Interaction Workspace の Toaster表示

もちろんエージェントのソフトフォン(Genesys Interaction Workspace) でこのようにポップアップさせるには事前にアタッチデータのKeyと表示順の設定が必要です。

それでは、データベースの検索とユザーデータのアタッチを行ったURS(Universal Routing Server)でどのようにレコードの処理がなされたのかを見てみましょう。

20150122_urslog2

(1) ここでは実際に実行されたSQL文を見ることが出来ます。発信者番号として渡された”0311112222”が確認できますね。

(2) ここが注目するところです。URSは上記SQL文で検索された4レコード分のフィールドを、すべてカンマでつないで返しています。 つまり、検索結果が1レコードであったかのように返してくれます!

(3)検索の結果として受け取ったフィールドの前から9個分を顧客1のID、名前、年齢、顧客2のID、名前、年齢、顧客3のID、名前、年齢として判別できるようにアタッチデータのKEY名称を指定しておきましたので…

(4)このようにユーザーデータとしてアタッチされました。

 

今回はやってみたら出来た!

のご報告なのでその後マニュアルなどをあたってみたいしましたが、この動作については書かれていなかったように思います。

少しも複雑なことをしていないので連載記事にならず… 完結です。

次を考えなくっちゃ~ (-_-;)

次回もまたご期待ください!

ご不明な点などございましたらお気軽にお問い合わせ下さい。


Post a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  • 無料ダウンロード(最新の3件)