المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

تشغيل سطح المكتب الوكيل

بيانات اعتماد تسجيل دخول الوكيل

SystemInfo

API_Request

إنشاء اتصال BOSH

تسجيل دخول الوكيل

تسجيل الدخول

رموز تسجيل الخروج، رموز الأسباب، دفتر الهاتف

المقدمة

يصف هذا المستند العملية المعنية بتسجيل دخول وكيل من خلال نظام Finesse مع ملفات السجل. من المهم فهم تدفق الرسائل بين مكونات Finesse المختلفة وخادم دمج الاتصال الهاتفي بجهاز الكمبيوتر (CTI) والكمبيوتر المكتبي العميل حتى يمكنك أستكشاف المشكلات وإصلاحها بنجاح.

المتطلبات الأساسية

المتطلبات

cisco يوصي أن يتلقى أنت معرفة من cisco Finesse والمفتاح أمر نظام التشغيل الصوتي (VOS) CLI.

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى الإصدار 9.1(1) من Cisco Finesse.

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.

تشغيل سطح المكتب الوكيل

لتشغيل سطح المكتب الوكيل، انسخ عنوان URL هذا في مستعرض الويب: http://<خادم FindSe الخاص بك>/سطح المكتب. في الإصدار 9.1 من Finesse، يتم دعم بروتوكول HTTP أو HTTPS.

تستخدم Finesse Tomcat كخادم ويب. عندما تقوم بتشغيل مستعرض الويب الخاص بك، يتم تقديم الطلب إلى Finesse لتقديم سطح المكتب الوكيل إليك. يعرض الأمر Cisco Tomcat localhose_access_log طلب تحميل سطح المكتب الوكيل.

10.10.10.211 10.10.10.211 - - 80 GET /  HTTP/1.1 302 - 141

10.10.10.211 10.10.10.211 - - 80 GET /desktop/container/  HTTP/1.1 200 4541 185

10.10.10.211 10.10.10.211 - - 80 GET /desktop/theme/finesse/css/base.css

HTTP/1.1 200 3093 7

10.10.10.211 10.10.10.211 - - 80 GET /desktop/theme/finesse/css/login.css

HTTP/1.1 200 2185 0

10.10.10.211 10.10.10.211 - - 80 GET /desktop/js/Logon.js  HTTP/1.1 200 1745 1

10.10.10.211 10.10.10.211 - - 80 GET /desktop/js/utilities/Cookies.js  HTTP/1.1

200 2390 0

10.10.10.211 10.10.10.211 - - 80 GET /desktop/thirdparty/jquery/js/jquery.tools.

min.js  HTTP/1.1 200 15699 1

10.10.10.211 10.10.10.211 - - 80 GET /desktop/thirdparty/jquery/js/jquery-1.5.

min.js HTTP/1.1 200 84523 7

10.10.10.211 10.10.10.211 - - 80 GET /desktop/theme/finesse/images/sprite_

buttons.png HTTP/1.1 200 3297 0

10.10.10.211 10.10.10.211 - - 80 GET /desktop/theme/finesse/images/help.png

HTTP/1.1 200 830 0

10.10.10.211 10.10.10.211 - - 80 GET /desktop/theme/finesse/images/cisco_logo.

png HTTP/1.1 200 760 0 200 2205 1

10.10.10.211 10.10.10.211 - - 80 GET /desktop/theme/finesse/images/bg.jpg

HTTP/ 1.1 200 32222 4

بيانات اعتماد تسجيل دخول الوكيل

الآن بعد أن تم تقديم سطح المكتب الوكيل، يمكنك إدخال بيانات اعتماد تسجيل الدخول الخاصة بك. قبل أن يتمكن Finesse من إرسال طلب تسجيل الدخول إلى خادم CTI، يحتاج العميل إلى إنشاء تدفقات ثنائية الإتجاه عبر اتصال HTTP المتزامن (BOSH). لإنشاء اتصال BOSH، يطلب العميل أولا معلومات النظام من خادم Finesse.

SystemInfo

قام سطح المكتب الخاص بالعميل بطلب واجهة برمجة تطبيقات نقل الحالة التمثيلية (REST) إلى عنوان URL هذا: /finesse/api/SystemInfo. لاحظ nocache=. يتم إستخدام هذا المعرف الفريد لتتبع هذا الطلب من خلال النظام. يشير Return with status=200 إلى تلقي الطلب بنجاح.

Container : [ClientServices] SystemInfo: requestId='undefined', Making REST

request: method=GET, url='/finesse/api/SystemInfo?nocache=1366756802163'18:40:03:

Container : [ClientServices] SystemInfo: requestId='undefined', Returned

with status=200

إذا لم يكن لديك سجلات عملاء لكنك تحتاج إلى تتبع الطلب، فيمكنك البحث في Tomcat localhost_access_log لتحديد وقت إجراء طلب واجهة برمجة تطبيقات REST وتحديد موقع المعرف الفريد.

127.0.0.1 127.0.0.1 - - 80 GET /finesse/api/SystemInfo ?nocache=1366756802163

HTTP/1.1 200 336 120 10.10.10.211 10.10.10.211 2001 - 80 GET /gadgets/makeRequest

?refresh=3600&url=http%3A%2F%2Flocalhost%2Ffinesse%2Fapi%2FSystemInfo%3Fnocache%

3D1366756802163&httpMethod=GET&headers=Authorization%3DBasic%2520MjAwMToyMDAx%

26locale%3Den_US&postData=&authz=&st=&contentType=TEXT&numEntries=3&getSummaries

=false&signOwner=true&signViewer=true&gadget=undefined&container=default&

bypassSpecCache=&getFullHeaders=false HTTP/1.1 200 659 596

API_Request

يرسل Tomcat طلب واجهة برمجة التطبيقات هذا إلى مستودع Finesse REST API Web Application (WAR). للعثور على سجلات Finesse REST API، ابحث في سجل Finesse WebServices إما حسب الطابع الزمني أو معرف nocache لتحديد موقع API_REQUEST. يعرض هذا السجل REQUEST_START وREQUEST_URL وREQUEST_END وElapsed_time الذي إستغرقه النظام لإكمال الطلب.

%CCBU_http-8080-7-6-REQUEST_START: %[method_name=GET][parameter_name=

{ nocache=[1366756802163],  }][resource_name=/SystemInfo][usr=]: Request start

%CCBU_http-8080-7-6-API_REQUEST: %[REQUEST_URL=SystemInfo][agent_id=][request_

identifier=][request_method=systemInfo.GET][request_parameters=]: Request from

client to webservice api

%CCBU_http-8080-7-6-REGISTER_API_STATS_OBJECT: %[resource_name=com.cisco.ccbu:

category=WebAppStats,component0=SystemInfo-GET]: Registered new api stats object

for new request type. %CCBU_http-8080-7-6-REQUEST_END: %[elapsed_time=98]: Request complete

يتم عرض المحتوى الذي تم إرجاعه إلى العميل بواسطة طلب واجهة برمجة تطبيقات REST لاسترداد معلومات النظام هنا. توجد هذه المعلومات في سجلات العميل (الوكيل).

content='<SystemInfo>

<primaryNode>

<host>UCCEFINESSE91.vmload.cvp</host>

</primaryNode>

<secondaryNode>

<host>UCCEFINESSE138.vmload.cvp</host>

</secondaryNode>

<status>IN_SERVICE</status>

<xmppDomain>UCCEFINESSE138.vmload.cvp</xmppDomain>

<xmppPubSubDomain>pubsub.UCCEFINESSE138.vmload.cvp</xmppPubSubDomain>

</SystemInfo>'

إنشاء اتصال BOSH

يعرض SystemInfo خوادم Finesse الأساسية والثانوية، وحالة Finesse ك IN_SERVICE، وxmppDomain، وxmppPubSubDomain. يحتوي العميل الآن على معلومات كافية لإنشاء اتصال BOSH.

18:40:03: Container : PageServices.init().onLoad: System info status: IN_SERVICE

18:40:03: Container : PageServices.init(): Establishing BOSH connection...

18:40:03: Container : PageServices.init(): Starting timeout and poller...

18:40:04: Container : [ClientServices] MasterPublisher._connInfoHandler()

- Connection status: connecting

18:40:04: Container : [ClientServices] MasterPublisher._connInfoHandler()

- Connection status: disconnected

18:40:04: Container : PageServices._onDisconnect(): retryCount=0, retrying...

18:40:04: Container : [ClientServices] MasterPublisher._connInfoHandler()

- Connection status: connecting

18:40:05: Container : [ClientServices] MasterPublisher._connInfoHandler()

- Connection status: connected

18:40:05: Container : PageServices.onLoad(): BOSH established!

تم اشتراك العميل بنجاح في كائن Finesse (العقدة) /finesse/api/user/2001 بمجرد إنشاء اتصال BOSH.

عند تأسيس اتصال BOSH الخاص بالعميل، يتلقى سجل خدمات الويب رسالة PRESENCE_NOTIFICATION من العميل. يشير هذا PRESENCE_TYPE فقط إلى أن العميل متوفر لتلقي أحداث XMPP ولا علاقة له بتوافر الوكيل في Unified Contact Center Enterprise (UCCE). تذكر أن العميل لم يتم تسجيل الدخول بعد.

ملاحظة: لا ترى رسائل PRESENCE_TYPE إلا عندما يقوم العميل بإنشاء اتصال BOSH أو عندما يتم قطع اتصال BOSH الخاص بالعميل. عند قطع اتصال BOSH الخاص بالعميل، يظهر PRESENCE_TYPE على أنه غير متوفر.

فيما يلي حدث الإعلام في سجل خدمات الويب:

%CCBU_Smack Listener Processor (1)-6-PRESENCE_NOTIFICATION_RECIEVED:

%[FROM JID=2001@uccefinesse138.vmload.cvp/desktop]

[PRESENCE_TYPE=available]: Finesse received a presence notifcation

تسجيل دخول الوكيل

الآن بعد أن أنشأ العميل اتصال BOSH، تبدأ عملية تسجيل الدخول. يقوم العميل بطلب REST API آخر للحصول على معلومات المستخدم الحالية. للقيام بهذا الطلب، انتقل إلى عنوان URL هذا: /finesse/api/user/2001 وأدخل الطريقة=GET.

لأن هذا طلب API مختلف، فإن معرف nocache مختلف. لذلك، لتعقب هذا الطلب، تحتاج إلى إستخدام هذا المعرف الجديد.

Container : PageServices.onLoad(): BOSH established! Commencing sign-in process

Container : [ClientServices] User: requestId='undefined', Making REST request:

method=GET, url='/finesse/api/User/2001?nocache=1366756805180

'18:40:05: Container : [ClientServices] User: requestId='undefined',

Returned with status=200,

يمكنك العثور على هذا الطلب في Tomcat localhost_access_log إذا لزم الأمر. فيما يلي كيفية العثور عليه في سجل خدمات الويب:

%CCBU_http-8080-7-6-REQUEST_START: %[method_name=GET][parameter_name={ nocache=

[1366756805180],  }][resource_name=/User/2001][usr=2001]: Request start

%CCBU_http-8080-7-6-API_REQUEST: %[REQUEST_URL=User/2001][agent_id=2001]

[request_identifier=null][request_method=user.GET][request_parameters=2001]:

Request from client to webservice api

فيما يلي الطلب في سجل خدمات الإعلامات. يرجى الإحاطة علما ب HTTP/1.1 200 OK.

ملاحظة: يكون سجل الإعلامات من Cisco لأغراض إعلامية فقط. إذا قمت بتمكين تسجيل إعلام Cisco Finesse، فإنه يؤثر على الأداء.

>> "GET /finesse/api/User/2001 HTTP/1.1[\r][\n]"

Adding Host request header

>> "Authorization: Basic MjAwMToyMDAx[\r][\n]"

>> "User-Agent: Jakarta Commons-HttpClient/3.1[\r][\n]"

>> "Host: localhost:8080[\r][\n]"

>> "[\r][\n]"

<< "HTTP/1.1 200 OK[\r][\n]"

<< "HTTP/1.1 200 OK[\r][\n]"

<< "Pragma: No-cache[\r][\n]"

<< "Cache-Control: no-cache[\r][\n]"

الآن بعد أن حصلت "خدمة الإعلامات" على الطلب، فإنها تقوم بنشر المعلومات لهذا المستخدم. فيما يلي POST من سجل خدمة الإعلامات الذي يتم إرساله إلى العميل:

Cookie accepted: "$Version=0; JSESSIONIDSSO=C11F62C59D0D0438CDEDEEB0DB12AA0B;

$Path=/"

Cookie accepted: "$Version=0; JSESSIONID=25FE81BD7DB73280A07B4CA4138E7680;

$Path=/finesse"

Buffering response body

<< "<User>[\n]"

<< "  <dialogs>/finesse/api/User/2001/Dialogs</dialogs>[\n]"

<< "  <extension></extension>[\n]"

<< "  <firstName>Mickey</firstName>[\n]"

<< "  <lastName>Mouse</lastName>[\n]"

<< "  <loginId>2001</loginId>[\n]"

<< "  <loginName>mmouse</loginName>[\n]"

<< "  <roles>[\n]"

<< "    <role>Agent</role>[\n]"

<< "  </roles>[\n]"

<< "  <state>LOGOUT</state>[\n]"

<< "  <stateChangeTime></stateChangeTime>[\n]"

<< "  <teamId>5000</teamId>[\n]"

<< "  <teamName>Minnies_Team</teamName>[\n]"

<< "  <uri>/finesse/api/User/2001</uri>[\n]"

<< "</User>"

يتم إرسال حدث XMPP هذا، والذي هو العميل 2001 في هذا المثال، إلى جميع عملاء الاشتراك. يتلقى JavaScript الموجود في العميل حدث XMPP، ويتم إرسال الحدث إلى الأداة الذكية داخل العميل. فيما يلي سجلات العملاء التي تظهر محتوى الاستجابة:

Commencing sign-in process18:40:05: Container : [ClientServices] User: requestId=

'undefined', Maurl='/finesse/api/User/2001?nocache=1366756805180'18:40:05:

Container : [ClientServices] User: requestId='undefined', Returned with status=200,

content='<User> king REST request: method=GET,

<dialogs>/finesse/api/User/2001/Dialogs</dialogs>

<extension></extension>

<firstName>Mickey</firstName>

<lastName>Mouse</lastName>

<loginId>2001</loginId>

<loginName>mmouse</loginName>

<roles>

<role>Agent</role>

</roles>

<state>LOGOUT</state>

<stateChangeTime></stateChangeTime>

<teamId>5000</teamId>

<teamName>Minnies_Team</teamName>

<uri>/finesse/api/User/2001</uri>

</User>

تسجيل الدخول

أصبح العميل الآن مستعدا لإجراء تسجيل الدخول. لاحظ RequestID. تم إرسال RequestID في نص الطلب. يمكنك إستخدام معرف الطلب هذا لاتباع طلب تسجيل الدخول إلى REST API > CTI > REST API > خدمة الإعلامات > الرد على العميل. هذا الطلب هو PUT، مما يعني أن العميل يطلب تحديثا أو تغييرا لحالته الحالية.

Container : SignIn.handleUserLoad(): Performing login: extn=2003 18:40:05:

Container : [ClientServices] User: requestId='6e210ca9-5786-43bc-babf-

64a397a6057f',

</data>

<event>PUT</event>

<requestId>6e210ca9-5786-43bc-babf-64a397a6057f</requestId>

<source>/finesse/api/User/2001</source>

</Update>

تتلقى واجهة برمجة تطبيقات Finesse REST هذا الطلب من العميل. بعد ذلك، يرسل واجهة برمجة التطبيقات (API) SetAgentStateReq إلى خادم CTI.

%CCBU_http-8080-7-6-API_REQUEST: %[REQUEST_URL=User/2001][agent_id=2001]

[request_identifier=6e210ca9-5786-43bc-babf-64a397a6057f][request_method=

user.PUT][request_parameters= extension:2003 state:LOGIN]: Request from

client to webservice api

%CCBU_http-8080-7-6-REGISTER_API_STATS_OBJECT: %[resource_name=com.cisco.ccbu:

category=WebAppStats,component0=User-[id]-PUT]: Registered new api stats object

for new request type.

%CCBU_http-8080-7-6-REQUEST_END: %[elapsed_time=8]: Request complete

%CCBU_pool-5-thread-4-6-MESSAGE_TO_CTI_SERVER: %[cti_message=Invoke id :20 ,

agentstate : 0, workmode : 0, reason code: -15532, forceflag :1, agentcapacity:

0, agentext: 2003, agentid: 2001][cti_message_name=SetAgentStateReq]:

Message going to the backend cti server

يتلقى خادم CTI الطلب.

Trace: AGENT_EVENT: ID=2001 Periph=5001 Ext=2003 Inst=2003 Sig=

Trace:  SkgState=LOGIN SkgDuration=0 OverallState=NOT_READY OverallDuration=0

Reason=0

Trace:  MRDID=1 NumTasks=0 MaxTaskLimit=1 AgtMode=1 AGTAvailabilityStatus=0

ICMAgtID=5001

Trace:  SkTgtID=5001 SkGrpNo=0x0 SkGrpID=5006 NumLines=0 CurLine=0 ClientStatus=

0x0 Direction=0

بمجرد تسجيل دخول الوكيل بحالة NOT_READY، يرسل خادم CTI AGENT_STATE-EVENT إلى Finesse.

MsgType:AGENT_STATE_EVENT (MonitorID:0 PeripheralID:5001 SessionID:0x0

PeripheralType:EnterpriseAgent SkillGroupState:LOGIN StateDuration:0

SkillGroupNumber:85881 SkillGroupID:5000 SkillGroupPriority:0 AgentState:

NOT_READY EventReasonCode:0 MRDID:1 NumTasks:0 AgentMode:1 MaxTaskLimit:1

ICMAgentID:5001 AgentAvailabilityStatus:0 NumFltSkillGroups:0 Direction:0

ClientSignature:""AgentID:"2001" AgentExtension:"2003" AgentInstrument:"2003"

RemaskNumMasks:1 RemaskInstrument:"2003" RemaskExtension:"2003" RemaskCallId:

0xffffffff RemaskFunctionFlag:<0x38> <LogoutCodeReq,NotRdyCodeReq,WrapDataReq>

RemaskCallMask:<0x21000000> <MC,Emerg> RemaskAgentMask:<0x0a000000> <

Logout,Avail> )Trace: AGENT_EVENT: ID=2001 Periph=5001 Ext=2003 Inst=2003 Sig=

Trace:  SkgState=LOGIN SkgDuration=0 OverallState=NOT_READY OverallDuration=0

Reason=0 Trace:  MRDID=1 NumTasks=0 MaxTaskLimit=1 AgtMode=1

AGTAvailabilityStatus=0 ICMAgtID=5001

فيما يلي سجل خدمات الويب الذي تلقى الحدث من خادم CTI. تذكر أنك رأيت الرسالة الخام من خادم CTI أولا، ثم رأيت الرسالة التي تم فك ترميزها.

%CCBU_CTIMessageEventExecutor-0-6-DECODED_MESSAGE_FROM_CTI_SERVER: %[cti_message

=CTIAgentStateEvent [skillGroupState=0 (LOGIN), stateDuration=0, skillGroupNumber

=85881, skillGroupPriority=0, agentState=2 (NOT_READY), eventReasonCode=0,

numFltSkillGroups=0,CTIClientSignature=, agentID=2001, agentExtension=2003,

agentInstrument=2003, agentID_ Long=null, duration=null, nextAgentState=null,

fltSkillGroupNumberList=[], fltSkill GroupIDList=[], fltSkillGroupPriorityList=[],

fltSkillGroupStateList=[]]CTIMessageBean [invokeID=null, msgID=30, timeTracker=

{"id":"AgentStateEvent","CTI_MSG_RECEIVED":1366756808374,

"CTI_MSG_DISPATCH":1366756808375}, msgName=AgentStateEvent, deploymentType=CCE]]

[cti_response_time=1]: Decoded Message to Finesse from backend cti server

الآن بعد أن تلقى Finesse AgentStateEvent من خادم CTI، يجب نشر الحدث إلى "خدمة الإعلامات" بحيث يستلم العميل التحديث. إن الطريقة الوحيدة التي يمكن من خلالها للعميل معرفة أن حالته قد تغيرت هي من خلال إستقبال حدث XMPP هذا. يقوم Finesse بتحويل AgentStateEvent إلى XMPP وإرسال XMPP إلى خدمة الإعلامات. لاحظ أن الحدث هو PUT، و RequestID في الحمولة.

%CCBU_pool-5-thread-5-6-XMPP_PUBLISH_ASYNCHRONOUS: %[NodeId=/finesse/api/User/

2001][Payload=<Update><data><user><dialogs>/finesse/api/User/2001/Dialogs

</dialogs><extension>2003</extension><firstName>Mickey</firstName><lastName>

Mouse</lastName><loginId>2001</loginId><loginName>mmouse</loginName>

<reasonCodeId>-1</reasonCodeId><roles><role>Agent</role></roles><state>NOT_READY

</state><stateChangeTime>2013-04-23T22:40:08Z</stateChangeTime><teamId>5000

</teamId><teamName>Minnies_Team</teamName><uri>/finesse/api/User/2001

</uri></user></data><event>PUT</event><requestId>6e210ca9-5786-43bc-babf-

64a397a6057f </requestId><source>/finesse/api/User/2001</source></Update>]:

Publishing XMPP Message Asynchronously

هنا، تتلقى "خدمة الإعلامات" التحديث. على الرغم من أن الرسالة تقول أنها فشلت في توجيه الحزمة إلى JID، إلا أنه يتم إرسال رسالة أنه قد تم نشر حدث إلى المستخدم.

RoutingTableImpl: Failed to route packet to JID: 2001@uccefinesse138.vmload.cvp/

User packet: <message from="pubsub.uccefinesse138.vmload.cvp" to=

"2001@uccefinesse138.vmload.cvp/ User" id="/finesse/api/User/

2001__2001@uccefinesse138.vmload.cvp__VI1B2"><event xmlns=

"http://jabber.org/protocol/pubsub#event"><items node="/finesse/api/User/2001">

<item id="1su0Keff8M2irdS"><notification xmlns="http://jabber.org/protocol/pubsub">

&lt;Update&gt;

وإليكم نص الرسالة:

&lt;data&gt;

&lt;user&gt;

&lt;dialogs&gt;/finesse/api/User/2001/Dialogs&lt;/dialogs&gt;

&lt;extension&gt;2003&lt;/extension&gt;

&lt;firstName&gt;Mickey&lt;/firstName&gt;

&lt;lastName&gt;Mouse&lt;/lastName&gt;

&lt;loginId&gt;2001&lt;/loginId&gt;

&lt;loginName&gt;mmouse&lt;/loginName&gt;

&lt;reasonCodeId&gt;-1&lt;/reasonCodeId&gt;

&lt;roles&gt;

&lt;role&gt;Agent&lt;/role&gt;

&lt;/roles&gt;

&lt;state&gt;NOT_READY&lt;/state&gt;

&lt;stateChangeTime&gt;2013-04-23T22:40:08Z&lt;/stateChangeTime&gt;

&lt;teamId&gt;5000&lt;/teamId&gt;

&lt;teamName&gt;Minnies_Team&lt;/teamName&gt;

&lt;uri&gt;/finesse/api/User/2001&lt;/uri&gt;

&lt;/user&gt;

&lt;/data&gt;

&lt;event&gt;PUT&lt;/event&gt;

&lt;requestId&gt;6e210ca9-5786-43bc-babf-64a397a6057f<;/requestId&gt;

&lt;source&gt;/finesse/api/User/2001&lt;/source&gt;

&lt;/Update&gt;</notification></item></items></event></message>

وكما هو الحال من قبل، يتم تلقي رسالة XMPP بواسطة العميل ويتم تسليمها إلى الأداة الذكية للعميل. لاحظ أن العميل يستلم الحدث مع RequestID الأصلي في الرسالة.

Returned with status=202, content=''18:40:05: Container : [ClientServices]

MasterPublisher._eventHandler() - Received event on node '/finesse/api/User/

2001': <Update>

<data>

<user>

<dialogs>/finesse/api/User/2001/Dialogs</dialogs>

<extension>2003</extension>

<firstName>Mickey</firstName>

<lastName>Mouse</lastName>

<loginId>2001</loginId>

<loginName>mmouse</loginName>

<reasonCodeId>-1</reasonCodeId>

<roles>

<role>Agent</role>

</roles>

<state>NOT_READY</state>

<stateChangeTime>2013-04-23T22:40:08Z</stateChangeTime>

<teamId>5000</teamId>

<teamName>Minnies_Team</teamName>

<uri>/finesse/api/User/2001</uri>

</user>

</data>

<event>PUT</event>

<requestId>6e210ca9-5786-43bc-babf-64a397a6057f</requestId>

<source>/finesse/api/User/2001</source>

</Update>

تم الآن تسجيل دخول العميل بنجاح.

Container : SignIn._triggerLoggedIn(): Successfully logged in!18:40:05

رموز تسجيل الخروج، رموز الأسباب، دفتر الهاتف

يحتاج العميل الآن إلى إسترداد البيانات الخاصة بالعميل، مثل رموز تسجيل الخروج ورموز الأسباب ودفتر الهاتف. فيما يلي طلب تلك المعلومات المقدم إلى العميل.

Container : SignIn._triggerLoggedIn(): Successfully logged in!18:40:05:

Container : [ClientServices] Dialogs: requestId='undefined', Making REST

request: method=GET, url='/finesse/api/User/2001/Dialogs?nocache=

1366756805355?

18:40:05: Container : [ClientServices] User: requestId='undefined',

Making REST request: method=GET, url='/finesse/api/User/2001/ReasonCodes?

category=LOGOUT&nocache=1366756805356'18:40:05: Container : [ClientServices]

User: requestId='undefined', POST_DATA=''18:40:05: Container : _displayUserData

(): User's current state is: NOT_READY

'18:40:05: Container : [ClientServices] User: requestId='undefined', Making REST

request: method=GET, url='/finesse/api/User/2001/ReasonCodes?category=NOT_READY&

nocache=1366756805358

18:40:05: Container : [ClientServices] User: requestId='undefined', POST_DATA=

''18:40:05: Header : The client logger has been initialize for the header

18:40:05: Header : _displayUserData(): User's current state is: NOT_READY

18:40:05: Header : Container._initGadgetContainer(): Initializing gadget

container.

18:40:05: Header : FailoverMonitor.startListening(): Listening for triggers

18:40:05: Header : PageServices.stopTimeoutPoller(): Cancelling connection

timeout and poller...

18:40:05: Header : [ClientServices] id=2001: TypeError: 'this._listenerCallback

[...].callback' is null or not an object

وينطبق نفس المنطق على هذه الطلبات. تذكر أن رموز أسباب Finesse ودفتر الهاتف يتم تخزينها في قاعدة بيانات Finesse، وليس في UCCE.