Sinch Contact Center Restful Analytics Interface (RAI) API documentation version v1
http://localhost:8080/RI/rai
Description
This interface provides statistics of contacts, agents and queues from Monitoring and Reporting Databases.
Request Header Data Requirements
To GET JSON response, the request must have "Accept = application/json" header.
To GET XML response, the request should have "Accept = application/xml" header.
To POST/PUT JSON data, the request must have "Content-Type = application/json" header.
To POST/PUT XML data, the request should have "Content-Type = application/xml" header.
POST should also have "Accept = text/html" header. It returns the ID of the created object. POST also returns Location header which contains the ID. POST returns code 201 (Created).
PUT and DELETE do not have any response, instead they return code 204 (No Content).
/contactHistory
Collection of contacts' history statistics. Data based on reporting table FactCEMContacts. Row limit = 10000.
Get a list of contactHistory.
get /contactHistory
Get a list of contactHistory.
Query Parameters
- startTime: required(string)
Show statistics after given UTC time. Start time is rounded up to beginning of the next quarter hour. Example 2019-01-01T13:05:00.000Z is rounded to 2019-01-01T13:15:00.000Z. Recommendation is to use exact quarter hour.
Example:
startTime=2019-01-01T00:00:00.000Z
- endTime: required(string)
Show statistics before given UTC time. End time is rounded up to end of the quarter hour. Example 2019-01-01T13:16:00.000Z is rounded to 2019-01-01T13:30:00.000Z. Recommendation is to use exact quarter hour.
Example:
endTime=2019-01-31T00:00:00.000Z
- timeCategory: (one of null, quarterHour, hour, day, month, week, year, all - default: null)
Aggregation level, one of null, quarterHour, hour, day, month, week, year, all
Example:
timeCategory=day
- queueId: (string)
Can be filtered by queue id. Allows comma separated list.
Example:
queueId=249CEA29B6494EF1B1D16D23FE70E702,990556DC18244B4AB5BF35D75A89CDEF
- userId: (string)
Can be filtered by user id. Allows comma separated list.
Example:
userId=AC083B34470B4164A6A5968DD031B5E5,30BAC5C8C39A4CA5A5B1C5509EE4F12B
- channelType: (string)
Can be filtered by channel or channelType or combination of both. Allows comma separated list.
Example:
channelType=EMAIL,CallIn
- showChannel: (boolean - default: true)
Include channel field.
Example:
showChannel=true
- showChannelType: (boolean - default: true)
Include channel type field.
Example:
showChannelType=true
- showQueue: (boolean - default: true)
Include queue fields.
Example:
showQueue=true
- showUser: (boolean - default: false)
Include user field.
Example:
showUser=true
- showOnlyContactCenter: (boolean - default: true)
Include only contact of Contact Center application.
Example:
showOnlyContactCenter=true
- showDirectContacts: (integer - default: 1)
Include direct contacts. 0=do not Include, 1=Include with queue data, 2=Include only direct contacts.
Example:
showDirectContacts=1
- showInternalContacts: (integer - default: 1)
Include direct contacts. 0=do not Include, 1=Include with others, 2=Include only internal contacts.
Example:
showInternalContacts=1
- showDetails: (boolean - default: false)
Include individual contacts (no aggregation).
Example:
showDetails=true
- any fields: (string)
&field1=value1&field2=value2...
Values may contain patterns * and ?
Valid searchable fields: <> Example:
queueName=Sales
- sort: (string)
Can be sorted by any field. Default sort is maxChangeTimestamp. "-" in front of field name will sort descending. With the postfix ",LOCALE-xx" where xx can be for example en,en-US,de,fi, the user may sort with given locale that are based on standard "IETF BCP 47".
Example:
sort=maxChangeTimestamp,LOCALE-en
- offset: (integer - default: 0)
Skip a number of elements by specifying an offset value for the query.
Example:
offset=100
- limit: (integer - default: 100)
Limit number of elements by specifying a limit value for the query.
Example:
limit=20
HTTP status code 200
Body
Media type: application/json
Type: array of object
Items: contactHistorys
- contactId: (string - minLength: 32 - maxLength: 32)
Included only when parameter showDetails is true.
- timeCategory: (one of null, quarterHour, hour, day, month, week, year, all)
Aggregation level. Included only when parameter timeCategory is given.
- channel: (one of Phone, Chat, Email)
Contact channel. Included only when parameter showChannelType is true.
- type: (one of CallIn, CallOut, ChatIn, ChatOut, EmailIn, EmailOut)
Contact type. Included only when parameter showChannelType is true.
- applicationId: (string - minLength: 32 - maxLength: 32)
Application id. Included only when parameter showQueue is true.
- applicationName: (string)
Application name. Included only when parameter showQueue is true.
- queueId: (string - minLength: 32 - maxLength: 32)
Included only when parameter showQueue is true.
- queueName: (string)
Queue name. Included only when parameter showQueue is true.
- userId: (string - minLength: 32 - maxLength: 32)
Included only when parameter showUser is true.
- userName: (string)
User name. Included only when parameter showUser is true.
- countOfArrivedContacts: (number)
Number of arrived contacts. Included only when parameter showUser is false.
- countOfCompletedContacts: required(number)
Number of completed contacts (disconnected contacts).
- countOfHandledContacts: required(number)
Number of handled contacts (connected contacts).
- countOfFalseAttemptContacts: required(number)
Number of false attempt contacts.
- countOfAbandonedContacts: required(number)
Number of abandoned contacts.
- countOfServiceClosedContacts: required(number)
Number of service closed contacts.
- countOfAnsweredOnTimeContacts: required(number)
Number of answered on time contacts.
- countOfOverflowedContacts: required(number)
Number of contacts overflowed to another queue.
- countOfDivertedContacts: required(number)
Number of contacts diverted by system (not by the user).
- countOfAgentTransferredContacts: required(number)
Number of contacts transferred by the user.
- countOfTransferredInContacts: required(number)
Transferred in contacts tells how many contacts to this queue has been transferred internally.
- waitingDuration: required(number)
Milliseconds, duration between arrival time and connect time or if the contact is not connected duration between arrival time and disconnect time. This duration includes also the prewelcome or Opt-IN IVR duration.
- maxWaitingDuration: required(number)
Milliseconds, maximum waiting duration.
- waitingDurationForHandled: required(number)
Milliseconds, waiting duration for handled.
- maxWaitingDurationForHandled: required(number)
Milliseconds, maximum waiting duration for handled.
- waitingDurationForNotHandled: required(number)
Milliseconds, waiting duration for not handled.
- maxWaitingDurationForNotHandled: required(number)
Milliseconds, maximum waiting duration for not handled.
- queuingDuration: required(number)
Milliseconds, duration of how long contact has waited in queue for connecting or disconnecting. Calculation start of moment when contact arrives to queue. This duration does not include the prewelcome or Opt-IN IVR duration.
- maxQueuingDuration: required(number)
Milliseconds, maximum queuing duration.
- queuingDurationForHandled: required(number)
Milliseconds, queuing duration for handled.
- maxQueuingDurationForHandled: required(number)
Milliseconds, maximum queuing duration for handled.
- queuingDurationForNotHandled: required(number)
Milliseconds, queuing duration for not handled.
- maxQueuingDurationForNotHandled: required(number)
Milliseconds, maximum queuing duration for not handled.
- handlingDuration: required(number)
Milliseconds, handling duration. Duration between connect time and disconnect time.
- maxHandlingDuration: required(number)
Milliseconds, maximum handling duration.
- handlingDurationUser: required(number)
Milliseconds, handling duration of user. Equals to handlingDuration when contact is not transferred. When transferred then duration is calculated separately to each user. For emails this does not contain email pending time.
- maxHandlingDurationUser: required(number)
Milliseconds, maximum handling duration of user.
- afterworkDuration: required(number)
Milliseconds, afterwork duration.
- maxAfterworkDuration: required(number)
Milliseconds, maximum afterwork duration.
- holdDuration: required(number)
Milliseconds, hold duration.
- maxHoldDuration: required(number)
Milliseconds, maximum hold duration.
- maxChangeTimestamp: required(datetime)
Max timestamp of data in UTC.
Example:
{
"contactId": "6BE639E35B75440C840881F04D260EF8",
"timeCategory": "2018-09-12",
"channel": "Phone",
"type": "CallIn",
"queueId": "249CEA29B6494EF1B1D16D23FE70E702",
"queueName": "Sales",
"userId": "AC083B34470B4164A6A5968DD031B5E5",
"userName": "Fox, John",
"countOfArrivedContacts": 1,
"countOfCompletedContacts": 1,
"countOfHandledContacts": 1,
"countOfFalseAttemptContacts": 1,
"countOfAbandonedContacts": 1,
"countOfServiceClosedContacts": 1,
"countOfAnsweredOnTimeContacts": 1,
"countOfOverflowedContacts": 1,
"countOfDivertedContacts": 1,
"countOfAgentTransferredContacts": 1,
"countOfTransferredInContacts": 1,
"waitingDuration": 1000,
"maxWaitingDuration": 1000,
"waitingDurationForHandled": 1000,
"maxWaitingDurationForHandled": 1000,
"waitingDurationForNotHandled": 1000,
"maxWaitingDurationForNotHandled": 1000,
"queuingDuration": 1000,
"maxQueuingDuration": 1000,
"queuingDurationForHandled": 1000,
"maxQueuingDurationForHandled": 1000,
"queuingDurationForNotHandled": 1000,
"maxQueuingDurationForNotHandled": 1000,
"handlingDuration": 1000,
"maxHandlingDuration": 1000,
"handlingDurationUser": 1000,
"maxHandlingDurationUser": 1000,
"afterworkDuration": 1000,
"maxAfterworkDuration": 1000,
"holdDuration": 1000,
"maxHoldDuration": 1000,
"maxChangeTimestamp": "2019-12-25T10:11:12.000Z"
},
{
"contactId": "905FC3E0582F4B9092C3DBC47BB8B542",
"timeCategory": "2018-09-12",
"channel": "Phone",
"type": "CallIn",
"queueId": "249CEA29B6494EF1B1D16D23FE70E702",
"queueName": "Sales",
"userId": "30BAC5C8C39A4CA5A5B1C5509EE4F12B",
"userName": "Wolf, Jane",
"countOfArrivedContacts": 1,
"countOfCompletedContacts": 1,
"countOfHandledContacts": 1,
"countOfFalseAttemptContacts": 1,
"countOfAbandonedContacts": 1,
"countOfServiceClosedContacts": 1,
"countOfAnsweredOnTimeContacts": 1,
"countOfOverflowedContacts": 1,
"countOfDivertedContacts": 1,
"countOfAgentTransferredContacts": 1,
"countOfTransferredInContacts": 1,
"waitingDuration": 1000,
"maxWaitingDuration": 1000,
"waitingDurationForHandled": 1000,
"maxWaitingDurationForHandled": 1000,
"waitingDurationForNotHandled": 1000,
"maxWaitingDurationForNotHandled": 1000,
"queuingDuration": 1000,
"maxQueuingDuration": 1000,
"queuingDurationForHandled": 1000,
"maxQueuingDurationForHandled": 1000,
"queuingDurationForNotHandled": 1000,
"maxQueuingDurationForNotHandled": 1000,
"handlingDuration": 1000,
"maxHandlingDuration": 1000,
"handlingDurationUser": 1000,
"maxHandlingDurationUser": 1000,
"afterworkDuration": 1000,
"maxAfterworkDuration": 1000,
"holdDuration": 1000,
"maxHoldDuration": 1000,
"maxChangeTimestamp": "2019-12-25T10:11:12.000Z"
}
/agentHistory
Collection of agents' history statistics. Data based on reporting table FactCEMAgents. Row limit = 10000.
Get a list of agentHistory.
get /agentHistory
Get a list of agentHistory.
Query Parameters
- startTime: required(string)
Show statistics after given UTC time. Start time is rounded up to beginning of the next quarter hour. Example 2019-01-01T13:05:00.000Z is rounded to 2019-01-01T13:15:00.000Z. Recommendation is to use exact quarter hour.
Example:
startTime=2019-01-01T00:00:00.000Z
- endTime: required(string)
Show statistics before given UTC time. End time is rounded up to end of the quarter hour. Example 2019-01-01T13:16:00.000Z is rounded to 2019-01-01T13:30:00.000Z. Recommendation is to use exact quarter hour.
Example:
endTime=2019-01-31T00:00:00.000Z
- timeCategory: (one of null, quarterHour, hour, day, month, week, year, all - default: null)
Aggregation level, one of null, quarterHour, hour, day, month, week, year, all
Example:
timeCategory=day
- userId: (string)
Can be filtered by user id. Allows comma separated list.
Example:
userId=AC083B34470B4164A6A5968DD031B5E5,30BAC5C8C39A4CA5A5B1C5509EE4F12B
- campaignId: (string)
Can be filtered by campaign id. Allows comma separated list.
Example:
campaignId=56DF995A3C3048F7B956D5809DCEA65F,91E86AA86A7943C7A71219EB0689F377
- profileId: (string)
Can be filtered by profile id. Allows comma separated list.
Example:
profileId=02770429F80BDF1191AD001CC4D98816,A866D86DA8F24AE5B2C5EC054C9FAE09
- showUser: (boolean - default: true)
Include user field.
Example:
showUser=true
- showProfile: (boolean - default: false)
Include profile fields.
Example:
showProfile=true
- showCampaign: (boolean - default: false)
Include campaign fields.
Example:
showCampaign=true
- any fields: (string)
&field1=value1&field2=value2...
Values may contain patterns * and ?
Valid searchable fields: <> Example:
userName=Fox, John
- sort: (string)
Can be sorted by any field. Default sort is maxChangeTimestamp. "-" in front of field name will sort descending. With the postfix ",LOCALE-xx" where xx can be for example en,en-US,de,fi, the user may sort with given locale that are based on standard "IETF BCP 47".
Example:
sort=maxChangeTimestamp,LOCALE-en
- offset: (integer - default: 0)
Skip a number of elements by specifying an offset value for the query.
Example:
offset=100
- limit: (integer - default: 100)
Limit number of elements by specifying a limit value for the query.
Example:
limit=20
HTTP status code 200
Body
Media type: application/json
Type: array of object
Items: agentHistorys
- timeCategory: (one of null, quarterHour, hour, day, month, week, year, all)
Aggregation level. Included only when parameter timeCategory is given.
- userId: (string - minLength: 32 - maxLength: 32)
Included only when parameter showUser is true.
- userName: (string)
User name. Included only when parameter showUser is true.
- profileId: (string - minLength: 32 - maxLength: 32)
Included only when parameter showProfile is true.
- profileName: (string)
Profile name. Included only when parameter showProfile is true.
- profileReason: (string)
Profile name. Included only when parameter showProfile is true.
- campaignId: (string - minLength: 32 - maxLength: 32)
Included only when parameter showCampaign is true.
- campaignName: (string)
Outbound campaing name. Included only when parameter showCampaign is true.
- servingDuration: required(number)
Milliseconds, serving duration = readyDuration + notReadyDuration + pauseDuration.
- readyDuration: required(number)
Milliseconds, ready duration.
- notReadyDuration: required(number)
Milliseconds, not ready duration.
- pauseDuration: required(number)
Milliseconds, pause duration.
- freeDuration: required(number)
Milliseconds, free duration.
- waitingDuration: required(number)
Milliseconds, waiting duration.
- contactHandlingDuration: required(number)
Milliseconds, contact handling duration.
- afterworkDuration: required(number)
Milliseconds, afterwork duration.
- restingDuration: required(number)
Milliseconds, resting duration.
- previewDuration: required(number)
Milliseconds, preview duration.
- countOfHandledCallIn: required(number)
Number of handled inbound call contacts.
- callInDuration: required(number)
Milliseconds, inbound call handling duration.
- afterworkCallInDuration: required(number)
Milliseconds, inbound call afterwork duration.
- countOfHandledCallInDirect: required(number)
Number of handled direct inbound call contacts.
- callInDirectDuration: required(number)
Milliseconds, direct inbound call handling duration.
- countOfHandledCallOut: required(number)
Number of handled outbound call contacts.
- callOutDuration: required(number)
Milliseconds, outbound call handling duration.
- afterworkCallOutDuration: required(number)
Milliseconds, outbound call afterwork duration.
- countOfHandledCallOutDirect: required(number)
Number of handled direct outbound call contacts.
- callOutDirectDuration: required(number)
Milliseconds, direct outbound call handling duration.
- countOfHandledEmailIn: required(number)
Number of handled inbound email contacts.
- emailInDuration: required(number)
Milliseconds, inbound email handling duration.
- countOfHandledEmailOut: required(number)
Number of handled outbound email contacts.
- emailOutDuration: required(number)
Milliseconds, outbound email handling duration.
- afterworkEmailInDuration: required(number)
Milliseconds, inbound email afterwork duration.
- countOfHandledChatIn: required(number)
Number of handled inbound chat contacts.
- countOfHandledChatOut: required(number)
Number of handled outbound chat contacts.
- chatDuration: required(number)
Milliseconds, chat handling (inbound and outbound) duration.
- afterworkChatInDuration: required(number)
Milliseconds, inbound chat afterwork duration.
- maxChangeTimestamp: required(datetime)
Max timestamp of data in UTC.
Example:
{
"timeCategory": "2018-09-12",
"userId": "AC083B34470B4164A6A5968DD031B5E5",
"userName": "Fox, John",
"profileId": "02770429F80BDF1191AD001CC4D98816",
"profileName": "Available",
"profileReason": "NONE",
"campaignId": "56DF995A3C3048F7B956D5809DCEA65F",
"campaignName": "After Sales",
"servingDuration": 1000,
"readyDuration": 1000,
"notReadyDuration": 1000,
"pauseDuration": 1000,
"freeDuration": 1000,
"waitingDuration": 1000,
"contactHandlingDuration": 1000,
"afterworkDuration": 1000,
"restingDuration": 1000,
"previewDuration": 1000,
"countOfHandledCallIn": 1,
"callInDuration": 1000,
"afterworkCallInDuration": 1000,
"countOfHandledCallInDirect": 1,
"callInDirectDuration": 1000,
"countOfHandledCallOut": 1,
"callOutDuration": 1000,
"afterworkCallOutDuration": 1000,
"countOfHandledCallOutDirect": 1,
"callOutDirectDuration": 1000,
"countOfHandledEmailIn": 1,
"emailInDuration": 1000,
"countOfHandledEmailOut": 1,
"emailOutDuration": 1000,
"afterworkEmailInDuration": 1000,
"countOfHandledChatIn": 1,
"countOfHandledChatOut": 1,
"chatDuration": 1000,
"afterworkChatInDuration": 1000
},
{
"timeCategory": "2018-09-12",
"userId": "30BAC5C8C39A4CA5A5B1C5509EE4F12B",
"userName": "Wolf, Jane",
"profileId": "A866D86DA8F24AE5B2C5EC054C9FAE09",
"profileName": "Meeting",
"profileReason": "MEETING",
"campaignId": "56DF995A3C3048F7B956D5809DCEA65F",
"campaignName": "After Sales",
"servingDuration": 1000,
"readyDuration": 1000,
"notReadyDuration": 1000,
"pauseDuration": 1000,
"freeDuration": 1000,
"waitingDuration": 1000,
"contactHandlingDuration": 1000,
"afterworkDuration": 1000,
"restingDuration": 1000,
"previewDuration": 1000,
"countOfHandledCallIn": 1,
"callInDuration": 1000,
"afterworkCallInDuration": 1000,
"countOfHandledCallInDirect": 1,
"callInDirectDuration": 1000,
"countOfHandledCallOut": 1,
"callOutDuration": 1000,
"afterworkCallOutDuration": 1000,
"countOfHandledCallOutDirect": 1,
"callOutDirectDuration": 1000,
"countOfHandledEmailIn": 1,
"emailInDuration": 1000,
"countOfHandledEmailOut": 1,
"emailOutDuration": 1000,
"afterworkEmailInDuration": 1000,
"countOfHandledChatIn": 1,
"countOfHandledChatOut": 1,
"chatDuration": 1000,
"afterworkChatInDuration": 1000,
"maxChangeTimestamp": "2019-12-25T10:11:12.000Z"
}
/contactStatistic
Collection of contacts' current day statistics. Data based on monitoring table TAMContactDetail. Row limit = 10000.
Get a list of contactStatistic.
get /contactStatistic
Get a list of contactStatistic.
Query Parameters
- startTime: required(string)
Search data after of given UTC time. Time criteria points disconnect time for completed contact statistics and arrival time for active contact statistics.
Example:
startTime=2019-03-11T13:47:55.000Z
- endTime: (string)
Search data before of given UTC time. Time criteria points disconnect time for completed contact statistics and arrival time for active contact statistics.
Example:
endTime=2019-03-11T14:11:12.000Z
- timeZone: (string)
Returns realtime statistics on given timezone. By default statistics returned in UTC.
Example:
timeZone=Europe/Helsinki
- timeCategory: (one of null, quarterHour, hour, day, month, week, year, all - default: null)
Aggregation level, one of null, quarterHour, hour, day, month, week, year, all
Example:
timeCategory=day
- queueId: (string)
Can be filtered by queue id. Allows comma separated list.
Example:
queueId=249CEA29B6494EF1B1D16D23FE70E702,990556DC18244B4AB5BF35D75A89CDEF
- userId: (string)
Can be filtered by user id. Allows comma separated list.
Example:
userId=AC083B34470B4164A6A5968DD031B5E5,30BAC5C8C39A4CA5A5B1C5509EE4F12B
- channelType: (string)
Can be filtered by channel or channelType or combination of both. Allows comma separated list.
Example:
channelType=EMAIL,CallIn
- showChannel: (boolean - default: true)
Include channel field.
Example:
showChannel=true
- showChannelType: (boolean - default: true)
Include channel type field.
Example:
showChannelType=true
- showQueue: (boolean - default: true)
Include queue fields.
Example:
showQueue=true
- showUser: (boolean - default: false)
Include user field.
Example:
showUser=true
- showOnlyContactCenter: (boolean - default: true)
Include only contact of Contact Center application.
Example:
showOnlyContactCenter=true
- showDirectContacts: (integer - default: 1)
Include direct contacts. 0=do not Include, 1=Include with queue data, 2=Include only direct contacts.
Example:
showDirectContacts=1
- showDetails: (boolean - default: false)
Include individual contacts (no aggregation).
Example:
showDetails=true
- language: (string)
Define with a two-character code (ISO 639) the language to which the translatable values are translated. By default, logged-on user’s language is used.
Example:
language=FI
- any fields: (string)
&field1=value1&field2=value2...
Values may contain patterns * and ?
Valid searchable fields: <> Example:
queueName=Sales
- sort: (string)
Can be sorted by any field. Default sort is maxChangeTimestamp. "-" in front of field name will sort descending. With the postfix ",LOCALE-xx" where xx can be for example en,en-US,de,fi, the user may sort with given locale that are based on standard "IETF BCP 47".
Example:
sort=maxChangeTimestamp,LOCALE-en
- offset: (integer - default: 0)
Skip a number of elements by specifying an offset value for the query.
Example:
offset=100
- limit: (integer - default: 100)
Limit number of elements by specifying a limit value for the query.
Example:
limit=20
HTTP status code 200
Body
Media type: application/json
Type: array of object
Items: contactStatistics
- contactId: (string - minLength: 32 - maxLength: 32)
Included only when parameter showDetails is true.
- timeCategory: (one of null, quarterHour, hour, day, month, week, year, all)
Aggregation level. Included only when parameter timeCategory is given.
- channel: (one of Phone, Chat, Email)
Contact channel. Included only when parameter showChannelType is true.
- type: (one of CallIn, CallOut, ChatIn, ChatOut, EmailIn, EmailOut)
Contact type. Included only when parameter showChannelType is true.
- applicationId: (string - minLength: 32 - maxLength: 32)
Application id. Included only when parameter showQueue is true.
- applicationName: (string)
Application name. Included only when parameter showQueue is true.
- queueId: (string - minLength: 32 - maxLength: 32)
Queue id. Included only when parameter showQueue is true.
- queueName: (string)
Queue name. Included only when parameter showQueue is true.
- userId: (string - minLength: 32 - maxLength: 32)
Included only when parameter showUser is true.
- userName: (string)
User name. Included only when parameter showUser is true.
- countOfArrivedContacts: (number)
Number of arrived contacts. Included only when parameter showUser is false.
- countOfQueuingContacts: (number)
Number of queuing contacts. Included only when parameter showUser is false.
- countOfInProcessContacts: (number)
Number of in progress contacts. Included only when parameter showUser is false.
- activeQueuingDuration: (number)
Milliseconds, counted only queuing contacts (arrival queue time exists and connect time not exists). Duration between arrival queue time and current time. Included only when parameter showUser is false.
- activeMaxQueuingDuration: (number)
Milliseconds, maximum queuing duration. Included only when parameter showUser is false.
- activeHandlingDuration: (number)
Milliseconds, counted only in progress contacts (connect time exists and disconnect time not exists). Duration between connect time and current time. Included only when parameter showUser is false.
- activeMaxHandlingDuration: (number)
Milliseconds, maximum agent handling duration. Included only when parameter showUser is false.
- countOfCompletedContacts: required(number)
Number of completed contacts (disconnected contacts).
- countOfHandledContacts: required(number)
Number of handled contacts (connected contacts).
- countOfFalseAttemptContacts: required(number)
Number of false attempt contacts.
- countOfAbandonedContacts: required(number)
Number of abandoned contacts.
- countOfServiceClosedContacts: required(number)
Number of service closed contacts.
- countOfAnsweredOnTimeContacts: required(number)
Number of answered on time contacts.
- countOfOverflowedContacts: required(number)
Number of contacts overflowed to another queue.
- countOfDivertedContacts: required(number)
Number of contacts diverted by system (not by the user).
- countOfAgentTransferredContacts: required(number)
Number of contacts transferred by the user.
- countOfTransferredInContacts: required(number)
Transferred in contacts tells how many contacts to this queue has been transferred internally.
- waitingDuration: required(number)
Milliseconds, duration between arrival time and connect time or if the contact is not connected duration between arrival time and disconnect time. This duration includes also the prewelcome or Opt-IN IVR duration.
- maxWaitingDuration: required(number)
Milliseconds, maximum waiting duration.
- waitingDurationForHandled: required(number)
Milliseconds, waiting duration for handled.
- maxWaitingDurationForHandled: required(number)
Milliseconds, maximum waiting duration for handled.
- waitingDurationForNotHandled: required(number)
Milliseconds, waiting duration for not handled.
- maxWaitingDurationForNotHandled: required(number)
Milliseconds, maximum waiting duration for not handled.
- queuingDuration: required(number)
Milliseconds, duration of how long contact has waited in queue for connecting or disconnecting. Calculation start of moment when contact arrives to queue. This duration does not include the prewelcome or Opt-IN IVR duration.
- maxQueuingDuration: required(number)
Milliseconds, maximum queuing duration.
- queuingDurationForHandled: required(number)
Milliseconds, queuing duration for handled.
- maxQueuingDurationForHandled: required(number)
Milliseconds, maximum queuing duration for handled.
- queuingDurationForNotHandled: required(number)
Milliseconds, queuing duration for not handled.
- maxQueuingDurationForNotHandled: required(number)
Milliseconds, maximum queuing duration for not handled.
- handlingDuration: required(number)
Milliseconds, handling duration. Duration between connect time and disconnect time.
- maxHandlingDuration: required(number)
Milliseconds, maximum handling duration.
- handlingDurationUser: required(number)
Milliseconds, handling duration of user. Equals to handlingDuration when contact is not transferred. When transferred then duration is calculated separately to each user. For emails this does not contain email pending time.
- maxHandlingDurationUser: required(number)
Milliseconds, maximum handling duration of user.
- afterworkDuration: required(number)
Milliseconds, afterwork duration.
- maxAfterworkDuration: required(number)
Milliseconds, maximum afterwork duration.
- maxChangeTimestamp: required(datetime)
Max timestamp of data in UTC.
Example:
{
"contactId": "6BE639E35B75440C840881F04D260EF8",
"timeCategory": "2018-09-12",
"channel": "Phone",
"type": "CallIn",
"queueId": "249CEA29B6494EF1B1D16D23FE70E702",
"queueName": "Sales",
"userId": "AC083B34470B4164A6A5968DD031B5E5",
"userName": "Fox, John",
"countOfArrivedContacts": 1,
"countOfQueuingContacts": 1,
"countOfInProcessContacts": 1,
"activeQueuingDuration": 1000,
"activeMaxQueuingDuration": 1000,
"activeHandlingDuration": 1000,
"activeMaxHandlingDuration": 1000,
"countOfCompletedContacts": 1,
"countOfHandledContacts": 1,
"countOfFalseAttemptContacts": 1,
"countOfAbandonedContacts": 1,
"countOfServiceClosedContacts": 1,
"countOfAnsweredOnTimeContacts": 1,
"countOfOverflowedContacts": 1,
"countOfDivertedContacts": 1,
"countOfAgentTransferredContacts": 1,
"countOfTransferredInContacts": 1,
"waitingDuration": 1000,
"maxWaitingDuration": 1000,
"waitingDurationForHandled": 1000,
"maxWaitingDurationForHandled": 1000,
"waitingDurationForNotHandled": 1000,
"maxWaitingDurationForNotHandled": 1000,
"queuingDuration": 1000,
"maxQueuingDuration": 1000,
"queuingDurationForHandled": 1000,
"maxQueuingDurationForHandled": 1000,
"queuingDurationForNotHandled": 1000,
"maxQueuingDurationForNotHandled": 1000,
"handlingDuration": 1000,
"maxHandlingDuration": 1000,
"handlingDurationUser": 1000,
"maxHandlingDurationUser": 1000,
"afterworkDuration": 1000,
"maxAfterworkDuration": 1000,
"maxChangeTimestamp": "2019-12-25T10:11:12.000Z"
},
{
"contactId": "905FC3E0582F4B9092C3DBC47BB8B542",
"timeCategory": "2018-09-12",
"channel": "Phone",
"type": "CallIn",
"queueId": "249CEA29B6494EF1B1D16D23FE70E702",
"queueName": "Sales",
"userId": "30BAC5C8C39A4CA5A5B1C5509EE4F12B",
"userName": "Wolf, Jane",
"countOfArrivedContacts": 1,
"countOfQueuingContacts": 1,
"countOfInProcessContacts": 1,
"activeQueuingDuration": 1000,
"activeMaxQueuingDuration": 1000,
"activeHandlingDuration": 1000,
"activeMaxHandlingDuration": 1000,
"countOfCompletedContacts": 1,
"countOfHandledContacts": 1,
"countOfFalseAttemptContacts": 1,
"countOfAbandonedContacts": 1,
"countOfServiceClosedContacts": 1,
"countOfAnsweredOnTimeContacts": 1,
"countOfOverflowedContacts": 1,
"countOfDivertedContacts": 1,
"countOfAgentTransferredContacts": 1,
"countOfTransferredInContacts": 1,
"waitingDuration": 1000,
"maxWaitingDuration": 1000,
"waitingDurationForHandled": 1000,
"maxWaitingDurationForHandled": 1000,
"waitingDurationForNotHandled": 1000,
"maxWaitingDurationForNotHandled": 1000,
"queuingDuration": 1000,
"maxQueuingDuration": 1000,
"queuingDurationForHandled": 1000,
"maxQueuingDurationForHandled": 1000,
"queuingDurationForNotHandled": 1000,
"maxQueuingDurationForNotHandled": 1000,
"handlingDuration": 1000,
"maxHandlingDuration": 1000,
"handlingDurationUser": 1000,
"maxHandlingDurationUser": 1000,
"afterworkDuration": 1000,
"maxAfterworkDuration": 1000,
"maxChangeTimestamp": "2019-12-25T10:11:12.000Z"
}
/agentStatistic
Collection of agents' current day (quarter hour) statistics. Data based on monitoring table TAMOperatorStatsHistory. Row limit = 10000.
Get a list of agentStatistic.
get /agentStatistic
Get a list of agentStatistic.
Query Parameters
- startTime: required(string)
Show statistics after given UTC time. Start time is rounded up to beginning of the next quarter hour. Example 2019-01-01T13:05:00.000Z is rounded to 2019-01-01T13:15:00.000Z. Recommendation is to use exact quarter hour.
Example:
startTime=2019-01-01T00:00:00.000Z
- endTime: (string)
Show statistics before given UTC time. End time is rounded up to end of the quarter hour. Example 2019-01-01T13:16:00.000Z is rounded to 2019-01-01T13:30:00.000Z. Recommendation is to use exact quarter hour.
Example:
endTime=2019-01-31T00:00:00.000Z
- timeZone: (string)
Returns realtime statistics on given timezone. By default statistics returned in UTC.
Example:
timeZone=Europe/Helsinki
- timeCategory: (one of null, quarterHour, hour, day, month, week, year, all - default: null)
Aggregation level, one of null, quarterHour, hour, day, month, week, year, all
Example:
timeCategory=day
- userId: (string)
Can be filtered by user id. Allows comma separated list.
Example:
userId=AC083B34470B4164A6A5968DD031B5E5,30BAC5C8C39A4CA5A5B1C5509EE4F12B
- showUser: (boolean - default: true)
Include user field.
Example:
showUser=true
- language: (string)
Define with a two-character code (ISO 639) the language to which the translatable values are translated. By default, logged-on user’s language is used.
Example:
language=FI
- any fields: (string)
&field1=value1&field2=value2...
Values may contain patterns * and ?
Valid searchable fields: <> Example:
userName=Fox, John
- sort: (string)
Can be sorted by any field. Default sort is maxChangeTimestamp. "-" in front of field name will sort descending. With the postfix ",LOCALE-xx" where xx can be for example en,en-US,de,fi, the user may sort with given locale that are based on standard "IETF BCP 47".
Example:
sort=maxChangeTimestamp,LOCALE-en
- offset: (integer - default: 0)
Skip a number of elements by specifying an offset value for the query.
Example:
offset=100
- limit: (integer - default: 100)
Limit number of elements by specifying a limit value for the query.
Example:
limit=20
HTTP status code 200
Body
Media type: application/json
Type: array of object
Items: agentStatistics
- timeCategory: (one of null, quarterHour, hour, day, month, week, year, all)
Aggregation level. Included only when parameter timeCategory is given.
- userId: (string - minLength: 32 - maxLength: 32)
Included only when parameter showUser is true.
- userName: (string)
User name. Included only when parameter showUser is true.
- servingDuration: required(number)
Milliseconds, serving duration = readyDuration + notReadyDuration + pauseDuration.
- readyDuration: required(number)
Milliseconds, ready duration.
- notReadyDuration: required(number)
Milliseconds, not ready duration.
- pauseDuration: required(number)
Milliseconds, pause duration.
- freeDuration: required(number)
Milliseconds, free duration.
- waitingDuration: required(number)
Milliseconds, waiting duration.
- contactHandlingDuration: required(number)
Milliseconds, contact handling duration.
- afterworkDuration: required(number)
Milliseconds, afterwork duration.
- restingDuration: required(number)
Milliseconds, resting duration.
- previewDuration: required(number)
Milliseconds, preview duration.
- countOfHandledCallIn: required(number)
Number of handled inbound call contacts.
- callInDuration: required(number)
Milliseconds, inbound call handling duration.
- countOfHandledCallInDirect: required(number)
Number of handled direct inbound call contacts.
- callInDirectDuration: required(number)
Milliseconds, direct inbound call handling duration.
- countOfHandledCallOut: required(number)
Number of handled outbound call contacts.
- callOutDuration: required(number)
Milliseconds, outbound call handling duration.
- countOfHandledCallOutDirect: required(number)
Number of handled direct outbound call contacts.
- callOutDirectDuration: required(number)
Milliseconds, direct outbound call handling duration.
- countOfHandledEmailIn: required(number)
Number of handled inbound email contacts.
- emailInDuration: required(number)
Milliseconds, inbound email handling duration.
- countOfHandledEmailOut: required(number)
Number of handled outbound email contacts.
- emailOutDuration: required(number)
Milliseconds, outbound email handling duration.
- countOfHandledChatIn: required(number)
Number of handled inbound chat contacts.
- countOfHandledChatOut: required(number)
Number of handled outbound chat contacts.
- chatDuration: required(number)
Milliseconds, chat handling (inbound and outbound) duration.
- maxChangeTimestamp: required(datetime)
Max timestamp of data in UTC.
Example:
{
"timeCategory": "2018-09-12",
"userId": "AC083B34470B4164A6A5968DD031B5E5",
"userName": "Fox, John",
"servingDuration": 1000,
"readyDuration": 1000,
"notReadyDuration": 1000,
"pauseDuration": 1000,
"freeDuration": 1000,
"waitingDuration": 1000,
"contactHandlingDuration": 1000,
"afterworkDuration": 1000,
"restingDuration": 1000,
"previewDuration": 1000,
"countOfHandledCallIn": 1,
"callInDuration": 1000,
"countOfHandledCallInDirect": 1,
"callInDirectDuration": 1000,
"countOfHandledCallOut": 1,
"callOutDuration": 1000,
"countOfHandledCallOutDirect": 1,
"callOutDirectDuration": 1000,
"countOfHandledEmailIn": 1,
"emailInDuration": 1000,
"countOfHandledEmailOut": 1,
"emailOutDuration": 1000,
"countOfHandledChatIn": 1,
"countOfHandledChatOut": 1,
"chatDuration": 1000,
"maxChangeTimestamp": "2019-12-25T10:11:12.000Z"
},
{
"timeCategory": "2018-09-12",
"userId": "30BAC5C8C39A4CA5A5B1C5509EE4F12B",
"userName": "Wolf, Jane",
"servingDuration": 1000,
"readyDuration": 1000,
"notReadyDuration": 1000,
"pauseDuration": 1000,
"freeDuration": 1000,
"waitingDuration": 1000,
"contactHandlingDuration": 1000,
"afterworkDuration": 1000,
"restingDuration": 1000,
"previewDuration": 1000,
"countOfHandledCallIn": 1,
"callInDuration": 1000,
"countOfHandledCallInDirect": 1,
"callInDirectDuration": 1000,
"countOfHandledCallOut": 1,
"callOutDuration": 1000,
"countOfHandledCallOutDirect": 1,
"callOutDirectDuration": 1000,
"countOfHandledEmailIn": 1,
"emailInDuration": 1000,
"countOfHandledEmailOut": 1,
"emailOutDuration": 1000,
"countOfHandledChatIn": 1,
"countOfHandledChatOut": 1,
"chatDuration": 1000,
"maxChangeTimestamp": "2019-12-25T10:11:12.000Z"
}
/agentStatus
Collection of agents' current statuses. Data based on monitoring table TAMOperatorStats. Row limit = 10000.
Get a list of agentStatus.
get /agentStatus
Get a list of agentStatus.
Query Parameters
- startTime: required(string)
Search data after of given UTC time. Time criteria points to latest change time (changeTimestamp)
Example:
startTime=2019-03-11T13:47:55.000Z
- endTime: (string)
Search data before of given UTC time. Time criteria points to latest change time (changeTimestamp)
Example:
endTime=2019-03-11T14:11:12.000Z
- showAgentInfo: (boolean - default: false)
Include user attribute information: extensions, capacity and location
Example:
showAgentInfo=true
- userId: (string)
Can be filtered by user id. Allows comma separated list.
Example:
userId=AC083B34470B4164A6A5968DD031B5E5,30BAC5C8C39A4CA5A5B1C5509EE4F12B
- reportingGroupId: (string)
Can be filtered by reporting group id. Allows comma separated list.
Example:
reportingGroupId=2F7A2AA9-6974-4BA7-A854-4C79ACD0DCD0,88D28FCD-5367-4893-81DE-66700E0F44B6
- profileId: (string)
Can be filtered by profile id. Allows comma separated list.
Example:
profileId=02770429-F80B-DF11-91AD-001CC4D98816
- language: (string)
Define with a two-character code (ISO 639) the language to which the translatable values are translated. By default, logged-on user’s language is used.
Example:
language=FI
- any fields: (string)
&field1=value1&field2=value2...
Values may contain patterns * and ?
Valid searchable fields: <> Example:
number=320
- sort: (string)
Can be sorted by any field. Default sort is maxChangeTimestamp. "-" in front of field name will sort descending. With the postfix ",LOCALE-xx" where xx can be for example en,en-US,de,fi, the user may sort with given locale that are based on standard "IETF BCP 47".
Example:
sort=maxChangeTimestamp,LOCALE-en
- offset: (integer - default: 0)
Skip a number of elements by specifying an offset value for the query.
Example:
offset=100
- limit: (integer - default: 100)
Limit number of elements by specifying a limit value for the query.
Example:
limit=20
HTTP status code 200
Body
Media type: application/json
Type: array of object
Items: agentStatuss
- userId: required(string - minLength: 32 - maxLength: 32)
User's id. All data shown only when user is logged in
- UserName: required(string)
User's name
- reportingGroupid: required(string - minLength: 32 - maxLength: 32)
User's reporting group id
- reportingGroupName: required(string)
User's reporting group name
- profile: required(string)
Name of the current presence profile.
- profileReason: (string)
Reason of the current presence profile.
- profileType: required(one of Presence, Absence, Conference)
Type of the current presence profile.
- profileDuration: required(integer)
Milliseconds, duration on current profile.
- userStatus: required(one of Ready, NotReady, Pause, LoggedOut)
General status.
- userStatusDuration: required(integer)
Milliseconds, duration on current userStatus.
- availability: required(one of LoggedOut, Away, Busy, Free)
Availability
- contactHandlingStatus: required(one of Talking_Inbound, Talking_Outbound, Talking_Outbound_CBR, Talking_Outbound_Campaign, Chatting_Inbound, Chatting_Outbound, Emailing_Inbound, Emailing_Outbound, Dialing_Outbound, Dialing_Outbound_CBR, Dialing_Outbound_Campaign, Waiting)
Contact handling status.
- contactHandlingStatusDuration: required(integer)
Milliseconds, duration on current userStatus.
- phoneActiveInboundContacts: (integer)
Number of active inbound phone contacts. Shown only when value greater than 0.
- phoneActiveInboundDuration: (integer)
Milliseconds, duration having active inbound calls Shown only when value greater than 0.
- phoneActiveOutboundContacts: (integer)
Number of active outbound phone contacts contains campaing and callback request outgoing calls . Shown only when value greater than 0.
- phoneActiveOutboundDuration: (integer)
Milliseconds, duration having active outbound calls Shown only when value greater than 0.
- chatActiveInboundContacts: (integer)
Number of active inbound chat contacts. Shown only when value greater than 0.
- chatActiveInboundDuration: (integer)
Milliseconds, duration having active inbound chats Shown only when value greater than 0.
- chatActiveOutboundContacts: (integer)
Number of active outbound chat contacts. Shown only when value greater than 0.
- chatActiveOutboundDuration: (integer)
Milliseconds, duration having active outbound chats Shown only when value greater than 0.
- emailActiveInboundContacts: (integer)
Number of active inbound email contacts. Shown only when value greater than 0.
- emailActiveInboundDuration: (integer)
Milliseconds, duration having active outbound emails Shown only when value greater than 0.
- emailActiveOutboundContacts: (integer)
Number of active outbound email contacts. Shown only when value greater than 0.
- emailActiveOutboundDuration: (integer)
Milliseconds, duration having active outbound emails Shown only when value greater than 0.
- number: (string)
Internal phone number. Included only when parameter showAgentInfo is true.
- mobileNumber: (string)
Mobile number. Included only when parameter showAgentInfo is true.
- externalNumber: (string)
External number when serving as external agent. Included only when parameter showAgentInfo is true.
- email: (string)
Email address. Included only when parameter showAgentInfo is true.
- chatName: (string)
Chat name. Included only when parameter showAgentInfo is true.
- chat: (string)
Chat address. Included only when parameter showAgentInfo is true.
- chatCapacity: (integer)
Number of allowed simultaneously inbound text chats. Included only when parameter showAgentInfo is true.
- location: (string)
Location. Included only when parameter showAgentInfo is true.
- changeTimestamp: required(datetime)
Latest change timestamp of data in UTC.
Example:
{
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"profile": "Available",
"profileReason" : "None",
"profileDuration": 60000,
"profileType": "Presence",
"userStatus" : "Ready",
"availability": "Busy",
"userStatusDuration" : 3600000,
"contactHandlingStatus": "Talking_Inbound",
"contactHandlingStatusDuration": 60000,
"activePhoneContacts": 1,
"activeChatContacts": 0,
"activeEmailContacts": 0,
"activeContactDuration": 60000,
"number": 201,
"mobileNumber": "+358123456201",
"externalNumber": "+358123456201",
"email": "john.fox@sinch.com",
"chatName": "Fox, John",
"chat": "john.fox@sinch.com",
"chatCapacity": 1,
"reportingGroupid": "1381038F462C4E4684D997B5924F83DE",
"reportingGroupName": "Sales",
"location": "Espoo",
"changeTimestamp": "2019-12-25T10:11:12.000Z"
}
/agentStatusHistory
Collection of agents' status histories. Data based on monitoring table TAMOperatorStatusChangeLog. Row limit = 10000.
Get a list of agentStatusHistory.
get /agentStatusHistory
Get a list of agentStatusHistory.
Query Parameters
- startTime: required(string)
Search data after of given UTC time. Time criteria points to latest change time (changeTimestamp)
Example:
startTime=2019-03-11T13:47:55.000Z
- endTime: (string)
Search data before of given UTC time. Time criteria points to latest change time (changeTimestamp)
Example:
endTime=2019-03-11T14:11:12.000Z
- userId: (string)
Can be filtered by user id. Allows comma separated list.
Example:
userId=AC083B34470B4164A6A5968DD031B5E5,30BAC5C8C39A4CA5A5B1C5509EE4F12B
- sessionId: (string)
Can be filtered by user session id. Allows comma separated list.
Example:
sessionId=ABCABC34470B4164A6A5968DD031B5E5,CBACBAC8C39A4CA5A5B1C5509EE4F12B
- language: (string)
Define with a two-character code (ISO 639) the language to which the translatable values are translated. By default, logged-on user’s language is used.
Example:
language=FI
- offset: (integer - default: 0)
Skip a number of elements by specifying an offset value for the query.
Example:
offset=100
- limit: (integer - default: 100)
Limit number of elements by specifying a limit value for the query.
Example:
limit=20
HTTP status code 200
Body
Media type: application/json
Type: array of object
Items: agentStatusHistorys
- sessionId: required(string - minLength: 32 - maxLength: 32)
id of user's session. All data shown only when user is logged in.
- UserId: required(string - minLength: 32 - maxLength: 32)
id of user
- userName: required(string)
User's name
- signOn: (datetime)
Session start time in UTC.
- profile: (string)
Name of the current presence profile.
- profileReason: (string)
Reason of the current presence profile.
- profileType: (one of Presence, Absence, Conference)
Type of the current presence profile.
- userStatus: (one of Ready, NotReady, Pause, LoggedOut)
General status.
- userStatusTimestamp: (datetime)
User status change time in UTC.
- status: (one of Waiting, OBJoin, Preview, Wrap, Talking_Inbound, Talking_Outbound, Talking_Outbound_CBR, Talking_Outbound_Campaign, Chatting_Inbound, Chatting_Outbound, Emailing_Inbound, Emailing_Outbound, Dialing_Outbound, Dialing_Outbound_CBR, Dialing_Outbound_Campaign)
User handling status.
- statusTimestamp: (datetime)
Contact handling status change time in UTC.
- changeTimestamp: required(datetime)
Change timestamp of data in UTC.
Example:
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"signOn": "2019-12-03 07:19:59.127",
"status": "Waiting",
"statusTimestamp": "2019-12-03 07:19:59.127",
"userStatus": "Ready",
"userStatusTimeStamp": "2019-12-03 07:19:59.127",
"changeTimeStamp": "2019-12-03 07:19:59.760"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"profile": "Default",
"profileReason": "NONE",
"profileType": "Presence",
"userStatus": "NotReady",
"userStatusTimeStamp": "2019-12-03 07:19:59.160",
"changeTimeStamp": "2019-12-03 07:19:59.780"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"profile": "Office",
"profileReason": "NONE",
"profileType": "Presence",
"userStatus": "Ready",
"userStatusTimeStamp": "2019-12-03 07:20:12.960",
"changeTimeStamp": "2019-12-03 07:20:14.057"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "OBJoin",
"statusTimestamp": "2019-12-03 07:20:16.027",
"OutboundServing": "DBE3BEFA75B448F89D52DE51236C03DC",
"changeTimeStamp": "2019-12-03 07:20:16.110"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Preview",
"statusTimestamp": "2019-12-03 07:20:16.027",
"changeTimeStamp": "2019-12-03 07:20:16.923"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Waiting",
"statusTimestamp": "2019-12-03 07:20:21.250",
"changeTimeStamp": "2019-12-03 07:20:22.013"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Dialing_Outbound_Campaign",
"statusTimestamp": "2019-12-03 07:20:16.027",
"changeTimeStamp": "2019-12-03 07:20:22.013"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Talking_Outbound_Campaign",
"statusTimestamp": "2019-12-03 07:20:21.907",
"changeTimeStamp": "2019-12-03 07:20:22.023"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Waiting",
"statusTimestamp": "2019-12-03 07:20:37.387",
"changeTimeStamp": "2019-12-03 07:20:38.313"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Wrap",
"statusTimestamp": "2019-12-03 07:20:37.390",
"changeTimeStamp": "2019-12-03 07:20:38.320"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Waiting",
"statusTimestamp": "2019-12-03 07:20:42.230",
"changeTimeStamp": "2019-12-03 07:20:42.513"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "OBUnJoin",
"statusTimestamp": "2019-12-03 07:20:42.233",
"OutboundServing": "DBE3BEFA75B448F89D52DE51236C03DC",
"changeTimeStamp": "2019-12-03 07:20:42.670"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "OBJoin",
"statusTimestamp": "2019-12-03 07:20:45.053",
"OutboundServing": "DBE3BEFA75B448F89D52DE51236C03DC",
"changeTimeStamp": "2019-12-03 07:20:45.737"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Preview",
"statusTimestamp": "2019-12-03 07:20:45.053",
"changeTimeStamp": "2019-12-03 07:20:45.740"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Waiting",
"statusTimestamp": "2019-12-03 07:21:08.223",
"changeTimeStamp": "2019-12-03 07:21:09.120"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Dialing_Outbound_Campaign",
"statusTimestamp": "2019-12-03 07:20:45.053",
"changeTimeStamp": "2019-12-03 07:21:09.123"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Waiting",
"statusTimestamp": "2019-12-03 07:21:27.600",
"changeTimeStamp": "2019-12-03 07:21:28.453"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Wrap",
"statusTimestamp": "2019-12-03 07:21:27.600",
"changeTimeStamp": "2019-12-03 07:21:28.457"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "Waiting",
"statusTimestamp": "2019-12-03 07:22:40.587",
"changeTimeStamp": "2019-12-03 07:22:41.483"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"status": "OBUnJoin",
"statusTimestamp": "2019-12-03 07:22:40.593",
"OutboundServing": "DBE3BEFA75B448F89D52DE51236C03DC",
"changeTimeStamp": "2019-12-03 07:22:41.483"
},
{
"sessionId": "5E7DA34E9D15EA1180DB00505687F2FD",
"userId": "E936C474B22311D38FBE0090279A922E",
"userName": "Fox, John",
"profileReason": "-",
"status": "LoggedOut",
"statusTimestamp": "2019-12-03 07:40:58.870",
"changeTimeStamp": "2019-12-03 07:40:59.600"
}