お問い合わせありがとうございます。
スキルレベルをスケジュールで変更する機能はCisco UCCX (Unified Contact Center Express) および UCCXが内蔵するCisco Finesseには備わっておりません。
UCCXおよびFinesseはAPIを備えており、設定の変更を行うことが可能です。APIはいわゆるRESTful APIとして公開されております。管理者は、このAPIを通じて必要な設定の確認や変更をいつでも行うことが可能です。
この設定変更用のAPI (Configuration API) でやり取りされるデータのペイロードはXMLまたはJSONのいずれかの形式で記述されます。(APIのドキュメントにはサンプルはXML形式でのみ記載されております。)
APIによって変更可能なものは、エージェントのスキルレベル、音声プロンプトのファイルの変更、アウトバウンドコールのキャンペーンのパラメータ設定など多数あります。エージェントのスキルレベルはUCCXにおいてはエージェント (Agent) の属性として設定されるものです。エージェントはUCCXの中ではリソース(Resource)という名称の設定となります。
エージェントには複数のスキルをそのレベルとともに割り当てることが可能ですが、管理画面またはAPIを介してその関連を管理者が設定することが可能です。
APIの利用方法はリンク先のドキュメントでご確認いただきたいので詳細は割愛いたしますが、ポイントをかいつまんでご紹介します。
エージェントに相当するのはResourceですので、Resourceの属性を変更する必要があります。
APIでリソースのget-resourceコマンドを実行した際にUCCXから返されるデータの例が以下です。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resources>
<resource>
<userID>agent1333</userID>
<firstName></firstName>
<lastName>agent1333</lastName>
<extension>2244333</extension>
<alias>uccx</alias>
<skillMap>
<skillCompetency>
<competencelevel>5</competencelevel>
<skillNameUriPair name="OBAgentSkill">
</skillNameUriPair>
</skillCompetency>
</skillMap>
<autoAvailable>true</autoAvailable>
<type>1</type>
<team name="Default">
</team>
<primarySupervisorOf/>
<secondarySupervisorOf/>
</resource>
</resources>
スキルに関する設定は太字にしてる<skillMap>の部分です。この例では、"OBAgentSkill"という名称のスキルが5というレベルで割り当てられています。他にもスキルが割り当てられている場合、<skillCompetency>というタグが複数<skillMap>タグの中にリストアップされます。
このResourceの設定を変更する場合は、リソースを変更するためのHTTPリクエストをUCCXのAPIに送信します。Get Resourceコマンドと違うのは、メソッドがPUTになっている点です。
また、このAPIはUCCXのコールフローを実装するCCXスクリプトの中でも実行することが可能です。CCXスクリプトではHTTPリクエストを任意のWebのサーバやサービスに送信する機能を備えています。
CCXスクリプトは電話または特定のHTTPリクエストをCCXが受信することをトリガーとして実行させることができます。
そのため、例えば、呼量増加し、待ち個数などが一定数を超えたことを条件として、スキルの割り当てを変更してより多くのエージェントにコールを分配するというような振る舞いを自動的に実行させるように、UCCXを設定することが可能となります。
なお、Get Resource / Modify Resourceコマンドを実行する際には、設定したいエージェントに相当するResourceのIDを事前に把握し、それを指定する必要があります。このResource IDを検索するには以下の手順を踏む必要があります。(他の設定確認や統計情報の確認、例外処理などは省略します。)
- Get Resources コマンド (URI = http://<server>/adminapi/resource)で存在するリソースの一覧を取得する
- 1で取得したリストからuserID(エージェントがログインする場合に使うユーザ名)やextension(内線番号)などで対象となるResourceを検索する
- Modify Resource コマンドでskillMapを変更する
- Get Rerouces または Get Resource コマンドで変更結果を検証する