- 04 Jan 2023
- 40 Minutes to read
- Print
- DarkLight
Report
- Updated on 04 Jan 2023
- 40 Minutes to read
- Print
- DarkLight
Reports
Reports
- Reports ManagePOST reportingquery/reports/query
- Get a Report
Report JSON Format
Report is represented as simple flat JSON objects with the following keys:
Name | Type | Description |
---|---|---|
total | object | A key-value dictionary based on query, the keys is comes from cube query entity's fields. |
series | object[] | An array of dictionary based on query, the data of this array is obtained by dividing all the data according to the row group. For example, the value in the row group is department, then each item of data in this array is obtained according to a different department. |
Get a Report
POST reportingquery/reports/query
JSON Format
Name | Type | Required | Description |
---|---|---|---|
cubeEntities | cubeQuery[] | yes | Refer to Cube Query. For a report query, you can specify multiple cube queries. For example, you may to query "ticket" and "chat" and merge together in one report. |
mergeType | string | yes | Indicates how to merge the result sets of different cube query. Allowed values are "column", "row". Merging by "column" requires that two queries have the same row group. |
timezone | string | yes | The name of the timezone. |
Cube Query JSON Format
Name | Type | Description |
---|---|---|
name | string | The cube name you need to query. |
fields | field[] | Reference to Field. |
rowGroups | rowGroup[] | Reference to Row Group. |
filters | filter[] | Reference to Filter. |
Field JSON Format
Name | Type | Description |
---|---|---|
name | string | Specifies the name of the field, which will be used in the returned results. |
calculationType | string | Specifies how the field is calculated. Allowed values are "count", "max", "average", "sum", "expression", "originalValue", "uniqueCount". |
valueType | string | Specifies the type of result value. Allowed values are "int", "decimal", "percent", "timespan", "string". |
expression | string | For some fields that need to be calculated using other fields, we can configure the evaluation expression. We can use "+", "-", "*", "/" and "()". |
fieldName | string | Corresponding to the field name in the cube entity. |
conditionMatchType | string | Indicates whether all conditions or any conditions need to be matched. Allowed values are "all", "any". |
conditions | fieldCondition[] | For some metrics, we may only calculate data for certain conditions. Reference to Field Condition. |
Field Condition JSON Format
Name | Type | Description |
---|---|---|
name | string | Name of the field condition. |
fieldName | string | Name of the field, point to the field used for get data based on condition, only data that meets the conditions will be counted in the results. |
operate | string | Allowed values are "equals", "notEquals". |
values | string[] | Array of values used as conditions. |
Row Group JSON Format
Name | Type | Description |
---|---|---|
name | string | Name of the row group. |
fieldName | string | Name of the field, point to the field used for group data. |
isFull | bool | The field corresponding to fieldName, if its type is reference, decide whether to return all possible values of that field according to the value of isFull, regardless of whether the group corresponding to that value has data. |
timeDisplayType | string | Allowed values are "hour", "day", "week", "month", "_24x7", "halfHour". |
Filter JSON Format
Name | Type | Description |
---|---|---|
fieldName | string | Name of the field, point to the field used for filter data, used to obtain part of the data according to specific conditions, such as a certain agent, a certain department, a certain period of time data. |
matchType | string | Allowed values are "equals", "notEquals", "between", "lessThan", "greaterThan". |
value | string[] | Array of values to filter data. |
Response
An array of Report
Chat Volume
Provides the number of visits and chats (including refused and missed chats) within a specific time period.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Chat",
"fields": [
{
"name": "chats",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Status",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status0",
"fieldName": "Status",
"operate": "equals",
"values": [
"0"
]
}
]
},
{
"name": "missedChats",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Status",
"conditionMatchType": "all",
"conditions": [
{
"name": "missedChatStatus",
"fieldName": "Status",
"operate": "equals",
"values": [
"2",
"3"
]
}
]
},
{
"name": "refusedChats",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Status",
"conditionMatchType": "all",
"conditions": [
{
"name": "refusedChatStatus",
"fieldName": "Status",
"operate": "equals",
"values": [
"1"
]
}
]
},
{
"name": "chatRequests",
"calculationType": "expression",
"valueType": "int",
"expression": "chats + missedChats + refusedChats",
"fieldName": "",
"conditions": []
},
{
"name": "chatAcceptanceRate",
"calculationType": "expression",
"valueType": "percent",
"expression": "chats / chatRequests",
"fieldName": "",
"conditions": []
},
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "RequestedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/03/25",
"2021/04/23"
]
}
]
},
{
"name": "VisitsStatistics",
"fields": [
{
"name": "visits",
"calculationType": "sum",
"valueType": "int",
"expression": "",
"fieldName": "VisitCount",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "LogTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "LogTime",
"matchType": "between",
"value": [
"2021/03/25",
"2021/04/23"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"chats": 37,
"missedChats": 9,
"refusedChats": 1,
"visits": 79,
"chatRequests": 47.0,
"chatAcceptanceRate": 78.72
},
"series": [
{
"time": "2021-03-25",
"chats": 1.0,
"missedChats": 0.0,
"refusedChats": 0.0,
"chatRequests": 1.0,
"chatAcceptanceRate": 100.0,
"visits": 2.0
},
//...
]
}
Ticketing Real Time
The report of ticketing Real time details.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Ticket",
"fields": [
{
"name": "unassignedTickets",
"valueType": "int",
"expression": "",
"calculationType": "count",
"fieldName": "AssigneeId",
"conditionMatchType": "all",
"conditions": [
{
"name": "noAgent",
"fieldName": "AssigneeId",
"operate": "equals",
"values": [
"00000000-0000-0000-0000-000000000000"
]
},
{
"name": "noDepartment",
"fieldName": "DepartmentAssigneeId",
"operate": "equals",
"values": [
"00000000-0000-0000-0000-000000000000"
]
}
]
},
{
"name": "openTickets",
"valueType": "int",
"expression": "",
"calculationType": "count",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "notResolved",
"fieldName": "Status",
"operate": "notEquals",
"values": [
"5"
]
}
]
},
{
"name": "newTickets",
"valueType": "int",
"expression": "",
"calculationType": "count",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status1",
"fieldName": "Status",
"operate": "equals",
"values": [
"1"
]
}
]
},
{
"name": "pendingInternalTickets",
"valueType": "int",
"expression": "",
"calculationType": "count",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status2",
"fieldName": "Status",
"operate": "equals",
"values": [
"2"
]
}
]
},
{
"name": "pendingExternalTickets",
"valueType": "int",
"expression": "",
"calculationType": "count",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status3",
"fieldName": "Status",
"operate": "equals",
"values": [
"3"
]
}
]
},
{
"name": "onHoldTickets",
"valueType": "int",
"expression": "",
"calculationType": "count",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status4",
"fieldName": "Status",
"operate": "equals",
"values": [
"4"
]
}
]
},
{
"name": "urgentTickets",
"valueType": "int",
"expression": "",
"calculationType": "count",
"fieldName": "Priority",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status1",
"fieldName": "Priority",
"operate": "equals",
"values": [
"1"
]
}
]
},
{
"name": "highPriorityTickets",
"valueType": "int",
"expression": "",
"calculationType": "count",
"fieldName": "Priority",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status2",
"fieldName": "Priority",
"operate": "equals",
"values": [
"2"
]
}
]
}
],
"rowGroups": [],
"filters": [
{
"fieldName": "CreatedTime",
"matchType": "lessThan",
"value": [
"2021/05/31"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "MergedToTargetId",
"matchType": "equals",
"value": [
"0"
]
}
]
},
{
"name": "Ticket",
"fields": [
{
"name": "todayCreatedTickets",
"valueType": "int",
"expression": "",
"calculationType": "count",
"fieldName": "Id",
"conditions": []
}
],
"rowGroups": [],
"filters": [
{
"fieldName": "CreatedTime",
"matchType": "between",
"value": [
"2021/05/30",
"2021/05/30"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "MergedToTargetId",
"matchType": "equals",
"value": [
"0"
]
}
]
},
{
"name": "Ticket",
"fields": [
{
"name": "todayResolvedTickets",
"valueType": "int",
"expression": "",
"calculationType": "count",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": []
}
],
"rowGroups": [],
"filters": [
{
"fieldName": "ResolvedTime",
"matchType": "between",
"value": [
"2021/05/30",
"2021/05/30"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "MergedToTargetId",
"matchType": "equals",
"value": [
"0"
]
}
]
},
{
"name": "Ticket",
"fields": [
{
"name": "todayRepliedTickets",
"valueType": "int",
"expression": "",
"calculationType": "uniqueCount",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "SentByType1",
"fieldName": "Message.SentByType",
"operate": "equals",
"values": [
"1"
]
}
]
}
],
"rowGroups": [],
"filters": [
{
"fieldName": "Message.Time",
"matchType": "between",
"value": [
"2021/05/30",
"2021/05/30"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "MergedToTargetId",
"matchType": "equals",
"value": [
"0"
]
}
]
},
{
"name": "Ticket",
"fields": [
{
"name": "todayReopenedTickets",
"valueType": "int",
"expression": "",
"calculationType": "count",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": []
}
],
"rowGroups": [],
"filters": [
{
"fieldName": "ReopenedTime",
"matchType": "between",
"value": [
"2021/05/30",
"2021/05/30"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "MergedToTargetId",
"matchType": "equals",
"value": [
"0"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"unassignedTickets": 124,
"openTickets": 1010,
"newTickets": 420,
"pendingInternalTickets": 478,
"pendingExternalTickets": 106,
"onHoldTickets": 6,
"urgentTickets": 281,
"highPriorityTickets": 432,
"todayCreatedTickets": 13,
"todayResolvedTickets": 5,
"todayRepliedTickets": 11,
"todayReopenedTickets": 2
},
"series": [
{
"unassignedTickets": 124.0,
"openTickets": 1010.0,
"newTickets": 420.0,
"pendingInternalTickets": 478.0,
"pendingExternalTickets": 106.0,
"onHoldTickets": 6.0,
"urgentTickets": 281.0,
"highPriorityTickets": 432.0,
"todayCreatedTickets": 13.0,
"todayResolvedTickets": 5.0,
"todayRepliedTickets": 11.0,
"todayReopenedTickets": 2.0
}
]
}
Ticketing Volume
The report of ticketing volume by day.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Ticket",
"fields": [
{
"name": "openTickets",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status!5",
"fieldName": "Status",
"operate": "notEquals",
"values": [
"5"
]
}
]
},
{
"name": "createdTickets",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": []
},
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "CreatedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "CreatedTime",
"matchType": "between",
"value": [
"2021/05/29",
"2021/05/29"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "MergedToTargetId",
"matchType": "equals",
"value": [
"0"
]
}
]
},
{
"name": "Ticket",
"fields": [
{
"name": "resolvedTickets",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "ResolvedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "ResolvedTime",
"matchType": "between",
"value": [
"2021/05/29",
"2021/05/29"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "MergedToTargetId",
"matchType": "equals",
"value": [
"0"
]
}
]
},
{
"name": "Ticket",
"fields": [
{
"name": "reopenedTickets",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "ReopenedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "ReopenedTime",
"matchType": "between",
"value": [
"2021/05/29",
"2021/05/29"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "MergedToTargetId",
"matchType": "equals",
"value": [
"0"
]
}
]
},
{
"name": "Ticket",
"fields": [
{
"name": "repliedTickets",
"calculationType": "uniqueCount",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "SentByType1",
"fieldName": "Message.SentByType",
"operate": "equals",
"values": [
"1"
]
}
]
},
{
"name": "visitorMessages",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Message.SentByType",
"conditionMatchType": "all",
"conditions": [
{
"name": "SentByType3",
"fieldName": "Message.SentByType",
"operate": "equals",
"values": [
"3",
"4"
]
}
]
},
{
"name": "agentMessages",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Message.SentByType",
"conditionMatchType": "all",
"conditions": [
{
"name": "SentByType",
"fieldName": "Message.SentByType",
"operate": "equals",
"values": [
"1",
"5"
]
}
]
},
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "Message.Time",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "Message.Time",
"matchType": "between",
"value": [
"2021/05/29",
"2021/05/29"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "MergedToTargetId",
"matchType": "equals",
"value": [
"0"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"openTickets": 3,
"createdTickets": 3,
"resolvedTickets": 1,
"reopenedTickets": 0,
"repliedTickets": 3,
"visitorMessages": 3,
"agentMessages": 6
},
"series": [
{
"time": "2021-05-29",
"openTickets": 3.0,
"createdTickets": 3.0,
"resolvedTickets": 1.0,
"reopenedTickets": 0,
"repliedTickets": 3.0,
"visitorMessages": 3.0,
"agentMessages": 6.0
}
]
}
Ticketing Channel
The report of ticketing channel by day.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Ticket",
"fields": [
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "email",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChannelIdEmail",
"fieldName": "ChannelId",
"operate": "equals",
"values": [
"Email"
]
}
]
},
{
"name": "facebookWallPost",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChannelFacebookWallPost",
"fieldName": "ChannelId",
"operate": "equals",
"values": [
"FacebookWallPost"
]
}
]
},
{
"name": "facebookVisitorPost",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChannelFacebookVisitorPost",
"fieldName": "ChannelId",
"operate": "equals",
"values": [
"FacebookVisitorPost"
]
}
]
},
{
"name": "facebookMessenger",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChannelFacebookMessenger",
"fieldName": "ChannelId",
"operate": "equals",
"values": [
"FacebookMessenger"
]
}
]
},
{
"name": "facebookTotal",
"calculationType": "expression",
"valueType": "int",
"expression": "facebookWallPost + facebookVisitorPost + facebookMessenger",
"fieldName": "",
"conditions": []
},
{
"name": "tweet",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChannelTweet",
"fieldName": "ChannelId",
"operate": "equals",
"values": [
"Tweet"
]
}
]
},
{
"name": "tweeterDirectMessage",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChannelTweeterDirectMessage",
"fieldName": "ChannelId",
"operate": "equals",
"values": [
"TwitterDirectMessage"
]
}
]
},
{
"name": "tweeterTotal",
"calculationType": "expression",
"valueType": "int",
"expression": "tweet + tweeterDirectMessage",
"fieldName": "",
"conditions": []
},
{
"name": "weChat",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChannelWeChat",
"fieldName": "ChannelId",
"operate": "equals",
"values": [
"Wechat"
]
}
]
},
{
"name": "sms",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChannelSms",
"fieldName": "ChannelId",
"operate": "equals",
"values": [
"SMS"
]
}
]
},
{
"name": "whatsApp",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChannelWhatsApp",
"fieldName": "ChannelId",
"operate": "equals",
"values": [
"WhatsApp"
]
}
]
},
{
"name": "chat",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChannelChat",
"fieldName": "ChannelId",
"operate": "equals",
"values": [
"Chat"
]
}
]
},
{
"name": "offlineMessage",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChannelOfflineMessage",
"fieldName": "ChannelId",
"operate": "equals",
"values": [
"OfflineMessage"
]
}
]
},
{
"name": "internal",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChannelInternal",
"fieldName": "ChannelId",
"operate": "equals",
"values": [
"Internal"
]
}
]
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "CreatedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "CreatedTime",
"matchType": "between",
"value": [
"2021/05/29",
"2021/05/29"
]
},
{
"fieldName": "MergedToTargetId",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"email": 1,
"facebookWallPost": 0,
"facebookVisitorPost": 0,
"facebookMessenger": 0,
"tweet": 0,
"tweeterDirectMessage": 1,
"weChat": 0,
"sms": 0,
"whatsApp": 0,
"chat": 0,
"offlineMessage": 0,
"internal": 1,
"facebookTotal": 0.0,
"tweeterTotal": 1.0
},
"series": [
{
"time": "2021-05-29",
"email": 1.0,
"facebookWallPost": 0.0,
"facebookVisitorPost": 0.0,
"facebookMessenger": 0.0,
"facebookTotal": 0.0,
"tweet": 0.0,
"tweeterDirectMessage": 1.0,
"tweeterTotal": 1.0,
"weChat": 0.0,
"sms": 0.0,
"whatsApp": 0.0,
"chat": 0.0,
"offlineMessage": 0.0,
"internal": 1.0
}
]
}
Ticketing Efficiency
The report of ticketing efficiency by day.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Ticket",
"fields": [
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "allChannels",
"calculationType": "uniqueCount",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "avgResponseTime",
"calculationType": "expression",
"valueType": "timespan",
"expression": "sumResponseTime/sumResponseCount",
"fieldName": "",
"conditions": []
},
{
"name": "avgFirstResponseTime",
"calculationType": "average",
"valueType": "timespan",
"expression": "",
"fieldName": "FirstResponseTimeSpan",
"conditions": []
},
{
"name": "avgTicketTime",
"calculationType": "average",
"valueType": "timespan",
"expression": "",
"fieldName": "ResolvedTimeSpan",
"conditions": []
},
{
"name": "avgVisitorMessages",
"calculationType": "expression",
"valueType": "decimal",
"expression": "visitorMessages/allChannels",
"fieldName": "",
"conditions": []
},
{
"name": "avgAgentMessages",
"calculationType": "expression",
"valueType": "decimal",
"expression": "agentMessages/allChannels",
"fieldName": "",
"conditions": []
},
{
"name": "sumResponseCount",
"calculationType": "sum",
"valueType": "int",
"expression": "",
"fieldName": "ResponseCount",
"conditions": []
},
{
"name": "sumResponseTime",
"calculationType": "sum",
"valueType": "int",
"expression": "",
"fieldName": "ResponseTimeSpan",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "CreatedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "CreatedTime",
"matchType": "between",
"value": [
"2021/05/29",
"2021/05/29"
]
},
{
"fieldName": "Status",
"matchType": "equals",
"value": [
"5"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
}
]
},
{
"name": "Ticket",
"fields": [
{
"name": "visitorMessages",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Message.SentByType",
"conditionMatchType": "all",
"conditions": [
{
"name": "SentByType3",
"fieldName": "Message.SentByType",
"operate": "equals",
"values": [
"3",
"4"
]
}
]
},
{
"name": "agentMessages",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Message.SentByType",
"conditionMatchType": "all",
"conditions": [
{
"name": "SentByType",
"fieldName": "Message.SentByType",
"operate": "equals",
"values": [
"1",
"5"
]
}
]
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "CreatedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "CreatedTime",
"matchType": "between",
"value": [
"2021/05/29",
"2021/05/29"
]
},
{
"fieldName": "Status",
"matchType": "equals",
"value": [
"5"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "MergedToTargetId",
"matchType": "equals",
"value": [
"0"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"allChannels": 0,
"avgFirstResponseTime": 0.0,
"avgTicketTime": 0.0,
"sumResponseCount": 0,
"sumResponseTime": 0,
"visitorMessages": 0,
"agentMessages": 0,
"avgResponseTime": 0.0,
"avgVisitorMessages": 0.0,
"avgAgentMessages": 0.0
},
"series": [
{
"time": "2021-05-29",
"allChannels": 0,
"avgResponseTime": 0.0,
"avgFirstResponseTime": 0,
"avgTicketTime": 0,
"avgVisitorMessages": 0.0,
"avgAgentMessages": 0.0,
"sumResponseCount": 0,
"sumResponseTime": 0,
"visitorMessages": 0,
"agentMessages": 0
}
]
}
Ticketing SLA Policies
The report of ticketing SLA Policies.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Ticket",
"fields": [
{
"name": "slaPolicyId",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "TicketSLA.SlaPolicy.Id",
"conditions": []
},
{
"name": "slaPolicy",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "TicketSLA.SlaPolicy.Name",
"conditions": []
},
{
"name": "firstResponseSlaCount",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "FirstRespondBreachStatus1",
"fieldName": "TicketSLA.FirstRespondBreachStatus",
"operate": "equals",
"values": [
"1"
]
}
]
},
{
"name": "firstResponseSlaTotal",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "FirstRespondBreachStatus123",
"fieldName": "TicketSLA.FirstRespondBreachStatus",
"operate": "equals",
"values": [
"1",
"2",
"3"
]
}
]
},
{
"name": "firstRespondRate",
"calculationType": "expression",
"valueType": "percent",
"expression": "firstResponseSlaCount/firstResponseSlaTotal",
"fieldName": "",
"conditions": []
},
{
"name": "firstRespondDuration",
"calculationType": "sum",
"valueType": "decimal",
"expression": "",
"fieldName": "TicketSLA.FirstRespondDuration",
"conditions": []
},
{
"name": "FirstRespondDurationTotal",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "FirstRespondBreachStatus13",
"fieldName": "TicketSLA.FirstRespondBreachStatus",
"operate": "equals",
"values": [
"1",
"3"
]
}
]
},
{
"name": "avgFirstRespondSlaTime",
"calculationType": "expression",
"valueType": "timespan",
"expression": "firstRespondDuration/FirstRespondDurationTotal",
"fieldName": "",
"conditions": []
},
{
"name": "sumNextRespondCount",
"calculationType": "sum",
"valueType": "int",
"expression": "",
"fieldName": "TicketSLA.NextRespondCount",
"conditions": []
},
{
"name": "sumNextRespondBreachCount",
"calculationType": "sum",
"valueType": "int",
"expression": "",
"fieldName": "TicketSLA.NextRespondBreachCount",
"conditions": []
},
{
"name": "nextResponseSlaRate",
"calculationType": "expression",
"valueType": "percent",
"expression": "(sumNextRespondCount-sumNextRespondBreachCount)/sumNextRespondCount",
"fieldName": "",
"conditions": []
},
{
"name": "sumNextRespondDuration",
"calculationType": "sum",
"valueType": "int",
"expression": "",
"fieldName": "TicketSLA.NextRespondDuration",
"conditions": []
},
{
"name": "avgNextRespondSlaTime",
"calculationType": "expression",
"valueType": "timespan",
"expression": "sumNextRespondDuration/sumNextRespondCount",
"fieldName": "",
"conditions": []
},
{
"name": "resolutionSlaCount",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ResolveTimeBreachStatus1",
"fieldName": "TicketSLA.ResolveTimeBreachStatus",
"operate": "equals",
"values": [
"1"
]
}
]
},
{
"name": "resolutionSlaCountTotal",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ResolveTimeBreachStatus1234",
"fieldName": "TicketSLA.ResolveTimeBreachStatus",
"operate": "equals",
"values": [
"1",
"2",
"3",
"4"
]
}
]
},
{
"name": "resolutionSlaRate",
"calculationType": "expression",
"valueType": "percent",
"expression": "resolutionSlaCount/resolutionSlaCountTotal",
"fieldName": "",
"conditions": []
},
{
"name": "sumResolvedDuration",
"calculationType": "sum",
"valueType": "int",
"expression": "",
"fieldName": "TicketSLA.ResolvedDuration",
"conditions": []
},
{
"name": "resolutionSlaDurationTotal",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "ResolveTimeBreachStatus134",
"fieldName": "TicketSLA.ResolveTimeBreachStatus",
"operate": "equals",
"values": [
"1",
"3",
"4"
]
}
]
},
{
"name": "avgResolutionSlaTime",
"calculationType": "expression",
"valueType": "timespan",
"expression": "sumResolvedDuration/resolutionSlaDurationTotal",
"fieldName": "",
"conditions": []
},
{
"name": "breachTickets",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "any",
"conditions": [
{
"name": "FirstRespondBreachStatus23",
"fieldName": "TicketSLA.FirstRespondBreachStatus",
"operate": "equals",
"values": [
"2",
"3"
]
},
{
"name": "ResolveTimeBreachStatus23",
"fieldName": "TicketSLA.ResolveTimeBreachStatus",
"operate": "equals",
"values": [
"2",
"3"
]
},
{
"name": "NextRespondBreachCount23",
"fieldName": "TicketSLA.NextRespondBreachCount",
"operate": "equals",
"values": [
"2",
"3"
]
}
]
}
],
"rowGroups": [
{
"name": "slaPolicyId",
"fieldName": "TicketSLA.SlaPolicyId",
"isFull": true
}
],
"filters": [
{
"fieldName": "CreatedTime",
"matchType": "between",
"value": [
"2021/05/29",
"2021/05/29"
]
},
{
"fieldName": "MergedToTargetId",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "IsInRecycleBin",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "TicketSLA.SlaPolicy.Id",
"matchType": "notEquals",
"value": [
null
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"firstResponseSlaCount": 0,
"firstResponseSlaTotal": 0,
"firstRespondDuration": 0.0,
"firstRespondDurationTotal": 0,
"sumNextRespondCount": 0,
"sumNextRespondBreachCount": 0,
"sumNextRespondDuration": 0,
"resolutionSlaCount": 0,
"resolutionSlaCountTotal": 0,
"sumResolvedDuration": 0,
"resolutionSlaDurationTotal": 0,
"breachTickets": 0,
"firstRespondRate": 0.0,
"avgFirstRespondSlaTime": 0.0,
"nextResponseSlaRate": 0.0,
"avgNextRespondSlaTime": 0.0,
"resolutionSlaRate": 0.0,
"avgResolutionSlaTime": 0.0
},
"series": [
{
"slaPolicyId": "d8ee141e-ab12-4575-86af-fa7058d6d16f",
"slaPolicy": "oden sla",
"firstResponseSlaCount": 0.0,
"firstResponseSlaTotal": 0.0,
"firstRespondRate": 0.0,
"firstRespondDuration": 0.0,
"firstRespondDurationTotal": 0.0,
"avgFirstRespondSlaTime": 0.0,
"sumNextRespondCount": 0.0,
"sumNextRespondBreachCount": 0.0,
"nextResponseSlaRate": 0.0,
"sumNextRespondDuration": 0.0,
"avgNextRespondSlaTime": 0.0,
"resolutionSlaCount": 0.0,
"resolutionSlaCountTotal": 0.0,
"resolutionSlaRate": 0.0,
"sumResolvedDuration": 0.0,
"resolutionSlaDurationTotal": 0.0,
"avgResolutionSlaTime": 0.0,
"breachTickets": 0.0
},
//...
]
}
Agent Availability
The report of agent availability by Month.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "AgentStatusLog",
"fields": [
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "online",
"calculationType": "sum",
"valueType": "timespan",
"expression": "",
"fieldName": "OnlineTime",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "StartTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "StartTime",
"matchType": "between",
"value": [
"2021/04/27",
"2021/05/26"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"online": 224169.1433333
},
"series": [
{
"time": "2021-04-27",
"online": 224169.1433333
},
//...
]
}
Canned Message
The report of Canned Messages usage.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "CannedMessageUseRecord",
"fields": [
{
"name": "cannedMessage",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "CannedMessage.Name",
"conditions": []
},
{
"name": "usedTimes",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "usedAgents",
"calculationType": "uniqueCount",
"valueType": "int",
"expression": "",
"fieldName": "AgentId",
"conditions": []
},
{
"name": "cannedMessageId",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "CannedMessage.Id",
"conditions": []
}
],
"rowGroups": [
{
"name": "cannedMessageId",
"fieldName": "CannedMessage.Id",
"isFull": true
}
],
"filters": [
{
"fieldName": "CreatedTime",
"matchType": "between",
"value": [
"2021/04/27",
"2021/05/26"
]
},
{
"fieldName": "CannedMessage.Id",
"matchType": "notEquals",
"value": [
null
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"usedTimes": 0,
"usedAgents": 0
},
"series": [
{
"cannedMessageId": "cea66fff-3ca2-eb11-aad0-06f950e5291d",
"cannedMessage": "Hello",
"usedTimes": 0.0,
"usedAgents": 0.0
}
]
}
Chat Source
Provides the number of chats initiated by visitors, by agents, or by predefined rules as well as the request page of those chats.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Chat",
"fields": [
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "chatsByVisitors",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Source",
"conditionMatchType": "all",
"conditions": [
{
"name": "Source0",
"fieldName": "Source",
"operate": "equals",
"values": [
"0"
]
},
{
"name": "NormalStatus",
"fieldName": "Status",
"operate": "equals",
"values": [
"0"
]
},
{
"name": "NormalStatus",
"fieldName": "Status",
"operate": "equals",
"values": [
"0"
]
}
]
},
{
"name": "chatsFromAutoInvitation",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Source",
"conditionMatchType": "all",
"conditions": [
{
"name": "Source1",
"fieldName": "Source",
"operate": "equals",
"values": [
"1"
]
},
{
"name": "NormalStatus",
"fieldName": "Status",
"operate": "equals",
"values": [
"0"
]
}
]
},
{
"name": "chatsFromManualInvitation",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Source",
"conditionMatchType": "all",
"conditions": [
{
"name": "Source2",
"fieldName": "Source",
"operate": "equals",
"values": [
"2"
]
},
{
"name": "NormalStatus",
"fieldName": "Status",
"operate": "equals",
"values": [
"0"
]
}
]
},
{
"name": "chats",
"calculationType": "expression",
"valueType": "int",
"expression": "chatsByVisitors + chatsFromAutoInvitation + chatsFromManualInvitation",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "RequestedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/04/27",
"2021/05/26"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"chatsByVisitors": 21,
"chatsFromAutoInvitation": 0,
"chatsFromManualInvitation": 0,
"chats": 21.0
},
"series": [
{
"time": "2021-04-27",
"chatsByVisitors": 7.0,
"chatsFromAutoInvitation": 0.0,
"chatsFromManualInvitation": 0.0,
"chats": 7.0
},
//...
]
}
Chat Queue
Shows the number of visitors who waited in the queue, abandoned the queue, switched to offline message or were refused by agents.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Chat",
"fields": [
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "queuedChatRequests",
"calculationType": "expression",
"valueType": "int",
"expression": "chatsFromQueue+switchedToMessaged+abandonedChats+refusedChats",
"fieldName": "",
"conditions": []
},
{
"name": "chatsFromQueue",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Status",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status0",
"fieldName": "Status",
"operate": "equals",
"values": [
"0"
]
}
]
},
{
"name": "switchedToMessaged",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Status",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status2",
"fieldName": "Status",
"operate": "equals",
"values": [
"2"
]
},
{
"name": "ChatType16",
"fieldName": "ChatType",
"operate": "equals",
"values": [
"16"
]
}
]
},
{
"name": "abandonedChats",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Status",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status4",
"fieldName": "Status",
"operate": "equals",
"values": [
"2"
]
},
{
"name": "ChatTypeNot16",
"fieldName": "ChatType",
"operate": "notEquals",
"values": [
"16"
]
}
]
},
{
"name": "refusedChats",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Status",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status1",
"fieldName": "Status",
"operate": "equals",
"values": [
"1"
]
}
]
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "RequestedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
},
{
"fieldName": "IsQueued",
"matchType": "equals",
"value": [
"1"
]
}
]
},
{
"name": "QueueStatistics",
"fields": [
{
"name": "maxQueueSize",
"calculationType": "max",
"valueType": "int",
"expression": "",
"fieldName": "QueueLength",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "Time",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "Time",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"chatsFromQueue": 40,
"switchedToMessaged": 0,
"abandonedChats": 18,
"refusedChats": 1,
"maxQueueSize": 1,
"queuedChatRequests": 59.0
},
"series": [
{
"time": "2021-02-01",
"queuedChatRequests": 0.0,
"chatsFromQueue": 0,
"switchedToMessaged": 0,
"abandonedChats": 0,
"refusedChats": 0,
"maxQueueSize": 0
},
//...
]
}
Chat Wait Time
Provides the details on visitors' average and the longest wait times within a specific time range.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Chat",
"fields": [
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "avgWaitingTime",
"calculationType": "average",
"valueType": "timespan",
"expression": "",
"fieldName": "WaitingTime",
"conditionMatchType": "all",
"conditions": []
},
{
"name": "avgWaitingTimeOfMissedChats",
"calculationType": "average",
"valueType": "timespan",
"expression": "",
"fieldName": "WaitingTime",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status2",
"fieldName": "Status",
"operate": "equals",
"values": [
"2"
]
}
]
},
{
"name": "maxWaitingTime",
"calculationType": "max",
"valueType": "timespan",
"expression": "",
"fieldName": "WaitingTime",
"conditions": []
},
{
"name": "maxWaitingTimeOfMissedChats",
"calculationType": "max",
"valueType": "timespan",
"expression": "",
"fieldName": "WaitingTime",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status2",
"fieldName": "Status",
"operate": "equals",
"values": [
"2"
]
}
]
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "RequestedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
},
{
"fieldName": "ChatType",
"matchType": "equals",
"value": [
"0",
"2"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"avgWaitingTime": -3162.38,
"avgWaitingTimeOfMissedChats": 134.11,
"maxWaitingTime": 702.0,
"maxWaitingTimeOfMissedChats": 570.0
},
"series": [
{
"time": "2021-02-01",
"avgWaitingTime": 0.0,
"avgWaitingTimeOfMissedChats": 0.0,
"maxWaitingTime": 0.0,
"maxWaitingTimeOfMissedChats": 0.0
},
//...
]
}
Chat Transfer
Provides a clear picture on the number of chats being transferred between agents and departments.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "TransferLog",
"fields": [
{
"name": "totalTransferredChats",
"calculationType": "uniqueCount",
"valueType": "int",
"expression": "",
"fieldName": "ChatGuid",
"conditions": []
},
{
"name": "departmentTransferredChats",
"calculationType": "uniqueCount",
"valueType": "int",
"expression": "",
"fieldName": "ChatGuid",
"conditionMatchType": "all",
"conditions": [
{
"name": "TransferType1",
"fieldName": "TransferType",
"operate": "equals",
"values": [
"1"
]
}
]
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "Time",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "Time",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
}
]
},
{
"name": "TransferLog",
"fields": [
{
"name": "departmentTransferredInChats",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "TransferType",
"conditionMatchType": "all",
"conditions": [
{
"name": "TransferType1",
"fieldName": "TransferType",
"operate": "equals",
"values": [
"1"
]
}
]
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "Time",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "Time",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
}
]
},
{
"name": "TransferLog",
"fields": [
{
"name": "departmentTransferredOutChats",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "TransferType",
"conditionMatchType": "all",
"conditions": [
{
"name": "TransferType1",
"fieldName": "TransferType",
"operate": "equals",
"values": [
"1"
]
}
]
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "Time",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "Time",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
}
]
},
{
"name": "Chat",
"fields": [
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "chats",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditionMatchType": "all",
"conditions": [
{
"name": "NormalStatus",
"fieldName": "Status",
"operate": "equals",
"values": [
"0"
]
}
]
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "RequestedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"totalTransferredChats": 2,
"departmentTransferredChats": 0,
"departmentTransferredInChats": 0,
"departmentTransferredOutChats": 0,
"chats": 333
},
"series": [
{
"time": "2021-02-01",
"totalTransferredChats": 0,
"departmentTransferredChats": 0,
"departmentTransferredInChats": 0,
"departmentTransferredOutChats": 0,
"chats": 2.0
},
//...
]
}
Agent Performance in Live Chat
Provides data regarding agents' overall performance in terms of chat time and wait time within a specific time period.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Chat",
"fields": [
{
"name": "avgChatTime",
"calculationType": "average",
"valueType": "timespan",
"expression": "",
"fieldName": "Duration",
"conditions": []
},
{
"name": "avgWaitTime",
"calculationType": "average",
"valueType": "timespan",
"expression": "",
"fieldName": "WaitingTime",
"conditions": []
},
{
"name": "chats",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "totalChatTime",
"calculationType": "sum",
"valueType": "timespan",
"expression": "",
"fieldName": "Duration",
"conditions": []
},
{
"name": "lastMessageSentByAgent",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "LastMessageSentBy",
"conditionMatchType": "all",
"conditions": [
{
"name": "LastMessageSentBy1",
"fieldName": "LastMessageSentBy",
"operate": "equals",
"values": [
"1"
]
}
]
},
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "RequestedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
},
{
"fieldName": "Status",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "ChatType",
"matchType": "equals",
"value": [
"0",
"2"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"avgChatTime": 10913.04,
"avgWaitTime": 190.01,
"chats": 67,
"totalChatTime": 731174.0,
"lastMessageSentByAgent": 16
},
"series": [
{
"time": "2021-02-01",
"avgChatTime": 16.0,
"avgWaitTime": 0.0,
"chats": 1.0,
"totalChatTime": 16.0,
"lastMessageSentByAgent": 1.0
},
//...
]
}
Chat Workload
Gives a comprehensive view on the agent workload by providings data regarding agents' chat time and number of chats handled.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "AgentStatusLog",
"fields": [
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "linearChatTime",
"calculationType": "count",
"valueType": "timespan",
"expression": "",
"fieldName": "LinearChatTime",
"conditions": []
},
{
"name": "idleTime",
"calculationType": "count",
"valueType": "timespan",
"expression": "",
"fieldName": "IdleTime",
"conditions": []
},
{
"name": "loginTime",
"calculationType": "count",
"valueType": "timespan",
"expression": "",
"fieldName": "LoggedInTime",
"conditions": []
},
{
"name": "agentUtilization",
"calculationType": "expression",
"valueType": "percent",
"expression": "linearChatTime/loginTime",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "StartTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "StartTime",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
}
]
},
{
"name": "Chat",
"fields": [
{
"name": "totalChatTime",
"calculationType": "sum",
"valueType": "timespan",
"expression": "",
"fieldName": "Duration",
"conditions": []
},
{
"name": "chats",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "avgConcurrentChats",
"calculationType": "expression",
"valueType": "decimal",
"expression": "totalChatTime/loginTime",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "RequestedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
},
{
"fieldName": "ChatType",
"matchType": "equals",
"value": [
"0",
"2"
]
},
{
"fieldName": "Status",
"matchType": "equals",
"value": [
"0"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"linearChatTime": 0.0,
"idleTime": 0.0,
"loginTime": 0.0,
"totalChatTime": 731174.0,
"chats": 67,
"agentUtilization": 0.0,
"avgConcurrentChats": 0.0
},
"series": [
{
"time": "2021-02-01",
"linearChatTime": 0.0,
"idleTime": 0.0,
"loginTime": 0.0,
"agentUtilization": 0.0,
"totalChatTime": 16.0,
"chats": 1.0,
"avgConcurrentChats": 0.0
},
//...
]
}
Agent Efficiency
Provides data regarding the agents' responsiveness, total chat time and visitor wait time.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Chat",
"fields": [
{
"name": "avgAgentResponseTime",
"calculationType": "average",
"valueType": "timespan",
"expression": "",
"fieldName": "AvgResponseTime",
"conditions": []
},
{
"name": "avgWaitTime",
"calculationType": "average",
"valueType": "timespan",
"expression": "",
"fieldName": "WaitingTime",
"conditions": []
},
{
"name": "avgChatTime",
"calculationType": "average",
"valueType": "timespan",
"expression": "",
"fieldName": "Duration",
"conditions": []
},
{
"name": "avgAgentChatMessages",
"calculationType": "average",
"valueType": "decimal",
"expression": "",
"fieldName": "AgentMessagesCount",
"conditions": []
},
{
"name": "avgVisitorChatMessages",
"calculationType": "average",
"valueType": "decimal",
"expression": "",
"fieldName": "VisitorMessagesCount",
"conditions": []
},
{
"name": "avgCannedMessages",
"calculationType": "average",
"valueType": "decimal",
"expression": "",
"fieldName": "CannedMessageCount",
"conditions": []
},
{
"name": "lastMessageSentByAgent",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "LastMessageSentBy",
"conditionMatchType": "all",
"conditions": [
{
"name": "LastMessageSentBy1",
"fieldName": "LastMessageSentBy",
"operate": "equals",
"values": [
"1"
]
}
]
},
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "RequestedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
},
{
"fieldName": "Status",
"matchType": "equals",
"value": [
"0"
]
},
{
"fieldName": "ChatType",
"matchType": "equals",
"value": [
"0",
"2"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"avgAgentResponseTime": 41.77,
"avgWaitTime": 39.59,
"avgChatTime": 2212.1,
"avgAgentChatMessages": 0.88,
"avgVisitorChatMessages": 0.66,
"avgCannedMessages": 0.03,
"lastMessageSentByAgent": 193
},
"series": [
{
"time": "2021-02-01",
"avgAgentResponseTime": 0.0,
"avgWaitTime": 6.58,
"avgChatTime": 14741.21,
"avgAgentChatMessages": 0.47,
"avgVisitorChatMessages": 0.05,
"avgCannedMessages": 0.0,
"lastMessageSentByAgent": 5.0
},
//...
]
}
Chat Rating
Provides insights on customer satisfaction by showsing rating scores of individual agents and departments.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Chat",
"fields": [
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "ratingTimes",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "PostChatSurvey.ChatId",
"conditions": []
},
{
"name": "score5",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "PostChatSurvey.RatingGrade",
"conditionMatchType": "all",
"conditions": [
{
"name": "RatingGrade5",
"fieldName": "PostChatSurvey.RatingGrade",
"operate": "equals",
"values": [
"5"
]
}
]
},
{
"name": "score4",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "PostChatSurvey.RatingGrade",
"conditionMatchType": "all",
"conditions": [
{
"name": "RatingGrade4",
"fieldName": "PostChatSurvey.RatingGrade",
"operate": "equals",
"values": [
"4"
]
}
]
},
{
"name": "score3",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "PostChatSurvey.RatingGrade",
"conditionMatchType": "all",
"conditions": [
{
"name": "RatingGrade3",
"fieldName": "PostChatSurvey.RatingGrade",
"operate": "equals",
"values": [
"3"
]
}
]
},
{
"name": "score2",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "PostChatSurvey.RatingGrade",
"conditionMatchType": "all",
"conditions": [
{
"name": "RatingGrade2",
"fieldName": "PostChatSurvey.RatingGrade",
"operate": "equals",
"values": [
"2"
]
}
]
},
{
"name": "score1",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "PostChatSurvey.RatingGrade",
"conditionMatchType": "all",
"conditions": [
{
"name": "RatingGrade1",
"fieldName": "PostChatSurvey.RatingGrade",
"operate": "equals",
"values": [
"1"
]
}
]
},
{
"name": "avgScore",
"calculationType": "average",
"valueType": "decimal",
"expression": "",
"fieldName": "PostChatSurvey.RatingGrade",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "PostChatSurvey.SubmitTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "PostChatSurvey.SubmitTime",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
},
{
"fieldName": "PostChatSurvey.RatingGrade",
"matchType": "greaterThan",
"value": [
"0"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"ratingTimes": 69,
"score5": 66,
"score4": 0,
"score3": 0,
"score2": 0,
"score1": 3,
"avgScore": 4.83
},
"series": [
{
"time": "2021-02-01",
"ratingTimes": 0,
"score5": 0,
"score4": 0,
"score3": 0,
"score2": 0,
"score1": 0,
"avgScore": 0
},
//...
]
}
Post-chat Survey
Provides insight on how visitors felt about agents' professionalism, responsiveness, and helpfulness
.Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Chat",
"fields": [
{
"name": "campaignId",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "Campaign.Id",
"conditions": []
},
{
"name": "campaignName",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "Campaign.Name",
"conditions": []
},
{
"name": "count",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "type",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatFieldResult.Field.Type",
"conditions": []
},
{
"name": "fieldId",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatFieldResult.Field.Id",
"conditions": []
},
{
"name": "fieldName",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatFieldResult.Field.Name",
"conditions": []
},
{
"name": "score",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "campaignId",
"fieldName": "CampaignId",
"isFull": false
},
{
"name": "fieldId",
"fieldName": "ChatFieldResult.FieldId",
"isFull": false
},
{
"name": "score",
"fieldName": "ChatFieldResult.Value",
"isFull": false
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/04/28",
"2021/05/27"
]
},
{
"fieldName": "ChatFieldResult.Field.Type",
"matchType": "equals",
"value": [
"7"
]
},
{
"fieldName": "ChatFieldResult.FormType",
"matchType": "equals",
"value": [
"2"
]
}
]
},
{
"name": "Chat",
"fields": [
{
"name": "campaignId",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "Campaign.Id",
"conditions": []
},
{
"name": "campaignName",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "Campaign.Name",
"conditions": []
},
{
"name": "count",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "option",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "type",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatFieldResult.Field.Type",
"conditions": []
},
{
"name": "fieldId",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatFieldResult.Field.Id",
"conditions": []
},
{
"name": "fieldName",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatFieldResult.Field.Name",
"conditions": []
}
],
"rowGroups": [
{
"name": "campaignId",
"fieldName": "CampaignId",
"isFull": false
},
{
"name": "fieldId",
"fieldName": "ChatFieldResult.FieldId",
"isFull": false
},
{
"name": "option",
"fieldName": "ChatFieldResult.Value",
"isFull": false
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/04/28",
"2021/05/27"
]
},
{
"fieldName": "ChatFieldResult.Field.Type",
"matchType": "equals",
"value": [
"3",
"4",
"5",
"6"
]
},
{
"fieldName": "ChatFieldResult.FormType",
"matchType": "equals",
"value": [
"2"
]
}
]
}
],
"mergeType": "row",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"series": [
{
"campaignId": "92a816a9-b590-493d-9bf4-98c921c4f40c",
"campaignName": "Comm100 Website Bussiness",
"count": "2.0",
"option": "No",
"type": "6",
"fieldId": "420758aa-ea68-4bf2-91ae-86a865641fd0",
"fieldName": "Did you get a timely response from the agent?"
},
//...
]
}
Pre-chat Survey
Provides insight on visitor data collected from pre-chat surveys.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Chat",
"fields": [
{
"name": "campaignId",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "Campaign.Id",
"conditions": []
},
{
"name": "campaignName",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "Campaign.Name",
"conditions": []
},
{
"name": "count",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "option",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "type",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatFieldResult.Field.Type",
"conditions": []
},
{
"name": "fieldId",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatFieldResult.Field.Id",
"conditions": []
},
{
"name": "fieldName",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatFieldResult.Field.Name",
"conditions": []
}
],
"rowGroups": [
{
"name": "campaignId",
"fieldName": "CampaignId",
"isFull": false
},
{
"name": "fieldId",
"fieldName": "ChatFieldResult.FieldId",
"isFull": false
},
{
"name": "option",
"fieldName": "ChatFieldResult.Value",
"isFull": false
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/04/28",
"2021/05/27"
]
},
{
"fieldName": "ChatFieldResult.Field.Type",
"matchType": "equals",
"value": [
"3",
"4",
"5",
"6"
]
},
{
"fieldName": "ChatFieldResult.FormType",
"matchType": "equals",
"value": [
"0"
]
}
]
}
],
"mergeType": "row",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"series": [
{
"campaignId": "92a816a9-b590-493d-9bf4-98c921c4f40c",
"campaignName": "Comm100 Website",
"count": "2.0",
"option": "Sales",
"type": "5",
"fieldId": "dcf659f4-ae18-4534-8c00-98f10b7b28c4",
"fieldName": "Inquiry Related"
},
//...
]
}
Chat Wrap-up
Shows the categorization details of the chats as well as the wrap-up completion rate according to the wrap-up survey.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "Chat",
"fields": [
{
"name": "campaignId",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "Campaign.Id",
"conditions": []
},
{
"name": "campaignName",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "Campaign.Name",
"conditions": []
},
{
"name": "count",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "categoryOptionId",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatWrapupCategory.CategoryOption.Id",
"conditions": []
},
{
"name": "categoryOptionName",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatWrapupCategory.CategoryOption.Name",
"conditions": []
}
],
"rowGroups": [
{
"name": "campaignId",
"fieldName": "CampaignId",
"isFull": false
},
{
"name": "optionId",
"fieldName": "ChatWrapupCategory.CategoryOptionId",
"isFull": false
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/05/03",
"2021/06/01"
]
}
]
},
{
"name": "Chat",
"fields": [
{
"name": "campaignId",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "Campaign.Id",
"conditions": []
},
{
"name": "campaignName",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "Campaign.Name",
"conditions": []
},
{
"name": "count",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "option",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "type",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatFieldResult.Field.Type",
"conditions": []
},
{
"name": "fieldId",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatFieldResult.Field.Id",
"conditions": []
},
{
"name": "fieldName",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "ChatFieldResult.Field.Name",
"conditions": []
}
],
"rowGroups": [
{
"name": "campaignId",
"fieldName": "CampaignId",
"isFull": false
},
{
"name": "fieldId",
"fieldName": "ChatFieldResult.FieldId",
"isFull": false
},
{
"name": "option",
"fieldName": "ChatFieldResult.Value",
"isFull": false
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/05/03",
"2021/06/01"
]
},
{
"fieldName": "ChatFieldResult.Field.Type",
"matchType": "equals",
"value": [
"3",
"4",
"5",
"6"
]
},
{
"fieldName": "ChatFieldResult.FormType",
"matchType": "equals",
"value": [
"3"
]
}
]
}
],
"mergeType": "row",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"series": [
{
"campaignId": "08382335-e771-4bcc-9ad2-33d2422aba20",
"campaignName": "1kellyc",
"count": 1.0,
"categoryOptionId": "f29ba660-bdeb-4d0f-8a36-acc500d8201f",
"categoryOptionName": "ccccc"
},
//...
]
}
Conversions
Shows all achieved conversions, total conversion value and the conversion rate.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "ConversionLog",
"fields": [
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "conversions",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "convertedVisitors",
"calculationType": "uniqueCount",
"valueType": "int",
"expression": "",
"fieldName": "VisitorId",
"conditions": []
},
{
"name": "convertedChattedVisitors",
"calculationType": "uniqueCount",
"valueType": "int",
"expression": "",
"fieldName": "VisitorId",
"conditionMatchType": "all",
"conditions": [
{
"name": "ChatIdNotEmpty",
"fieldName": "ChatGuid",
"operate": "notEquals",
"values": [
"00000000-0000-0000-0000-000000000000"
]
}
]
},
{
"name": "convRateOfChattedVisitors",
"calculationType": "expression",
"valueType": "percent",
"expression": "convertedChattedVisitors/chattedVisitors",
"fieldName": "",
"conditions": []
},
{
"name": "value",
"calculationType": "sum",
"valueType": "decimal",
"expression": "",
"fieldName": "ConversionValue",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "CreatedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "CreatedTime",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
}
]
},
{
"name": "Chat",
"fields": [
{
"name": "chats",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "chattedVisitors",
"calculationType": "uniqueCount",
"valueType": "int",
"expression": "",
"fieldName": "Session.VisitorId",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "RequestedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "RequestedTime",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
},
{
"fieldName": "Status",
"matchType": "equals",
"value": [
"0"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"conversions": 540,
"convertedVisitors": 93,
"convertedChattedVisitors": 14,
"value": 420.0,
"chats": 333,
"chattedVisitors": 76,
"convRateOfChattedVisitors": 18.42
},
"series": [
{
"time": "2021-02-01",
"conversions": 21.0,
"convertedVisitors": 2.0,
"convertedChattedVisitors": 1.0,
"convRateOfChattedVisitors": 50.0,
"value": 0.0,
"chats": 2.0,
"chattedVisitors": 2.0
},
//...
]
}
Manual Invitation
Shows the number of invitations sent manually by agents as well as the acceptance rate.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "ManualInvitationLog",
"fields": [
{
"name": "sent",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Status",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status0",
"fieldName": "Status",
"operate": "equals",
"values": [
"0"
]
}
]
},
{
"name": "accepted",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Status",
"conditionMatchType": "all",
"conditions": [
{
"name": "Status1",
"fieldName": "Status",
"operate": "equals",
"values": [
"1"
]
}
]
},
{
"name": "acceptanceRate",
"calculationType": "expression",
"valueType": "percent",
"expression": "accepted/sent",
"fieldName": "",
"conditions": []
},
{
"name": "sumInvitation",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Status",
"conditions": []
},
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "SentTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "SentTime",
"matchType": "between",
"value": [
"2021/02/01",
"2021/03/01"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"sent": 16,
"accepted": 9,
"sumInvitation": 25,
"acceptanceRate": 56.25
},
"series": [
{
"time": "2021-02-01",
"sent": 0,
"accepted": 0,
"acceptanceRate": 0.0,
"sumInvitation": 0
},
//...
]
}
Auto Invitation
Shows the number of invitations triggered by predefined rules as well as the acceptance rate.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "AutoInvitationStatistics",
"fields": [
{
"name": "sent",
"calculationType": "sum",
"valueType": "int",
"expression": "",
"fieldName": "SentNum",
"conditions": []
},
{
"name": "accepted",
"calculationType": "sum",
"valueType": "int",
"expression": "",
"fieldName": "AcceptNum",
"conditions": []
},
{
"name": "acceptanceRate",
"calculationType": "expression",
"valueType": "percent",
"expression": "accepted/sent",
"fieldName": "",
"conditions": []
},
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "LogTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "LogTime",
"matchType": "between",
"value": [
"2021/03/01",
"2021/03/31"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"sent": 5,
"accepted": 2,
"acceptanceRate": 40.0
},
"series": [
{
"time": "2021-03-01",
"sent": 0,
"accepted": 0,
"acceptanceRate": 0.0
},
//...
]
}
Offline Message
Provides details on the number of offline messages left by the visitos as well as their source.
Sample Request:
curl https://api11.comm100.io/v4/reportingquery/reports/query \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{
"cubeEntities": [
{
"name": "OfflineMessage",
"fields": [
{
"name": "time",
"calculationType": "originalValue",
"valueType": "string",
"expression": "",
"fieldName": "",
"conditions": []
},
{
"name": "fromOfflineButton",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Source",
"conditionMatchType": "all",
"conditions": [
{
"name": "SourceOffline",
"fieldName": "Source",
"operate": "equals",
"values": [
"0",
"1",
"2"
]
}
]
},
{
"name": "messages",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Id",
"conditions": []
},
{
"name": "fromChatQueue",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Source",
"conditionMatchType": "all",
"conditions": [
{
"name": "SourceQueue",
"fieldName": "Source",
"operate": "equals",
"values": [
"3"
]
}
]
},
{
"name": "fromBot",
"calculationType": "count",
"valueType": "int",
"expression": "",
"fieldName": "Source",
"conditionMatchType": "all",
"conditions": [
{
"name": "SourceBot",
"fieldName": "Source",
"operate": "equals",
"values": [
"4"
]
}
]
}
],
"rowGroups": [
{
"name": "time",
"fieldName": "CreatedTime",
"isFull": true,
"timeDisplayType": "day"
}
],
"filters": [
{
"fieldName": "CreatedTime",
"matchType": "between",
"value": [
"2021/03/01",
"2021/03/31"
]
}
]
}
],
"mergeType": "column",
"timezone": "Pacific Standard Time"
}'
Response:
HTTP/1.1 200 OK
{
"total": {
"fromOfflineButton": 4,
"messages": 4,
"fromChatQueue": 0,
"fromBot": 0
},
"series": [
{
"time": "2021-03-01",
"fromOfflineButton": 0,
"messages": 0,
"fromChatQueue": 0,
"fromBot": 0
},
//...
]
}