Sinch Contact Center Restful Monitoring Interface (RMI) version v1
http://localhost:8080/RI/rmi
Description
This interface provides statistics of contacts, agents and queues from Monitoring Database.
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).
/contacts
Collection of contacts.
Get a list of contacts.
get /contacts
Get a list of contacts.
Query Parameters
- 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
- startTime: (string)
Show statistics after given UTC time.
Example:
startTime=2016-01-02T22:00:00.000Z
- endTime: (string)
Show statistics before given UTC time.
Example:
endTime=2016-01-02T22:00:00.000Z
- showAllInProcess: (string)
Shows all active contacts regardless time criteria.
Example:
showAllInProcess=1
- agentId: (string)
Can be filtered by agentId. Allows comma separated list.
Example:
agentId=E936C474B22311D38FBE0090279A922E,A206C474B22311D38FBE0090279A922E
- queueId: (string)
Can be filtered by queueId. Allows comma separated list.
Example:
queueId=F8C2697F37D044DB929B10F75381C624,990556DC18244B4AB5BF35D75A89CDEF
- contactGroupId: (string)
Can be filtered by contactGroupId. Allows comma separated list, in which case the ID must be in correct format, with hyphens (chats, emails) or without (phone calls).
Example:
contactGroupId=B4AFCD2C-A791-4D1D-8ED6-AF4E25AEA096,990556DC18244B4AB5BF35D75A89CDEF
- any fields: (string)
&field1=value1&field2=value2...
Values may contain patterns * and ?
Valid searchable fields: <> Example:
agentName=Fox, John
- search: (string)
Can be searched by source OR destination.
Example:
search=sourceOrDestination
- queueLoginType: (string)
Can be filtered by queue login type, which can be either AutoAllocation or HuntGroup.
Example:
queueLoginType=AutoAllocation,HuntGroup
- pickable: (boolean)
Can be filtered to return only pickable contacts. Contact is pickable if agent has STATISTICS_DETAILS right to see the contact (queue/agent), and if agent has SERVE right to the queue. Currently phone calls can't be picked. Contact status must be one of:
- status=InQueue (chat, email)
- status=InProcess_Pending (inbound email, or outbound email which was created by the same agent)
Example:
pickable=true
- activeQueue: (boolean)
Can be filtered to return only contacts that are in a queue which the agent is currently logged in. This parameter can be used with pickable parameter to filter contacts even more.
Example:
activeQueue=true
- sort: (string)
Can be sorted by any field. Default sort is name. "-" 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=name,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: contacts
- id: required(string - minLength: 32 - maxLength: 32)
- contactGroupId: required(string - minLength: 32 - maxLength: 36)
When contact is transferred, then it gets the new id but contactGroupId stays the same. Chats and emails have 36 characters with hyphens while phone calls have 32 characters without hyphens.
- channel: required(one of PHONE, CHAT, EMAIL)
- type: required(string)
CallIn (=inbound call); CallIn/Forwarded(=inbound call, which is transfered by the BCM system (not by an agent)); CallOut(=outbound call); CallOutOB(=outbound call belong to Outbound campaign activity); CallOutTerm(=terminal call, generated by the multiterminal desktop (MTD) usage); EMAILIN(=E-mail (inbound)); EMAILOUT(=E-mail (outbound, which agent has sent)); VOICEMAILIN(=inbound voicemail contacts); ChatIn(=inbound chat); ChatOut(=outbound chat); CBR(=callback request); CBRCallOut(=outgoing call, which made for callback request to retrieve customer); CBRIntCallIn(=internal call, which is made to queue to get agent to handle callback request); IVR (IVR contact)
- subtype: (one of text, video, sms, facebook, wechat, whatsapp)
Currently used for chat channel only.
- status: required(one of ServiceClosed, InProcess_WrapUp, Handled_AOT, Handled, NotHandled_FA, NotHandled_Ab, InProcess_Preview, InProcess_Pending, InProcess, InQueue)
AOT=The handled inbound contacts with waiting times less than or equal to the Answered-on-Time limit, FA=The contacts that have not been answered, and the caller has disconnected the call before exceeding the False Attempt limit, Ab=The contacts that have not been answered, and the caller has disconnected the call after exceeding the False Attempt limit,.
- source: required(string)
Phone number or email address.
- destination: required(string)
Phone number or email address.
- agentId: (string - minLength: 32 - maxLength: 32)
The agent who is handling or who has handled this contact. Used in access control (STATISTICS_DETAILS).
- agentName: (string)
- queueId: (string - minLength: 32 - maxLength: 32)
The current or last queue for this contact. Access control is checked from this queue (STATISTICS_DETAILS).
- queueName: (string)
- origQueueId: (string - minLength: 32 - maxLength: 32)
The original queue in which this contact was created. Normally the same as queueId, unless the contact was transferred to another queue.
- origQueueName: (string)
- queueLoginType: (one of AutoAllocation, HuntGroup)
- applicationId: (string - minLength: 32 - maxLength: 32)
ContactCenter or IVR ID. IVR is used in access control (STATISTICS_DETAILS).
- applicationName: (string)
"ContactCenter" or IVR name.
- reportingGroupId: (string - minLength: 32 - maxLength: 32)
- reportingGroupName: (string)
- outboundCampaignId: (string - minLength: 32 - maxLength: 32)
Used in access control (STATISTICS_DETAILS).
- outboundCampaignName: (string)
- arrivalTime: required(datetime)
ISO-8601 UTC timestamp in format 2011-12-31T13:15:30.123Z
- arrivalQueueTime: (datetime)
- previewTime: (datetime)
Only when Outbound campaign contacts is preview state.
- connectTime: (datetime)
- pendingTime: (datetime)
Only when contact (email) has been set pending (latest pending).
- pickTime: (datetime)
Only when contact (email) has been set picked (latest picked).
- disconnectTime: (datetime)
Null if contact is not ended yet.
- wrapUpBeginTime: (datetime)
- wrapUpEndTime: (datetime)
- queuingDuration: required(integer)
Milliseconds.
- handlingDuration: required(integer)
Milliseconds, to current time if not handled yet.
- wrapUpTotalDuration: required(integer)
Milliseconds.
- wrapUpScriptingDuration: required(integer)
Shown after wrap-up ended (wrapUpEndTime exists).
- wrapUpRestingDuration: required(integer)
Shown after wrap-up ended (wrapUpEndTime exists).
- totalDuration: required(integer)
Milliseconds from arrivalTime to disconnectTime or to current time.
- waitingDuration: required(integer)
Milliseconds.
- serviceClosed: required(boolean)
- record: (boolean)
True if contact is phone call and has recording, null otherwise.
- answeredOnTimeThreshold: required(integer)
Seconds.
- falseAttemptTimeThreshold: required(integer)
Seconds.
- subject: (string)
- requiredAgent: (object)
Required or preferred agent if queuing/pending contact has one.
- id: required(string - minLength: 32 - maxLength: 32)
Required/preferred agent ID.
- name: required(string)
Required/preferred agent name.
- type: required(number)
1 if required agent, 2 if preferred agent.
- expirationTime: (datetime)
ISO-8601 UTC timestamp in format 2011-12-31T13:15:30.123Z.
- id: required(string - minLength: 32 - maxLength: 32)
Example:
{
"id": "E936C400B22311D38FBE0090279A922E",
"queueId": "F8C2697F37D044DB929B10F75381C624",
"queueName": "CustomerService",
"origQueueId": "F8C2697F37D044DB929B10F75381C624",
"origQueueName": "CustomerService",
"applicationId" : "8904FC834D01423291AEA278E226CE1B",
"applicationName" : "ContactCenter",
"agentId" : "E936C474B22311D38FBE0090279A922E",
"agentName" : "Fox, John",
"reportingGroupId": "CB6C223C34784BD38D4430678BB901E9",
"reportingGroupName": "Sales",
"contactGroupId": "E936C499B22311D38FBE0090279A922E",
"source" "0401234XXX",
"destination" : "320",
"arrivalTime": "2016-02-01T09:22:11.000Z",
"arrivalQueueTime": "2016-02-01T09:22:12.000Z",
"connectTime": "2016-02-01T09:22:50.000Z",
"disconnectTime": "2016-02-01T09:28:13.000Z",
"wrapUpBeginTime": "2016-02-01T09:28:13.000Z",
"wrapUpEndTime": "2016-02-01T09:28:23.000Z",
"queuingDuration": 38000,
"handlingDuration": 323000,
"wrapUpTotalDuration": 10000,
"wrapUpScriptingDuration": 7000, // Shown after wrap-up ended (wrapUpEndTime exists)
"wrapUpRestingDuration": 3000, // Shown after wrap-up ended (wrapUpEndTime exists)
"totalDuration": 333000,
"serviceClosed": false,
"waitingDuration": 12807,
"status": "Handled_AOT", //
"channel": "PHONE", // PHONE, CHAT, EMAIL
"type": "CallIn",
"record": true, //true or false
"answeredOnTimeThreshold": 15,
"falseAttemptTimeThreshold": 10
},
{
"id": "F82E87B84DD6E5118C58463500000031",
"queueId": "6A8562F960ED4541BA75F6A6F6C94618 ",
"queueName": "CustomerService Email",
"origQueueId": "6A8562F960ED4541BA75F6A6F6C94618 ",
"origQueueName": "CustomerService Email",
"applicationId" : "8904FC834D01423291AEA278E226CE1B",
"applicationName" : "ContactCenter",
"agentid" : "E936C474B22311D38FBE0090279A922E",
"agentName" : "Wolf, Jane",
"reportingGroupid": "CB6C223C34784BD38D4430678BB901E9",
"reportingGroupName": "Sales",
"contactGroupId": "E936C499B22311D38FBE0090279A922E",
"source" "XXX@acme.corp",
"destination" : "CustomerService@bcmtr.bcm.corp",
"arrivalTime": "2016-02-01T10:22:11.000Z",
"arrivalQueueTime": "2016-02-01T10:22:12.000Z",
"connectTime": "2016-02-01T10:23:50.000Z",
"pendingTime": "2016-02-01T10:24:50.000Z", // only when contact (email) has been set pending (latest pending)
"queuingDuration": 98000,
"handlingDuration": 444000, // since not completed; counted until current time (in example value counted until 2016-02-01T10:31:14.000Z)
"status": "InProcess_Pending",
"channel": "EMAIL", // PHONE, CHAT, EMAIL
"type": "EMAILIN",
"record": true, //true or false
"answeredOnTimeThreshold": 150,
"falseAttemptTimeThreshold": 0,
"subject": "Request for support"
}
HTTP status code 400
Bad Request
Body
Media type: text/plain
Type: any
Example:
Invalid GUID: '2B8ED95B0EC911E79675005056A75D9'
Entity representing a contact.
Get the contact with contactId = {contactId}.
get /contacts/{contactId}
Get the contact with contactId = {contactId}.
URI Parameters
- contactId: required(string)
Query Parameters
- 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
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: required(string - minLength: 32 - maxLength: 32)
- contactGroupId: required(string - minLength: 32 - maxLength: 36)
When contact is transferred, then it gets the new id but contactGroupId stays the same. Chats and emails have 36 characters with hyphens while phone calls have 32 characters without hyphens.
- channel: required(one of PHONE, CHAT, EMAIL)
- type: required(string)
CallIn (=inbound call); CallIn/Forwarded(=inbound call, which is transfered by the BCM system (not by an agent)); CallOut(=outbound call); CallOutOB(=outbound call belong to Outbound campaign activity); CallOutTerm(=terminal call, generated by the multiterminal desktop (MTD) usage); EMAILIN(=E-mail (inbound)); EMAILOUT(=E-mail (outbound, which agent has sent)); VOICEMAILIN(=inbound voicemail contacts); ChatIn(=inbound chat); ChatOut(=outbound chat); CBR(=callback request); CBRCallOut(=outgoing call, which made for callback request to retrieve customer); CBRIntCallIn(=internal call, which is made to queue to get agent to handle callback request); IVR (IVR contact)
- subtype: (one of text, video, sms, facebook, wechat, whatsapp)
Currently used for chat channel only.
- status: required(one of ServiceClosed, InProcess_WrapUp, Handled_AOT, Handled, NotHandled_FA, NotHandled_Ab, InProcess_Preview, InProcess_Pending, InProcess, InQueue)
AOT=The handled inbound contacts with waiting times less than or equal to the Answered-on-Time limit, FA=The contacts that have not been answered, and the caller has disconnected the call before exceeding the False Attempt limit, Ab=The contacts that have not been answered, and the caller has disconnected the call after exceeding the False Attempt limit,.
- source: required(string)
Phone number or email address.
- destination: required(string)
Phone number or email address.
- agentId: (string - minLength: 32 - maxLength: 32)
The agent who is handling or who has handled this contact. Used in access control (STATISTICS_DETAILS).
- agentName: (string)
- queueId: (string - minLength: 32 - maxLength: 32)
The current or last queue for this contact. Access control is checked from this queue (STATISTICS_DETAILS).
- queueName: (string)
- origQueueId: (string - minLength: 32 - maxLength: 32)
The original queue in which this contact was created. Normally the same as queueId, unless the contact was transferred to another queue.
- origQueueName: (string)
- queueLoginType: (one of AutoAllocation, HuntGroup)
- applicationId: (string - minLength: 32 - maxLength: 32)
ContactCenter or IVR ID. IVR is used in access control (STATISTICS_DETAILS).
- applicationName: (string)
"ContactCenter" or IVR name.
- reportingGroupId: (string - minLength: 32 - maxLength: 32)
- reportingGroupName: (string)
- outboundCampaignId: (string - minLength: 32 - maxLength: 32)
Used in access control (STATISTICS_DETAILS).
- outboundCampaignName: (string)
- arrivalTime: required(datetime)
ISO-8601 UTC timestamp in format 2011-12-31T13:15:30.123Z
- arrivalQueueTime: (datetime)
- previewTime: (datetime)
Only when Outbound campaign contacts is preview state.
- connectTime: (datetime)
- pendingTime: (datetime)
Only when contact (email) has been set pending (latest pending).
- pickTime: (datetime)
Only when contact (email) has been set picked (latest picked).
- disconnectTime: (datetime)
Null if contact is not ended yet.
- wrapUpBeginTime: (datetime)
- wrapUpEndTime: (datetime)
- queuingDuration: required(integer)
Milliseconds.
- handlingDuration: required(integer)
Milliseconds, to current time if not handled yet.
- wrapUpTotalDuration: required(integer)
Milliseconds.
- wrapUpScriptingDuration: required(integer)
Shown after wrap-up ended (wrapUpEndTime exists).
- wrapUpRestingDuration: required(integer)
Shown after wrap-up ended (wrapUpEndTime exists).
- totalDuration: required(integer)
Milliseconds from arrivalTime to disconnectTime or to current time.
- waitingDuration: required(integer)
Milliseconds.
- serviceClosed: required(boolean)
- record: (boolean)
True if contact is phone call and has recording, null otherwise.
- answeredOnTimeThreshold: required(integer)
Seconds.
- falseAttemptTimeThreshold: required(integer)
Seconds.
- subject: (string)
- requiredAgent: (object)
Required or preferred agent if queuing/pending contact has one.
- id: required(string - minLength: 32 - maxLength: 32)
Required/preferred agent ID.
- name: required(string)
Required/preferred agent name.
- type: required(number)
1 if required agent, 2 if preferred agent.
- expirationTime: (datetime)
ISO-8601 UTC timestamp in format 2011-12-31T13:15:30.123Z.
- id: required(string - minLength: 32 - maxLength: 32)
Example:
{
"id": "E936C400B22311D38FBE0090279A922E",
"queueId": "F8C2697F37D044DB929B10F75381C624",
"queueName": "CustomerService",
"origQueueId": "F8C2697F37D044DB929B10F75381C624",
"origQueueName": "CustomerService",
"applicationId" : "8904FC834D01423291AEA278E226CE1B",
"applicationName" : "ContactCenter",
"agentId" : "E936C474B22311D38FBE0090279A922E",
"agentName" : "Fox, John",
"reportingGroupId": "CB6C223C34784BD38D4430678BB901E9",
"reportingGroupName": "Sales",
"outboundCampaignId" : "",
"outboundCampaignName" : "",
"contactGroupId": "E936C499B22311D38FBE0090279A922E",
"source" "0401234567",
"destination" : "320",
"arrivalTime": "2016-02-01T09:22:11.000Z",
"arrivalQueueTime": "2016-02-01T09:22:12.000Z",
"previewTime": "2016-02-01T09:22:12.000Z", // only when Outbound campaign contacts is preview state
"connectTime": "2016-02-01T09:22:50.000Z",
"pendingTime": "2016-02-01T09:24:50.000Z", // only when contact (email) has been set pending (latest pending)
"pickTime": "2016-02-01T09:25:50.000Z", // only when contact (email) has been set picked (latest picked)
"disconnectTime": "2016-02-01T09:28:13.000Z",
"wrapUpBeginTime": "2016-02-01T09:28:13.000Z",
"wrapUpEndTime": "2016-02-01T09:28:23.000Z",
"queuingDuration": 38000,
"handlingDuration": 323000,
"wrapUpTotalDuration": 10000,
"wrapUpScriptingDuration": 7000, // Shown after wrap-up ended (wrapUpEndTime exists)
"wrapUpRestingDuration": 3000, // Shown after wrap-up ended (wrapUpEndTime exists)
"totalDuration": 333000,
"serviceClosed": false,
"waitingDuration": 12807,
"status": "Handled_AOT", // ServiceClosed, Handled, Handled_AOT, NotHandled_FA, NotHandled_Ab, InProcess, InProcess_Preview, InProcess_Pending, InProcess_WrapUp
"channel": "PHONE", // PHONE, CHAT, EMAIL
"type": "CallIn", //CallIn (=inbound call); CallIn/Forwarded(=inbound call, which is transfered by the BCM system (not by an agent)); CallOut(=outbound call);
// CallOutOB(=outbound call belong to Outbound campaign activity); CallOutTerm(=terminal call, generated by the multiterminal desktop (MTD) usage);
// EMAILIN(=E-mail (inbound)); EMAILOUT(=E-mail (outbound, which agent has sent)); VOICEMAILIN(=inbound voicemail contacts); ChatIn(=inbound chat);
// ChatOut(=outbound chat); CBR(=callback request); CBRCallOut(=outgoing call, which made for callback request to retrieve customer);
// CBRIntCallIn(=internal call, which is made to queue to get agent to handle callback request); IVR (IVR contact)
"record": true, //true or false
"answeredOnTimeThreshold": 15,
"falseAttemptTimeThreshold": 10,
"requiredAgent": {
"type": 2,
"expirationTime": "2024-05-05T08:55:24.563Z",
"id": "30BAC5C8C39A4CA5A5B1C5509EE4F12B",
"name": "Surname, First Name"
}
}
HTTP status code 404
Not Found
Body
Media type: text/plain
Type: any
Example:
HTTP 404 Not Found
Collection of details.
Get a list of contact events.
get /contacts/{contactId}/details
Get a list of contact events.
URI Parameters
- contactId: required(string)
Query Parameters
- 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
HTTP status code 200
Body
Media type: application/json
Type: array of details
Example:
{
"id": "B887C475B22311D38FBE0090279A922E",
"time": "2016-01-01T12:00:00.000Z",
"event": "Queing",
"value1": "Customer Service",
"value2": ""
},
{
"id": "B888C476B22311D38FBE0090279A922E",
"time": "2016-01-01T12:00:50.000Z",
"event": "DestAllocated",
"value1": "Fox, John",
"value2": "Customer Service"
},
{
"id": "B889C477B22311D38FBE0090279A922E",
"time": "2016-01-01T12:01:00.000Z",
"event": "ConnectedToOper",
"value1": "Fox, John",
"value2": "Customer Service"
},
{
"id": "B890C478B22311D38FBE0090279A922E",
"time": "2016-01-01T12:01:00.000Z",
"event": "DestUnAllocated",
"value1": "Customer Service",
"value2": "Connected"
},
{
"id": "B892C480B22311D38FBE0090279A922E",
"time": "2016-01-01T12:01:00.000Z",
"event": "Disconnected",
"value1": ";0",
"value2": "Customer Service"
}
HTTP status code 400
Bad Request
Body
Media type: text/plain
Type: any
Example:
Invalid GUID: '2B8ED95B0EC911E79675005056A75D9'
/agents
Collection of agents.
Get a list of agents.
get /agents
Get a list of agents.
Query Parameters
- startTime: required(string)
Show statistics after given UTC time.
Example:
startTime=2016-01-02T22:00:00.000Z
- showQueueInfo: (string)
Include AgentQueue items. 0=do not Include, 1=Include only statistics (default), 2=Include only configuration, 3=Include all, 4=Include only users having statistic, 5=Include only users having configuration, 6=Include only users having statistic and configuration.
Example:
showQueueInfo=1
- 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
- availability: (string)
Can be filtered by availability. Allows comma separated list.
Example:
availability=Free,Busy
- id: (string)
Can be filtered by id. Allows comma separated list.
Example:
id=E936C474B22311D38FBE0090279A922E,A206C474B22311D38FBE0090279A922E
- queueId: (string)
Can be filtered by queueId. Allows comma separated list.
Example:
queueId=F8C2697F37D044DB929B10F75381C624,990556DC18244B4AB5BF35D75A89CDEF
- 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 name. "-" 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=name,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: agents
- id: required(string - minLength: 32 - maxLength: 32)
- name: required(string)
- reportingGroupid: required(string - minLength: 32 - maxLength: 32)
- reportingGroupName: required(string)
- number: required(string)
Internal phone number.
- mobileNumber: required(string)
Mobile number.
- externalNumber: required(string)
External number when serving as external agent.
- location: required(string)
Location.
- manageable: required(boolean)
Manage rights to user.
- manageablePresence: required(boolean)
Manage Presence rights to user.
- chatName: required(string)
Chat name.
- chat: required(string)
Chat address.
- email: required(string)
Email address.
- userStatus: required(one of Ready, NotReady, Pause, LoggedOut)
General status.
- userStatusDuration: required(integer)
Milliseconds, duration on current userStatus.
- userReadyStatus: required(boolean)
Ready status. true = Ready, false = NotReady
- contactHandlingStatus: required(one of Talking_Inbound, Talking_Outbound, Talking_Outbound_CBR, Talking_Outbound_Campaign, Chatting_Inbound, Emailing_Inbound, Emailing_Outbound, Dialing_Outbound, Dialing_Outbound_CBR, Dialing_Outbound_Campaign, Waiting)
Contact handling status, shown only when user is logged in.
- contactHandlingStatusDuration: required(integer)
Milliseconds, duration on current userStatus.
- profileId: required(string - minLength: 32 - maxLength: 32)
- profile: required(string)
Name of the current presence profile, shown only when user is logged in.
- profileDuration: required(integer)
Milliseconds, duration on current profile.
- profileType: required(one of PRESENCE, ABSENCE, CONFERENCE)
Presence profile type, shown only when user is logged in.
- availability: required(one of LoggedOut, Away, Busy, Free)
Availability
- dailyPauseDuration: required(integer)
Milliseconds, configured user daily pause duration.
- dailyWorkDuration: required(integer)
Milliseconds, configured user daily work duration.
- activePhoneContacts: required(integer)
Number of active phone contacts.
- activeChatContacts: required(integer)
Number of active chat contacts.
- activeEmailContacts: required(integer)
Number of active email contacts.
- activeContactDuration: required(integer)
Milliseconds, duration of oldest active contact (phone, chat or email).
- chatCapacity: required(integer)
Number of allowed simultaneously inbound text chats.
- handledContactsCallIn: required(integer)
Number of handled inbound calls.
- handledContactsChatIn: required(integer)
Number of handled inbound chats.
- handledContactseEmailIn: required(integer)
Number of handled inbound emails.
- handledContactsCbrIn: required(integer)
Number of handled inbound callbacks.
- handledContactsTotalIn: required(integer)
Total number of handled inbound contacts.
- handledContactsCallOut: required(integer)
Number of handled outbound calls.
- handledContactsChatOut: required(integer)
Number of handled outbound chats.
- handledContactsEmailOut: required(integer)
Number of handled outbound emails.
- handledContactsTotalOut: required(integer)
Total number of handled outbound contact.
- handledContactsTotal: required(integer)
Total number of handled contact.
- totalHandlingDuration: required(integer)
Milliseconds, total contact handling duaration.
- totalWrapupDuration: required(integer)
Milliseconds, total wrap-up duaration.
- readyTime: required(integer)
Milliseconds, ready time duaration.
- notReadyTime: required(integer)
Milliseconds, not ready time duaration.
- pauseTime: required(integer)
Milliseconds, pause time duaration.
- queues: required(array of AgentQueue)
Included only when query parameter showQueueInfo is greater than 0 or showQueueInfo is not given.
Items: AgentQueue
- id: required(string - minLength: 32 - maxLength: 32)
- name: required(string)
- type: required(one of Phone, Email, Chat)
Queue type.
- serving: required(boolean)
Serving at queue. Included only when query parameter showQueueInfo is 2 or 3.
- externalServing: required(boolean)
Serving as an external agent. Included only when query parameter showQueueInfo is 2 or 3.
- canChangeQueueLogin: required(boolean)
Can change queue login. Included only when query parameter showQueueInfo is 2 or 3.
- handledContactsCallIn: required(integer)
Number of handled inbound call contacts. Included only when query parameter showQueueInfo is 1 or 3.
- handledContactsCallOut: required(integer)
Number of handled outbound call contacts. Included only when query parameter showQueueInfo is 1 or 3.
- handledContactsChatIn: required(integer)
Number of handled inbound chat contacts. Included only when query parameter showQueueInfo is 1 or 3.
- handledContactsEmailIn: required(integer)
Number of handled inbound email contacts. Included only when query parameter showQueueInfo is 1 or 3.
- handlingDuration: required(integer)
Milliseconds, contact handling duration. Included only when query parameter showQueueInfo is 1 or 3.
- wrapUpDuration: required(integer)
Milliseconds, wrap-up duration. Included only when query parameter showQueueInfo is 1 or 3.
Example:
{
"id": "E936C474B22311D38FBE0090279A922E",
"name": "Fox, John",
"reportingGroupid": "1381038F462C4E4684D997B5924F83DE",
"reportingGroupName": "Sales",
"number": 201,
"mobileNumber": "+358123456201",
"externalNumber": "+358123456201",
"location": "Espoo",
"manageable": true,
"manageablePresence": true,
"chatName": "Fox, John",
"chat": "john.fox@sinch.com",
"email": "john.fox@sinch.com",
"userStatus" : "Ready",
"userStatusDuration" : 3600000,
"userReadyStatus" : true,
"contactHandlingStatus": "Talking_Inbound",
"contactHandlingStatusDuration": 60000,
"profileId": "02770429F80BDF1191AD001CC4D98816",
"profile": "Available",
"profileDuration": 60000,
"profileType": "PRESENCE",
"availability": "Busy",
"dailyPauseDuration": 1800000,
"dailyWorkDuration": 30600000,
"activePhoneContacts": 1,
"activeChatContacts": 0,
"activeEmailContacts": 0,
"activeContactDuration": 60000,
"chatCapacity": 1,
"handledContactsCallIn": 2,
"handledContactsChatIn": 1,
"handledContactsEmailIn": 0,
"handledContactsCbrIn": 0,
"handledContactsTotalIn" : 3,
"handledContactsCallOut": 0,
"handledContactsChatOut": 0,
"handledContactsEmailOut": 0,
"handledContactsTotalOut": 0,
"handledContactsTotal": 3,
"totalHandlingDuration": 27000,
"totalWrapupDuration": 8000,
"readyTime": 1670000,
"notReadyTime": 13044036,
"pauseTime": 3925000,
"queues": {
"queue": [
{
"id": "F8C2697F37D044DB929B10F75381C624",
"name": "CustomerService",
"type": "Phone",
"serving": true,
"externalServing": false,
"canChangeQueueLogin": true,
"handledContactsCallIn": 2,
"handledContactsCallOut": 0,
"handledContactsChatIn": 0,
"handledContactsEmailIn": 0,
"handlingDuration": 17000,
"wrapUpDuration": 8000
},
{
"id": "990556DC18244B4AB5BF35D75A89CDEF",
"name": "Sales",
"type": "Chat",
"serving": true,
"externalServing": false,
"canChangeQueueLogin": true,
"handledContactsCallIn": 0,
"handledContactsCallOut": 0,
"handledContactsChatIn": 1,
"handledContactsEmailIn": 0,
"handlingDuration": 10000,
"wrapUpDuration": 0
}
]
}
},
{
"id": "A206C474B22311D38FBE0090279A922E",
"name": "Wolf, Jane",
"reportingGroup": "Support",
"number": 202,
"mobileNumber": "+358123456202",
"externalNumber": "+358123456202",
"location": "Espoo",
"manageable": false,
"manageablePresence": false,
"chatName": "Wolf, Jane",
"chat": "jane.wolf@sinch.com",
"email": "jane.wolf@sinch.com",
"userStatus" : "LoggedOut",
"userStatusDuration" : 3600000,
"userReadyStatus" : false,
"availability": "LoggedOut"
"dailyPauseDuration": 1800000,
"dailyWorkDuration": 30600000,
}
HTTP status code 400
Bad Request
Body
Media type: text/plain
Type: any
Example:
Invalid GUID: '2B8ED95B0EC911E79675005056A75D9'
Entity representing a agent.
Get the agent with agentId = {agentId}.
get /agents/{agentId}
Get the agent with agentId = {agentId}.
URI Parameters
- agentId: required(string)
Query Parameters
- startTime: required(string)
Show statistics after given UTC time.
Example:
startTime=2016-01-02T22:00:00.000Z
- showQueueInfo: (string)
Include AgentQueue items. 0=do not Include, 1=Include only statistics (default), 2=Include only configuration, 3=Include all, 4=Include only users having statistic, 5=Include only users having configuration, 6=Include only users having statistic and configuration.
Example:
showQueueInfo=1
- 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
- availability: (string)
Can be filtered by availability. Allows comma separated list.
Example:
availability=Free,Busy
- queueId: (string)
Can be filtered by queueId. Allows comma separated list.
Example:
queueId=F8C2697F37D044DB929B10F75381C624,990556DC18244B4AB5BF35D75A89CDEF
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: required(string - minLength: 32 - maxLength: 32)
- name: required(string)
- reportingGroupid: required(string - minLength: 32 - maxLength: 32)
- reportingGroupName: required(string)
- number: required(string)
Internal phone number.
- mobileNumber: required(string)
Mobile number.
- externalNumber: required(string)
External number when serving as external agent.
- location: required(string)
Location.
- manageable: required(boolean)
Manage rights to user.
- manageablePresence: required(boolean)
Manage Presence rights to user.
- chatName: required(string)
Chat name.
- chat: required(string)
Chat address.
- email: required(string)
Email address.
- userStatus: required(one of Ready, NotReady, Pause, LoggedOut)
General status.
- userStatusDuration: required(integer)
Milliseconds, duration on current userStatus.
- userReadyStatus: required(boolean)
Ready status. true = Ready, false = NotReady
- contactHandlingStatus: required(one of Talking_Inbound, Talking_Outbound, Talking_Outbound_CBR, Talking_Outbound_Campaign, Chatting_Inbound, Emailing_Inbound, Emailing_Outbound, Dialing_Outbound, Dialing_Outbound_CBR, Dialing_Outbound_Campaign, Waiting)
Contact handling status, shown only when user is logged in.
- contactHandlingStatusDuration: required(integer)
Milliseconds, duration on current userStatus.
- profileId: required(string - minLength: 32 - maxLength: 32)
- profile: required(string)
Name of the current presence profile, shown only when user is logged in.
- profileDuration: required(integer)
Milliseconds, duration on current profile.
- profileType: required(one of PRESENCE, ABSENCE, CONFERENCE)
Presence profile type, shown only when user is logged in.
- availability: required(one of LoggedOut, Away, Busy, Free)
Availability
- dailyPauseDuration: required(integer)
Milliseconds, configured user daily pause duration.
- dailyWorkDuration: required(integer)
Milliseconds, configured user daily work duration.
- activePhoneContacts: required(integer)
Number of active phone contacts.
- activeChatContacts: required(integer)
Number of active chat contacts.
- activeEmailContacts: required(integer)
Number of active email contacts.
- activeContactDuration: required(integer)
Milliseconds, duration of oldest active contact (phone, chat or email).
- chatCapacity: required(integer)
Number of allowed simultaneously inbound text chats.
- handledContactsCallIn: required(integer)
Number of handled inbound calls.
- handledContactsChatIn: required(integer)
Number of handled inbound chats.
- handledContactseEmailIn: required(integer)
Number of handled inbound emails.
- handledContactsCbrIn: required(integer)
Number of handled inbound callbacks.
- handledContactsTotalIn: required(integer)
Total number of handled inbound contacts.
- handledContactsCallOut: required(integer)
Number of handled outbound calls.
- handledContactsChatOut: required(integer)
Number of handled outbound chats.
- handledContactsEmailOut: required(integer)
Number of handled outbound emails.
- handledContactsTotalOut: required(integer)
Total number of handled outbound contact.
- handledContactsTotal: required(integer)
Total number of handled contact.
- totalHandlingDuration: required(integer)
Milliseconds, total contact handling duaration.
- totalWrapupDuration: required(integer)
Milliseconds, total wrap-up duaration.
- readyTime: required(integer)
Milliseconds, ready time duaration.
- notReadyTime: required(integer)
Milliseconds, not ready time duaration.
- pauseTime: required(integer)
Milliseconds, pause time duaration.
- queues: required(array of AgentQueue)
Included only when query parameter showQueueInfo is greater than 0 or showQueueInfo is not given.
Items: AgentQueue
- id: required(string - minLength: 32 - maxLength: 32)
- name: required(string)
- type: required(one of Phone, Email, Chat)
Queue type.
- serving: required(boolean)
Serving at queue. Included only when query parameter showQueueInfo is 2 or 3.
- externalServing: required(boolean)
Serving as an external agent. Included only when query parameter showQueueInfo is 2 or 3.
- canChangeQueueLogin: required(boolean)
Can change queue login. Included only when query parameter showQueueInfo is 2 or 3.
- handledContactsCallIn: required(integer)
Number of handled inbound call contacts. Included only when query parameter showQueueInfo is 1 or 3.
- handledContactsCallOut: required(integer)
Number of handled outbound call contacts. Included only when query parameter showQueueInfo is 1 or 3.
- handledContactsChatIn: required(integer)
Number of handled inbound chat contacts. Included only when query parameter showQueueInfo is 1 or 3.
- handledContactsEmailIn: required(integer)
Number of handled inbound email contacts. Included only when query parameter showQueueInfo is 1 or 3.
- handlingDuration: required(integer)
Milliseconds, contact handling duration. Included only when query parameter showQueueInfo is 1 or 3.
- wrapUpDuration: required(integer)
Milliseconds, wrap-up duration. Included only when query parameter showQueueInfo is 1 or 3.
Example:
{
"id": "E936C474B22311D38FBE0090279A922E",
"name": "Fox, John",
"reportingGroupid": "1381038F462C4E4684D997B5924F83DE",
"reportingGroupName": "Sales",
"number": 201,
"mobileNumber": "+358123456201",
"externalNumber": "+358123456201",
"location": "Espoo",
"manageable": true,
"manageablePresence": true,
"chatName": "Fox, John",
"chat": "john.fox@sinch.com",
"email": "john.fox@sinch.com",
"userStatus" : "Ready",
"userStatusDuration" : 3600000,
"userReadyStatus" : true,
"contactHandlingStatus": "Talking_Inbound",
"contactHandlingStatusDuration": 60000,
"profileId": "02770429F80BDF1191AD001CC4D98816",
"profile": "Available",
"profileDuration": 60000,
"profileType": "PRESENCE",
"availability": "busy",
"dailyPauseDuration": 1800000,
"dailyWorkDuration": 30600000,
"activePhoneContacts": 1,
"activeChatContacts": 0,
"activeEmailContacts": 0,
"activeContactDuration": 60000,
"chatCapacity": 1,
"handledContactsCallIn": 2,
"handledContactsChatIn": 1,
"handledContactsEmailIn": 0,
"handledContactsCbrIn": 0,
"handledContactsTotalIn" : 3,
"handledContactsCallOut": 0,
"handledContactsChatOut": 0,
"handledContactsEmailOut": 0,
"handledContactsTotalOut": 0,
"handledContactsTotal": 3,
"totalHandlingDuration": 27000,
"totalWrapupDuration": 8000,
"readyTime": 1670000,
"notReadyTime": 13044036,
"pauseTime": 3925000,
"queues": {
"queue": [
{
"id": "F8C2697F37D044DB929B10F75381C624",
"name": "CustomerService",
"type": "Phone",
"serving": true,
"externalServing": false,
"canChangeQueueLogin": true,
"handledContactsCallIn": 2,
"handledContactsCallOut": 0,
"handledContactsChatIn": 0,
"handledContactsEmailIn": 0,
"handlingDuration": 17000,
"wrapUpDuration": 8000
},
{
"id": "990556DC18244B4AB5BF35D75A89CDEF",
"name": "Sales",
"type": "Chat",
"serving": true,
"externalServing": false,
"canChangeQueueLogin": true,
"handledContactsCallIn": 0,
"handledContactsCallOut": 0,
"handledContactsChatIn": 1,
"handledContactsEmailIn": 0,
"handlingDuration": 10000,
"wrapUpDuration": 0
}
]
}
}
HTTP status code 404
Not Found
Body
Media type: text/plain
Type: any
Example:
HTTP 404 Not Found
Collection of queues.
Get a list of agent queues and show agent queue login statuses (serving).
get /agents/{agentId}/queues
Get a list of agent queues and show agent queue login statuses (serving).
URI Parameters
- agentId: required(string)
Query Parameters
- 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:
name=Sales
- sort: (string)
Can be sorted by any field. Default sort is name. "-" 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=name,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 queues
Example:
{
"id": "F8C2697F37D044DB929B10F75381C624",
"name": "CustomerService",
"type": "Phone", // Phone, Email, Chat
"serving": true,
"externalServing": false,
"canChangeQueueLogin": true
},
{
"id": "990556DC18244B4AB5BF35D75A89CDEF",
"name": "Sales",
"type": "Phone", // Phone, Email, Chat
"serving": true,
"externalServing": false,
"canChangeQueueLogin": true
}
HTTP status code 400
Bad Request
Body
Media type: text/plain
Type: any
Example:
Invalid GUID: '2B8ED95B0EC911E79675005056A75D9'
Entity representing a queue.
Get the queue with queueId = {queueId}.
Update the queue with queueId = {queueId}.
Note: Provide all properties since all fields are updated.
get /agents/{agentId}/queues/{queueId}
Get the queue with queueId = {queueId}.
URI Parameters
- agentId: required(string)
- queueId: required(string)
Query Parameters
- 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
HTTP status code 200
Body
Media type: application/json
Type: queue
Example:
{
"id": "F8C2697F37D044DB929B10F75381C624",
"name": "CustomerService",
"type": "Phone", // Phone, Email, Chat
"serving": true,
"externalServing": false,
"canChangeQueueLogin": true
}
HTTP status code 404
Not Found
Body
Media type: text/plain
Type: any
Example:
HTTP 404 Not Found
put /agents/{agentId}/queues/{queueId}
Update the queue with queueId = {queueId}.
Note: Provide all properties since all fields are updated.
URI Parameters
- agentId: required(string)
- queueId: required(string)
Body
Media type: application/json
Type: queue_put
Example:
{
"id": "F8C2697F37D044DB929B10F75381C624",
"name": "CustomerService",
"type": "Phone", // Phone, Email, Chat
"serving": true,
"externalServing": false,
"canChangeQueueLogin": true
}
HTTP status code 204
No content - The server has successfully fulfilled the request and there is no additional content to send in the response payload body.
Collection of presences.
Get a list of agent presence profiles.
get /agents/{agentId}/presences
Get a list of agent presence profiles.
URI Parameters
- agentId: required(string)
Query Parameters
- 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:
name=Available
- sort: (string)
Can be sorted by any field. Default sort is name. "-" 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=name,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 presences
Example:
[
{
"id": "02770429F80BDF1191AD001CC4D98816",
"name": "Available",
"reason": "NONE",
"type": "PRESENCE",
"priority": 100
},
{
"id": "04770429F80BDF1191AD001CC4D98816",
"name": "Lunch",
"reason": "NONE",
"type": "ABSENCE",
"priority": 100
},
{
"id": "12684EA701114105A1D73F532AB80C28",
"name": "Vacation",
"reason": "VACATION",
"type": "ABSENCE",
"priority": 100
},
{
"id": "2EA19675EA7DDF11B644463500000031",
"name": "Meeting / Deny calls (Def: 1 hour)",
"reason": "MEETING",
"type": "ABSENCE",
"priority": 100
}
]
HTTP status code 400
Bad Request
Body
Media type: text/plain
Type: any
Example:
Invalid GUID: '2B8ED95B0EC911E79675005056A75D9'
Entity representing a presence.
Get the presence with presenceId = {presenceId}.
Update the presence with presenceId = {presenceId}.
Note: Provide all properties since all fields are updated.
get /agents/{agentId}/presences/{presenceId}
Get the presence with presenceId = {presenceId}.
URI Parameters
- agentId: required(string)
- presenceId: required(string)
Query Parameters
- 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
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: required(string - minLength: 32 - maxLength: 32)
Added by the system
- name: required(string)
- reason: required(string)
- type: required(string)
- priority: required(integer)
Example:
{
"id":"02770429F80BDF1191AD001CC4D98816",
"name":"Default",
"reason":"NONE",
"type": "PRESENCE",
"priority": 100
}
HTTP status code 404
Not Found
Body
Media type: text/plain
Type: any
Example:
HTTP 404 Not Found
put /agents/{agentId}/presences/{presenceId}
Update the presence with presenceId = {presenceId}.
Note: Provide all properties since all fields are updated.
URI Parameters
- agentId: required(string)
- presenceId: required(string)
Body
Media type: application/json
Type: presence_put
Example:
{
"id":"02770429F80BDF1191AD001CC4D98816",
"name":"Default",
"reason":"NONE",
"type": "PRESENCE",
"priority": 100
}
HTTP status code 204
No content - The server has successfully fulfilled the request and there is no additional content to send in the response payload body.
Entity representing a readyState.
Get the readyState with readyStateId = {readyStateId}.
Update the readyState with readyStateId = {readyStateId}.
Note: Provide all properties since all fields are updated.
get /agents/{agentId}/readyState
Get the readyState with readyStateId = {readyStateId}.
URI Parameters
- agentId: required(string)
put /agents/{agentId}/readyState
Update the readyState with readyStateId = {readyStateId}.
Note: Provide all properties since all fields are updated.
URI Parameters
- agentId: required(string)
Body
Media type: application/json
Type: readyState_put
Example:
{
"readyState":"Ready"
}
HTTP status code 204
No content - The server has successfully fulfilled the request and there is no additional content to send in the response payload body.
/queueStatuses
Collection of queueStatuses.
Get a list of queueStatuses.
get /queueStatuses
Get a list of queueStatuses.
Query Parameters
- 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
- id: (string)
Can be filtered by id. Allows comma separated list.
Example:
id=F8C2697F37D044DB929B10F75381C624,990556DC18244B4AB5BF35D75A89CDEF
- any fields: (string)
&field1=value1&field2=value2...
Values may contain patterns * and ?
Valid searchable fields: <> Example:
name=CustomerService
- sort: (string)
Can be sorted by any field. Default sort is name. "-" 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=name,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: queueStatuss
- id: required(string - minLength: 32 - maxLength: 32)
Queue id.
- name: required(string)
Queue name.
- type: required(one of Phone, Email, Chat)
Queue type.
- inQueue: required(integer)
Count of contact in queue arrived in first place into this queue.
- waitingDurationMax: required(integer)
Max duration of inQueue contacts.
- inQueueCurrent: required(integer)
Count of contact in this queue at this moment. These could be arrived in first place or overflowed ones.
- waitingDurationCurrentMax: required(integer)
Max duration of inQueueCurrent contacts.
- agentsServing: required(integer)
Count of serving agent.
- agentsFree: required(integer)
Count of free agent.
- agentsBusy: required(integer)
Count of busy agent.
- agentsWrapUp: required(integer)
Count of agent in wrapup.
- agentsNotReady: required(integer)
Count of agent in "not ready" state.
- agentsPause: required(integer)
Count of agent in "pause" state.
Example:
{
"id": "F8C2697F37D044DB929B10F75381C624",
"name": "CustomerService",
"type": "Phone", // Phone, Email, Chat
"inQueue": 2,
"waitingDurationMax": 12000,
"inQueueCurrent": 1,
"waitingDurationCurrentMax": 9000,
"agentsServing": 2,
"agentsFree" : 1,
"agentsBusy": 0,
"agentsNotReady": 1,
"agentsPause": 0,
"agentsWrapUp": 0,
},
{
"id": "E9D2697F37D044DB929B10F75381C735",
"name": "CustomerService overflow",
"type": "Phone", // Phone, Email, Chat
"inQueue": 0,
"waitingDurationMax": 0,
"inQueueCurrent": 1,
"waitingDurationCurrentMax": 12000,
"agentsServing": 1,
"agentsFree" : 1,
"agentsBusy": 0,
"agentsNotReady": 0,
"agentsPause": 0,
"agentsWrapUp": 0,
},
{
"id": "990556DC18244B4AB5BF35D75A89CDEF",
"name": "Sales",
"type": "Phone", // Phone, Email, Chat
"inQueue": 0,
"waitingDurationMax": 0,
"agentsServing": 1,
"agentsFree" : 1
"agentsBusy": 0,
"agentsNotReady": 0,
"agentsPause": 0,
"agentsWrapUp": 0,
}
HTTP status code 400
Bad Request
Body
Media type: text/plain
Type: any
Example:
Invalid GUID: '2B8ED95B0EC911E79675005056A75D9'
Entity representing a queueStatus.
Get the queueStatus with queueStatusId = {queueStatusId}.
get /queueStatuses/{queueId}
Get the queueStatus with queueStatusId = {queueStatusId}.
URI Parameters
- queueId: required(string)
Query Parameters
- 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
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: required(string - minLength: 32 - maxLength: 32)
Queue id.
- name: required(string)
Queue name.
- type: required(one of Phone, Email, Chat)
Queue type.
- inQueue: required(integer)
Count of contact in queue arrived in first place into this queue.
- waitingDurationMax: required(integer)
Max duration of inQueue contacts.
- inQueueCurrent: required(integer)
Count of contact in this queue at this moment. These could be arrived in first place or overflowed ones.
- waitingDurationCurrentMax: required(integer)
Max duration of inQueueCurrent contacts.
- agentsServing: required(integer)
Count of serving agent.
- agentsFree: required(integer)
Count of free agent.
- agentsBusy: required(integer)
Count of busy agent.
- agentsWrapUp: required(integer)
Count of agent in wrapup.
- agentsNotReady: required(integer)
Count of agent in "not ready" state.
- agentsPause: required(integer)
Count of agent in "pause" state.
Example:
{
"id": "F8C2697F37D044DB929B10F75381C624",
"name": "CustomerService",
"type": "Phone", // Phone, Email, Chat
"inQueue": 2,
"waitingDurationMax": 12000,
"inQueueCurrent": 1,
"waitingDurationCurrentMax": 9000,
"agentsServing": 2,
"agentsFree" : 1,
"agentsBusy": 0,
"agentsNotReady": 1,
"agentsPause": 0,
"agentsWrapUp": 0,
}
HTTP status code 404
Not Found
Body
Media type: text/plain
Type: any
Example:
HTTP 404 Not Found
/userStatuses
Collection of userStatuses.
Get a list of userStatuses.
get /userStatuses
Get a list of userStatuses.
Query Parameters
- 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:
name=Fox, John
- sort: (string)
Can be sorted by any field. Default sort is name. "-" 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=name,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 userStatuss
Example:
{
"activeIbCallCnt": 0,
"activeIbChatCnt": 0,
"activeIbEmailCnt": 0,
"activeIbOperDirCallCnt": 0,
"activeIbVideoChatCnt": 0,
"activeObCallCnt": 0,
"activeObCampaignCallCnt": 0,
"activeObCbrCallCnt": 0,
"activeObEmailCnt": 0,
"id": "E936C474B22311D38FBE0090279A922E",
"name": "Fox, John",
"phoneCapacity": 0,
"status": "LoggedOut",
"taskCapacity": 5,
"textChatCapacity": 4,
"videoChatCapacity": 0
},
{
"activeIbCallCnt": 0,
"activeIbChatCnt": 0,
"activeIbEmailCnt": 0,
"activeIbOperDirCallCnt": 0,
"activeIbVideoChatCnt": 0,
"activeObCallCnt": 0,
"activeObCampaignCallCnt": 0,
"activeObCbrCallCnt": 0,
"activeObEmailCnt": 0,
"id": "A206C474B22311D38FBE0090279A922E",
"name": "Wolf, Jane",
"phoneCapacity": 0,
"status": "LoggedOut",
"taskCapacity": 4,
"textChatCapacity": 20,
"videoChatCapacity": 0
}
HTTP status code 400
Bad Request
Body
Media type: text/plain
Type: any
Example:
Invalid GUID: '2B8ED95B0EC911E79675005056A75D9'
Entity representing a userStatus.
Get the userStatus with userStatusId = {userStatusId}.
get /userStatuses/{userId}
Get the userStatus with userStatusId = {userStatusId}.
URI Parameters
- userId: required(string)
Query Parameters
- 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
HTTP status code 200
Body
Media type: application/json
Type: userStatus
Example:
{
"activeIbCallCnt": 0,
"activeIbChatCnt": 0,
"activeIbEmailCnt": 0,
"activeIbOperDirCallCnt": 0,
"activeIbVideoChatCnt": 0,
"activeObCallCnt": 0,
"activeObCampaignCallCnt": 0,
"activeObCbrCallCnt": 0,
"activeObEmailCnt": 0,
"id": "E936C474B22311D38FBE0090279A922E",
"name": "Fox, John",
"phoneCapacity": 0,
"status": "LoggedOut",
"taskCapacity": 5,
"textChatCapacity": 4,
"videoChatCapacity": 0
}
HTTP status code 404
Not Found
Body
Media type: text/plain
Type: any
Example:
HTTP 404 Not Found
/contactSummaries
Collection of contactSummaries.
Get a list of contactSummaries.
get /contactSummaries
Get a list of contactSummaries.
Query Parameters
- 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
- type: (string)
Can be filtered by type. Allows comma separated list.
Example:
type=Phone,Chat
- queueId: (string)
Can be filtered by queueId. Allows comma separated list.
Example:
queueId=535A3F8292D6433DA215D29B7455A9AB,6097A53095644241B0A5E71D0C7622A4
- startTime: (string)
Show statistics after given UTC time.
Example:
startTime=2016-01-02T22:00:00.000Z
- any fields: (string)
&field1=value1&field2=value2...
Values may contain patterns * and ?
Valid searchable fields: <> Example:
applicationName=ContactCenter
- sort: (string)
Can be sorted by any field. Default sort is applicationName. "-" 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=applicationName,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 contactSummarys
Example:
{
"applicationId": "8904FC834D01423291AEA278E226CE1B",
"applicationName": "ContactCenter",
"changeTimeStamp": "2019-08-30T08:46:41.733Z",
"hourTime": "2019-08-30T08:45:00.00Z",
"id": "535A3F8292D6433DA215D29B7455A9AB20190830T084500Z",
"inAbandoned": 0,
"inAnsweredOnTime": 0,
"inArrivedHandled": 0,
"inArrivedActive": 1,
"inFalseAttempt": 0,
"inHandleTimeMax": 0,
"inHandleTimeTotal": 0,
"inHandled": 0,
"inQueueTimeMax": 0,
"inAnsweredQueueTimeTotal": 0,
"inAbandonedQueueTimeTotal": 0,
"inFalseAttemptQueueTimeTotal": 0,
"inServiceClosed": 0,
"outHandleTimeMax": 0,
"outHandleTimeTotal": 0,
"outHandled": 0,
"queueId": "535A3F8292D6433DA215D29B7455A9AB",
"queueName": "Customer Service Phone",
"type": "Phone" // Phone, Email, Chat
},
{
"applicationId": "8904FC834D01423291AEA278E226CE1B",
"applicationName": "ContactCenter",
"changeTimeStamp": "2019-08-30T08:46:41.733Z",
"hourTime": "2019-08-30T08:45:00.00Z",
"id": "6097A53095644241B0A5E71D0C7622A420190830T084500Z",
"inAbandoned": 0,
"inAnsweredOnTime": 0,
"inArrivedHandled": 0,
"inArrivedActive": 1,
"inFalseAttempt": 0,
"inHandleTimeMax": 0,
"inHandleTimeTotal": 0,
"inHandled": 0,
"inQueueTimeMax": 0,
"inAnsweredQueueTimeTotal": 0,
"inAbandonedQueueTimeTotal": 0,
"inFalseAttemptQueueTimeTotal": 0,
"inServiceClosed": 0,
"outHandleTimeMax": 0,
"outHandleTimeTotal": 0,
"outHandled": 0,
"queueId": "6097A53095644241B0A5E71D0C7622A4",
"queueName": "Customer Service Email",
"type": "Email" // Phone, Email, Chat
}
HTTP status code 400
Bad Request
Body
Media type: text/plain
Type: any
Example:
Invalid GUID: '2B8ED95B0EC911E79675005056A75D9'
Entity representing a contactSummary.
Get the contactSummary with contactSummaryId = {contactSummaryId}.
get /contactSummaries/{id}
Get the contactSummary with contactSummaryId = {contactSummaryId}.
URI Parameters
- id: required(string)
Query Parameters
- 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
HTTP status code 200
Body
Media type: application/json
Type: contactSummary
Example:
{
"applicationId": "8904FC834D01423291AEA278E226CE1B",
"applicationName": "ContactCenter",
"changeTimeStamp": "2019-08-30T08:46:41.733Z",
"hourTime": "2019-08-30T08:45:00.00Z",
"id": "535A3F8292D6433DA215D29B7455A9AB20190830T084500Z",
"inAbandoned": 0,
"inAnsweredOnTime": 0,
"inArrivedHandled": 0,
"inArrivedActive": 1,
"inFalseAttempt": 0,
"inHandleTimeMax": 0,
"inHandleTimeTotal": 0,
"inHandled": 0,
"inQueueTimeMax": 0,
"inAnsweredQueueTimeTotal": 0,
"inAbandonedQueueTimeTotal": 0,
"inFalseAttemptQueueTimeTotal": 0,
"inServiceClosed": 0,
"outHandleTimeMax": 0,
"outHandleTimeTotal": 0,
"outHandled": 0,
"queueId": "535A3F8292D6433DA215D29B7455A9AB",
"queueName": "Customer Service Phone",
"type": "Phone" // Phone, Email, Chat
}
HTTP status code 404
Not Found
Body
Media type: text/plain
Type: any
Example:
HTTP 404 Not Found
/settings
Collection of settings.
Get monitoring settings of the signed-in user.
Add monitoring settings to signed-in user.
get /settings
Get monitoring settings of the signed-in user.
post /settings
Entity representing a setting.
Get the setting with settingId = {settingId}.
Update the setting with settingId = {settingId}.
Note: Provide all properties since all fields are updated.
get /settings/{id}
Get the setting with settingId = {settingId}.
put /settings/{id}
Update the setting with settingId = {settingId}.
Note: Provide all properties since all fields are updated.
URI Parameters
- id: required(string)
Body
Media type: application/json
Type: setting_put
Example:
{
"id": "MON365_SETTINGS",
"uiLanguage": "EN",
"value": "" // can be any string
}
HTTP status code 204
No content - The server has successfully fulfilled the request and there is no additional content to send in the response payload body.
/queueGroups
Collection of queueGroups.
Get a list of queueGroups.
get /queueGroups
Get a list of queueGroups.
Query Parameters
- 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
- showThresholds: (string)
Shows threshold levels for queues.
Example:
showThresholds=1
- id: (string)
Can be filtered by id. Allows comma separated list.
Example:
id=E936C474B22311D38FBE0090279A922E,A206C474B22311D38FBE0090279A922E
- any fields: (string)
&field1=value1&field2=value2...
Values may contain patterns * and ?
Valid searchable fields: <> Example:
name=Sales queues
- sort: (string)
Can be sorted by any field. Default sort is name. "-" 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=name,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: queueGroups
- id: required(string - minLength: 32 - maxLength: 32)
- name: required(string)
- queues: required(array of QueueGroupQueue)
Items: QueueGroupQueue
- id: required(string - minLength: 32 - maxLength: 32)
- name: required(string)
- type: required(one of Phone, Email, Chat)
Queue type.
- freeAgentCriticalLevel: (integer)
Critical level of free agents. Included only when parameter showThresholds is true.
- freeAgentWarningLevel: (integer)
Warning level of free agents. Included only when parameter showThresholds is true.
- interactionsCriticalLevel: (integer)
Critical level of queueing interactions. Included only when parameter showThresholds is true.
- interactionsWarningLevel: (integer)
Warning level of queueing interactions. Included only when parameter showThresholds is true.
- maxWaitTimeCriticalLevel: (integer)
Critical level of queueing time in milliseconds. Included only when parameter showThresholds is true.
- maxWaitTimeWarningLevel: (integer)
Warning level of queueing time in milliseconds. Included only when parameter showThresholds is true.
- servingAgentCriticalLevel: (integer)
Critical level of serving agents. Included only when parameter showThresholds is true.
- servingAgentWarningLevel: (integer)
Warning level of serving agents. Included only when parameter showThresholds is true.
- serviceLevelCriticalLevel: (integer)
Critical level of service level (%). Included only when parameter showThresholds is true.
- serviceLevelWarningLevel: (integer)
Warning level of service level (%). Included only when parameter showThresholds is true.
Example:
{
"id": "E936C474B22311D38FBE0090279A922E",
"name": "Sales queues",
"queues": {
"queue": [
{
"id": "F8C2697F37D044DB929B10F75381C624",
"name": "B2B",
"type": "Phone",
"freeAgentCriticalLevel": 1,
"freeAgentWarningLevel": 2,
"interactionsCriticalLevel": 1,
"interactionsWarningLevel": 2,
"maxWaitTimeCriticalLevel": 1,
"maxWaitTimeWarningLevel": 2,
"servingAgentCriticalLevel": 1,
"servingAgentWarningLevel": 2,
"serviceLevelCriticalLevel": 20,
"serviceLevelWarningLevel": 50
},
{
"id": "990556DC18244B4AB5BF35D75A89CDEF",
"name": "B2C",
"type": "Chat",
"freeAgentCriticalLevel": 1,
"freeAgentWarningLevel": 2,
"interactionsCriticalLevel": 1,
"interactionsWarningLevel": 2,
"maxWaitTimeCriticalLevel": 1,
"maxWaitTimeWarningLevel": 2,
"servingAgentCriticalLevel": 1,
"servingAgentWarningLevel": 2,
"serviceLevelCriticalLevel": 20,
"serviceLevelWarningLevel": 50
}
]
}
},
{
"id": "A206C474B22311D38FBE0090279A922E",
"name": "Customer service queues",
"queues": {
"queue": [
{
"id": "E936C499B22311D38FBE0090279A922E",
"name": "B2C Service",
"type": "Chat",
"serviceLevelCriticalLevel": 20,
"serviceLevelWarningLevel": 50
}
]
}
},
{
"id": "ALL_QUEUES",
"name": "ALL_QUEUES",
"queues": {
"queue": [
{
"id": "F8C2697F37D044DB929B10F75381C624",
"name": "B2B",
"type": "Phone",
"freeAgentCriticalLevel": 1,
"freeAgentWarningLevel": 2,
"interactionsCriticalLevel": 1,
"interactionsWarningLevel": 2,
"maxWaitTimeCriticalLevel": 1,
"maxWaitTimeWarningLevel": 2,
"servingAgentCriticalLevel": 1,
"servingAgentWarningLevel": 2,
"serviceLevelCriticalLevel": 20,
"serviceLevelWarningLevel": 50
},
{
"id": "990556DC18244B4AB5BF35D75A89CDEF",
"name": "B2C",
"type": "Chat",
"freeAgentCriticalLevel": 1,
"freeAgentWarningLevel": 2,
"interactionsCriticalLevel": 1,
"interactionsWarningLevel": 2,
"maxWaitTimeCriticalLevel": 1,
"maxWaitTimeWarningLevel": 2,
"servingAgentCriticalLevel": 1,
"servingAgentWarningLevel": 2,
"serviceLevelCriticalLevel": 20,
"serviceLevelWarningLevel": 50
},
{
"id": "E936C499B22311D38FBE0090279A922E",
"name": "B2C Service",
"type": "Chat",
"serviceLevelCriticalLevel": 20,
"serviceLevelWarningLevel": 50
}
]
}
}
HTTP status code 400
Bad Request
Body
Media type: text/plain
Type: any
Example:
Invalid GUID: '2B8ED95B0EC911E79675005056A75D9'
Entity representing a queueGroup.
Get the queueGroup with queueGroupId = {queueGroupId}.
get /queueGroups/{queueGroupId}
Get the queueGroup with queueGroupId = {queueGroupId}.
URI Parameters
- queueGroupId: required(string)
Query Parameters
- 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
- showThresholds: (string)
Shows threshold levels for queues.
Example:
showThresholds=1
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: required(string - minLength: 32 - maxLength: 32)
- name: required(string)
- queues: required(array of QueueGroupQueue)
Items: QueueGroupQueue
- id: required(string - minLength: 32 - maxLength: 32)
- name: required(string)
- type: required(one of Phone, Email, Chat)
Queue type.
- freeAgentCriticalLevel: (integer)
Critical level of free agents. Included only when parameter showThresholds is true.
- freeAgentWarningLevel: (integer)
Warning level of free agents. Included only when parameter showThresholds is true.
- interactionsCriticalLevel: (integer)
Critical level of queueing interactions. Included only when parameter showThresholds is true.
- interactionsWarningLevel: (integer)
Warning level of queueing interactions. Included only when parameter showThresholds is true.
- maxWaitTimeCriticalLevel: (integer)
Critical level of queueing time in milliseconds. Included only when parameter showThresholds is true.
- maxWaitTimeWarningLevel: (integer)
Warning level of queueing time in milliseconds. Included only when parameter showThresholds is true.
- servingAgentCriticalLevel: (integer)
Critical level of serving agents. Included only when parameter showThresholds is true.
- servingAgentWarningLevel: (integer)
Warning level of serving agents. Included only when parameter showThresholds is true.
- serviceLevelCriticalLevel: (integer)
Critical level of service level (%). Included only when parameter showThresholds is true.
- serviceLevelWarningLevel: (integer)
Warning level of service level (%). Included only when parameter showThresholds is true.
Example:
{
"id": "E936C474B22311D38FBE0090279A922E",
"name": "Sales queues",
"queues": {
"queue": [
{
"id": "F8C2697F37D044DB929B10F75381C624",
"name": "B2B",
"type": "Phone",
"freeAgentCriticalLevel": 1,
"freeAgentWarningLevel": 2,
"interactionsCriticalLevel": 1,
"interactionsWarningLevel": 2,
"maxWaitTimeCriticalLevel": 1,
"maxWaitTimeWarningLevel": 2,
"servingAgentCriticalLevel": 1,
"servingAgentWarningLevel": 2,
"serviceLevelCriticalLevel": 20,
"serviceLevelWarningLevel": 50
},
{
"id": "990556DC18244B4AB5BF35D75A89CDEF",
"name": "B2C",
"type": "Chat",
"freeAgentCriticalLevel": 1,
"freeAgentWarningLevel": 2,
"interactionsCriticalLevel": 1,
"interactionsWarningLevel": 2,
"maxWaitTimeCriticalLevel": 1,
"maxWaitTimeWarningLevel": 2,
"servingAgentCriticalLevel": 1,
"servingAgentWarningLevel": 2,
"serviceLevelCriticalLevel": 20,
"serviceLevelWarningLevel": 50
}
]
}
}
HTTP status code 404
Not Found
Body
Media type: text/plain
Type: any
Example:
HTTP 404 Not Found