Cochrane+ App API

<back to all web services

GetDashboardInfo

Requires Authentication
The following routes are available for this service:
GET/dashboard/info
"use strict";
export class ApiServiceRequest {
    /** @param {{apiKey?:string,latitude?:number,longitude?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The API Key required for authentication */
    apiKey;
    /**
     * @type {number}
     * @description Latitude of the user making this request */
    latitude;
    /**
     * @type {number}
     * @description Longitude of the user making this request */
    longitude;
}
export class ApiServiceResponse {
    /** @param {{description?:string,heading?:string,wasSuccessful?:boolean,modelState?:Object}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    description;
    /** @type {string} */
    heading;
    /** @type {boolean} */
    wasSuccessful;
    /** @type {Object} */
    modelState;
}
export class MeetingData {
    /** @param {{meetingId?:number,startTime?:string,arrivalTime?:string,leftTime?:string,duration?:string,showTimeFields?:boolean,arrivalStatus?:string,email?:string,hasEmail?:boolean,contactName?:string,latitude?:number,longitude?:number,location?:string,address?:string,subject?:string,description?:string,endTime?:string,company?:string,contactNumber?:string,hasContactNumber?:boolean,hasLocation?:boolean,setBy?:string,virtualOrInPerson?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    meetingId;
    /** @type {string} */
    startTime;
    /** @type {string} */
    arrivalTime;
    /** @type {string} */
    leftTime;
    /** @type {string} */
    duration;
    /** @type {boolean} */
    showTimeFields;
    /** @type {string} */
    arrivalStatus;
    /** @type {string} */
    email;
    /** @type {boolean} */
    hasEmail;
    /** @type {string} */
    contactName;
    /** @type {number} */
    latitude;
    /** @type {number} */
    longitude;
    /** @type {string} */
    location;
    /** @type {string} */
    address;
    /** @type {string} */
    subject;
    /** @type {string} */
    description;
    /** @type {string} */
    endTime;
    /** @type {string} */
    company;
    /** @type {string} */
    contactNumber;
    /** @type {boolean} */
    hasContactNumber;
    /** @type {boolean} */
    hasLocation;
    /** @type {string} */
    setBy;
    /** @type {string} */
    virtualOrInPerson;
}
/** @typedef {number} */
export var AttendanceEventType;
(function (AttendanceEventType) {
    AttendanceEventType[AttendanceEventType["ClockOut"] = 0] = "ClockOut"
    AttendanceEventType[AttendanceEventType["ClockIn"] = 1] = "ClockIn"
    AttendanceEventType[AttendanceEventType["StartLunch"] = 2] = "StartLunch"
    AttendanceEventType[AttendanceEventType["EndLunch"] = 3] = "EndLunch"
    AttendanceEventType[AttendanceEventType["StartBreak"] = 4] = "StartBreak"
    AttendanceEventType[AttendanceEventType["EndBreak"] = 5] = "EndBreak"
})(AttendanceEventType || (AttendanceEventType = {}));
export class GetDashboardInfoResponse extends ApiServiceResponse {
    /** @param {{unreadNotificationCount?:number,nextMeetingDate?:string,totalMeetingsToday?:number,outstandingRatingsCount?:number,usersAverageRating?:number,hasSharedRatings?:boolean,isSalesPerson?:boolean,usersRatingTotalVotes?:number,usersRatingPosition?:number,teamIds?:number[],nextMeeting?:MeetingData,attendanceEventType?:AttendanceEventType,outstandingDebriefsToReviewCount?:number,outstandingTemplateApprovalsCount?:number,description?:string,heading?:string,wasSuccessful?:boolean,modelState?:Object}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {number} */
    unreadNotificationCount;
    /** @type {string} */
    nextMeetingDate;
    /** @type {number} */
    totalMeetingsToday;
    /** @type {number} */
    outstandingRatingsCount;
    /** @type {number} */
    usersAverageRating;
    /** @type {boolean} */
    hasSharedRatings;
    /** @type {boolean} */
    isSalesPerson;
    /** @type {number} */
    usersRatingTotalVotes;
    /** @type {number} */
    usersRatingPosition;
    /** @type {number[]} */
    teamIds;
    /** @type {MeetingData} */
    nextMeeting;
    /** @type {AttendanceEventType} */
    attendanceEventType;
    /** @type {number} */
    outstandingDebriefsToReviewCount;
    /** @type {number} */
    outstandingTemplateApprovalsCount;
}
export class GetDashboardInfo extends ApiServiceRequest {
    /** @param {{apiKey?:string,latitude?:number,longitude?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
}

JavaScript GetDashboardInfo DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /dashboard/info HTTP/1.1 
Host: cochraneplus-api-dev.happen.zone 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	unreadNotificationCount: 0,
	nextMeetingDate: String,
	totalMeetingsToday: 0,
	outstandingRatingsCount: 0,
	usersAverageRating: 0,
	hasSharedRatings: False,
	isSalesPerson: False,
	usersRatingTotalVotes: 0,
	usersRatingPosition: 0,
	teamIds: 
	[
		0
	],
	nextMeeting: 
	{
		meetingId: 0,
		startTime: String,
		arrivalTime: String,
		leftTime: String,
		duration: String,
		showTimeFields: False,
		arrivalStatus: String,
		email: String,
		hasEmail: True,
		contactName: String,
		latitude: 0,
		longitude: 0,
		location: String,
		address: String,
		subject: String,
		description: String,
		endTime: String,
		company: String,
		contactNumber: String,
		hasContactNumber: True,
		hasLocation: False,
		setBy: String,
		virtualOrInPerson: String
	},
	attendanceEventType: 0,
	outstandingDebriefsToReviewCount: 0,
	outstandingTemplateApprovalsCount: 0,
	description: String,
	heading: String,
	wasSuccessful: False,
	modelState: {}
}