The Responsive application currently supports the following Reports APIs:
Reports API
Custom Reports List |
||
API URL | /rfpserver/ext/v1/custom-reports/list | |
Description | Get the Ids and other data of custom Reports in the company by applying various filters | |
Type | POST |
Request
CustomReportRequestVO
createdBy |
List of users(email address) Optional List of user names to filter the records by created user |
createdFromDate |
Date Optional To filter records which were created after the given date |
createdToDate |
Date Optional To filter records which were created before the given date |
limit |
Number Optional No of limited records to be displayed in the result. Minimum limit:1, Maximum limit:100. |
Offset |
Number Optional Offset Value from which next set of results is fetched. Minimum offset: 0 |
filterName |
String Optional To filter the records based on the custom report names. |
lastUpdatedFromDate |
Date Optional To filter records which were updated after the given date |
LastUpdatedToDate |
Date Optional To filter records which were updated before the given date |
updatedBy |
List of users(email address) Optional List of user names to filter the records by last updated user |
Response
CustomReportExtResponseList - List<CustomReportExtResponseVO>
totalRecords |
String Id of the custom report |
customReports |
List<CustomReportExtResponseVO> List of custom reports |
CustomReportExtResponseVO
Id |
String Id of the custom report |
name |
String Name of the custom Report |
createdBy |
String Name of the user who created the custom report |
updatedBy |
String Name of the user who last updated the custom report |
description |
String Description of the custom report |
lastUpdatedDate |
Date Date on which the report was last updated |
createdDate |
Date Date on which the report was created |
Example
https://dev1.rfpio.com/rfpserver/ext/v1/custom-reports/list
Request:
{
"createdBy":["faaiza@rfpio.com"],
"createdFromDate": "2021-06-13T09:26:11.468Z",
"createdToDate": "2022-07-13T09:26:11.468Z",
"filterName": "answer",
"lastUpdatedFromDate": "2021-06-13T09:26:11.468Z",
"lastUpdatedToDate": "2022-07-13T09:26:11.468Z",
"limit": 2,
"offset": 0,
"updatedBy": ["faaiza@rfpio.com"]
}
Response:
{
"customReports": [
{
"id": "62abdcf23e494665e35bd484",
"name": "answer report",
"createdBy": "faaiza@rfpio.com",
"updatedBy": "faaiza@rfpio.com",
"description": "overview of metrics on questions for owners and moderators",
"lastUpdatedDate": "2022-06-17 07:16:26 +05:30",
"createdDate": "2022-06-17 07:16:26 +05:30"
},
{
"id": "62abdd2c3e494665e35bd4c2",
"name": "answer library report",
"createdBy": "faaiza@rfpio.com",
"updatedBy": "faaiza@rfpio.com",
"description": "overview of metrics on questions for owners, moderators, content usage tags, collections and custom data.",
"lastUpdatedDate": "2022-06-17 07:17:25 +05:30",
"createdDate": "2022-06-17 07:17:24 +05:30"
}
],
"totalRecords": 2
}
Get Report Details |
||
API URL |
/rfpserver/ext/v1/custom-reports/get-report-result |
|
Description |
Gets the report data. |
|
Type |
POST |
|
Input (path param) |
{ "reportId": "string", "offset": 0, "count": 25,
"filters": [ { "column": "projects.stage", "fieldType": "VARCHAR", "operator": "EQUALS", "value": [ "string" ], "durationValue": "ALL_TIME",
"durationFormat": "MINUTES", "startDate": "01-sep-2020", "endDate": "02-sep-2020" } ] } |
CustomReportExtSearchVO { reportId (string): reportId, offset (integer, optional): Fetch the records starting from the specified value. This is used for pagination. If offset is set to 'x', the result from xth record will be displayed. If not given, offset is set to 0 by default. count (integer, optional): This is used for pagination and it denotes a page limit value. A value that gets the total number of records per request. The maximum value of a page limit is 1000. So per request, at max of 1000 records are displayed. If value is not given in the request, default value of 1000 is set by default. filters (Array[ReportFilterVO], optional): List of Additional filters that can be applied to the given report} ReportFilterVO { column (string): Name of the column to be filtered, fieldType (string): Data type of the column to be filtered, operator (string, optional): Operator of the column to be filtered, value (Array[string], optional): A value for the particular filter, durationValue (string, optional): A value specifying the duration of the date type fields = ["ALL_TIME" or "TODAY_ALONE" or "LAST_DAY" or "LAST_WEEK" or "LAST_MONTH" or "CUSTOM" or "LAST_YEAR"], durationFormat (string, optional): A format for duration in date fields = ["MINUTES" or "HOURS" or "DAYS" or "MONTHS"], startDate (string, optional): A start value for the CUSTOM type date fields, endDate (string, optional): A end value for the CUSTOM type date fields }
|
Output |
JSON object containing the details of the report. "result": [ [ { "key": "projects.name", "value": "Lead Test", "type": "TEXT" }, { "key": "projects.status", "value": "Archived", "type": "ENUM" }, { "key": "projects.stage", "value": "Opportunity", "type": "VARCHAR" }, { "key": "project_questions._id", "value": "--", "type": "VARCHAR" } ], [ { "key": "projects.name", "value": "Dickenson Mobile Generators", "type": "TEXT" }, { "key": "projects.due_date", "value": "2019-07-13 01:00:00", "type": "DATETIME" }, { "key": "project_questions._id", "value": "--", "type": "VARCHAR" } ], [ { "key": "projects.name", "value": "TestEntity", "type": "TEXT" }, { "key": "project_questions._id", "value": "5d3a7bc300cf50361992f21c", "type": "VARCHAR" } ] ] } |
Get Report Metadata |
||
API URL |
/rfpserver/ext/v1/custom-reports/get-report-metadata/{reportId} |
|
Description |
Gets the list of metadata associated with a report. |
|
Type |
GET |
|
Input (path param) |
reportId |
Indicates the Custom Report’s unique ID. It is a mandatory field. |
Output |
JSON object containing the metadata details. [ { "PROJECTS": [ { "Display Name": "section_completed_count", "Report Field": "projects.section_completed_count", "Data Type": "SMALLINT", "MultiValued": false }, { "Display Name": "question_count", "Report Field": "projects.question_count", "Data Type": "SMALLINT", "MultiValued": false }, { { "Display Name": "Project Primary Contact", "Report Field": "projects.owned_by", "Data Type": "VARCHAR", "MultiValued": false }, { "Display Name": "answered_count", "Report Field": "projects.answered_count", "Data Type": "SMALLINT", "MultiValued": false }, { "Display Name": "Checkbox", "Report Field": "projects.checkbox__c", "Data Type": "JSON", "MultiValued": true } ], "USERS": [ { "Display Name": "job_title", "Report Field": "users.job_title", "Data Type": "VARCHAR", "MultiValued": false }, { "Display Name": "addl_roles", "Report Field": "users.addl_roles", "Data Type": "JSON", "MultiValued": true }, { "Display Name": "location", "Report Field": "users.location", "Data Type": "VARCHAR", MultiValued": false } ] } |
Get the User Login Report for the Company |
|
API URL | /rfpserver/ext/v1/reports/user-login-report?limit={limit}&lastActivityId={lastActivityId} |
Description | Get the user login activity report for the company. |
Type | GET |
Query Params:
limit - limit is the no. of records in the response. The minimum value of the limit that can be set is 0, the maximum value of the limit that can be set is 100. If no limit is set or limit is set to be 0, then 25 user login records are returned in the response.
lastActivityId - It fetches the next set of records starting after the specified Id. lastActivityId is Used for pagination. when lastActivityId is not specified then the system gets the records from the beginning.
Example
Request:
https://{environment}/rfpserver/ext/v1/reports/user-login-report?limit=5&lastActivityId=62862c17a1bfa52162daea15
Response:
LoginTrackingVOList
id | String ID of the User |
companyId |
String |
status | String Status of the login mode[success,failure] |
userName |
String |
loggedInType |
String |
loggedInDate |
Date |
failureReason |
String |
Response:
{
"loginTrackingVOList": [
{
"id": "628b241ad0bfe104c68ba0dd",
"companyId": "61934e75b2a7f94734b7b182",
"status": "Success",
"userName": "anjusha@rfpio.com",
"loggedInType": "SwitchCompany",
"loggedInDate": "2022-05-22 23:05:14 -07:00"
},
{
"id": "62862c17a1bfa52162daea16",
"companyId": "61934e75b2a7f94734b7b182",
"status": "Success",
"userName": "mohammedabdul+6@rfpio.com",
"loggedInType": "Basic",
"loggedInDate": "2022-05-19 04:37:59 -07:00"
},
{
"id": "623051eda81e960fbeee9a31",
"companyId": "61934e75b2a7f94734b7b182",
"status": "Failure",
"userName": "supriya+88@rfpio.com",
"loggedInType": "Basic",
"failureReason": "User account locked",
"loggedInDate": "2022-03-15 01:44:29 -07:00"
}
]
}
Get User Report for a Project Using Filters |
|
API URL | /rfpserver/ext/v1/reports/user-report |
Description | Get the user report for a project. |
Type | POST |
Request:
BaseProjectExtVO
fromDate |
Optional |
category | String Optional Project Category |
limit |
String |
Offset | String Optional Offset value from which the next set of results is fetched |
projectStage | String Optional Stage of the project from the list of stages configured in the Organization Settings. Allowed values can be referred from Organization Settings > Project > Stage. |
projectStatus | String Optional ReportProjectStatus. Filters the status of all projects. =["ALL" or "CANCELLED" or "IN_PROGRESS" or "RESPONDED"] |
projectType |
String |
toDate | String Optional Date to which the results are to be filtered |
Users | String Optional List of users (email address) |
Response:
ProjectUserReportExtVO
UserName |
String |
userID |
String |
teamID |
String |
teamName |
String |
projectCount | String Optional Total count of the project |
sectionCount |
String |
questionAuthorReport | String Optional Total count of sections assigned as author |
questionReviewerReport | String Optional Total sections assigned as reviewer |
manualTimerInMs | String Optional Manual timer in milliseconds |
autoTimer |
String |
Example
Request:
https://dev1.rfpio.com/rfpserver/ext/v1/reports/user-report
{
"category": [],
"fromDate": "2022-01-26T08:36:37.747Z",
"limit": 25,
"offset": 0,
"projectStages": ["Opportunity"],
"projectStatus": "ALL",
"projectTypes": ["RFP"],
"toDate": "2022-05-23T08:36:37.748Z",
"users": ["p.s@rfpio.com"]
}
Response:
{
"projectUserReports": [{
"userName": "Help Desk Support",
"userId": "helpdesk@email.com",
"projectCount": 9,
"sectionCount": 6,
"questionAuthorReport": {
"completed": 12,
"total": 26
},
"questionReviewerReport": {
"completed": 0,
"total": 4
},
"manualTimerInMs": 0,
"autoTimerInMs": 122425017
},
{
"teamId": "5f30e7959a619717335f9609",
"teamName": "Support Team",
"projectCount": 2,
"sectionCount": 0,
"questionAuthorReport": {
"completed": 0,
"total": 0
},
"questionReviewerReport": {
"completed": 0,
"total": 0
},
"manualTimerInMs": 0,
"autoTimerInMs": 0
}
],
"totalCount": 2
}
User Report for a User or Team |
|
API URL | /rfpserver/ext/v1/reports/user-report-details{userId} |
Description | Get the user report for a user or a team. |
Type | GET |
Path Params:
userId - emailId of the user or the teamId
Response:
ProjectUserReportExtVO
name |
String |
projectId | String Optional ID of the Project |
dueDate | String Optional Due date of the Project |
status | String Optional Status of the Project[InProgress,completed] |
stage | String Optional Stage of the Project |
sectionCount | String Optional Total count of Sections |
questionAuthorReport | String Optional Total count of Sections assigned as Author |
questionReviewerReport | String Optional Total count of Sections assigned as Reviewer |
manualTimerInMs | String Optional Manual timer in milliseconds |
AutoTimerInMs | String Optional Autotimer in milliseconds |
Example 1
Request:
https://dev1.rfpio.com/rfpserver/ext/v1/reports/user-report-details/p.s@rfpio.com
Response:
{
"projectUserReports": [
{
"name": "project-multi",
"dueDate": "2022-05-22 00:00:00 -07:00",
"status": "In Progress",
"stage": "Draft",
"projectId": "62849637164ccb1ab393d02b",
"sectionCount": 1,
"questionAuthorReport": {
"completed": 0,
"total": 2
},
"questionReviewerReport": {
"completed": 0,
"total": 2
},
"manualTimerInMs": 0,
"autoTimerInMs": 4584015
},
{
"name": "best",
"dueDate": "2022-05-05 00:00:00 -07:00",
"status": "In Progress",
"stage": "Draft",
"projectId": "62736cb245db93696b4f98b1",
"sectionCount": 0,
"questionAuthorReport": {
"completed": 0,
"total": 0
},
"questionReviewerReport": {
"completed": 0,
"total": 0
},
"manualTimerInMs": 0,
"autoTimerInMs": 0
},
{
"name": "Extt-01",
"dueDate": "2022-05-22 00:00:00 -07:00",
"status": "In Progress",
"stage": "Draft",
"projectId": "627357831d81321db351de27",
"sectionCount": 0,
"questionAuthorReport": {
"completed": 0,
"total": 0
},
"questionReviewerReport": {
"completed": 0,
"total": 0
},
"manualTimerInMs": 0,
"autoTimerInMs": 0
},
{
"name": "best-02",
"dueDate": "2022-05-05 00:00:00 -07:00",
"status": "Completed",
"stage": "Draft",
"projectId": "627356ce45db93696b4f81de",
"sectionCount": 0,
"questionAuthorReport": {
"completed": 0,
"total": 0
},
"questionReviewerReport": {
"completed": 0,
"total": 0
},
"manualTimerInMs": 0,
"autoTimerInMs": 0
},
{
"name": "software-02",
"dueDate": "2022-05-05 00:00:00 -07:00",
"status": "Completed",
"stage": "Draft",
"projectId": "626fb1f046b8535585099b93",
"sectionCount": 0,
"questionAuthorReport": {
"completed": 0,
"total": 0
},
"questionReviewerReport": {
"completed": 0,
"total": 0
},
"manualTimerInMs": 0,
"autoTimerInMs": 0
}
],
"totalCount": 5
}
Example 2
Request:
https://dev1.rfpio.com/rfpserver/ext/v1/reports/user-report-details/6194b922b2d8ca2541027006
Response:
{
"projectUserReports": [
{
"name": "Loga opp-1",
"dueDate": "2021-12-02 00:00:00 -08:00",
"status": "In Progress",
"stage": "Won",
"projectId": "619b7eb5ec6da834a8283cd3",
"sectionCount": 0,
"questionAuthorReport": {
"completed": 0,
"total": 0
},
"questionReviewerReport": {
"completed": 0,
"total": 0
},
"manualTimerInMs": 0,
"autoTimerInMs": 0
}
],
"totalCount": 1
}
Note: The API endpoints either start with /rfpserver. The baseUrl for most customers is app.rfpio.com. For more details, please reach out to your CSM or contact accountmanagers@responsive.io. |
For details on other endpoints, click here.