Cochrane+ App API

<back to all web services

UpdateDebrief

Requires Authentication
The following routes are available for this service:
POST/debrief/update

export class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo
{
    /** @description The API Key required for authentication */
    // @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
    public apiKey: string;

    /** @description Latitude of the user making this request */
    // @ApiMember(DataType="double", Description="Latitude of the user making this request")
    public latitude: number;

    /** @description Longitude of the user making this request */
    // @ApiMember(DataType="double", Description="Longitude of the user making this request")
    public longitude: number;

    public constructor(init?: Partial<ApiServiceRequest>) { (Object as any).assign(this, init); }
}

export class ApiServiceResponse implements IServiceResponse
{
    public description: string;
    public heading: string;
    public wasSuccessful: boolean;
    public modelState: Object;

    public constructor(init?: Partial<ApiServiceResponse>) { (Object as any).assign(this, init); }
}

export class MeetingData
{
    public meetingId: number;
    public startTime: string;
    public arrivalTime: string;
    public leftTime: string;
    public duration: string;
    public showTimeFields: boolean;
    public arrivalStatus: string;
    public email: string;
    public hasEmail: boolean;
    public contactName: string;
    public latitude: number;
    public longitude: number;
    public location: string;
    public address: string;
    public subject: string;
    public description: string;
    public endTime: string;
    public company: string;
    public contactNumber: string;
    public hasContactNumber: boolean;
    public hasLocation: boolean;
    public setBy: string;
    public virtualOrInPerson: string;

    public constructor(init?: Partial<MeetingData>) { (Object as any).assign(this, init); }
}

export class NewContactData
{
    public name: string;
    public jobTitle: string;
    public companyName: string;
    public emailAddress: string;
    public contactNumber: string;

    public constructor(init?: Partial<NewContactData>) { (Object as any).assign(this, init); }
}

export class DebriefRatingCommentDetail
{
    public managerId: number;
    public name: string;
    public title: string;
    public reviewedDate: string;
    public rating: number;
    public comments: string;

    public constructor(init?: Partial<DebriefRatingCommentDetail>) { (Object as any).assign(this, init); }
}

export class DebriefData
{
    public hasAiPermissions: boolean;
    public id: number;
    public meeting: MeetingData;
    public dateCreated: string;
    public lastUpdated: string;
    public completed: boolean;
    public hasAudio: boolean;
    public companyName: string;
    public meetingTime: string;
    public address: string;
    public feedback: string;
    public research: string;
    public nextSteps: string;
    public opportunities: string;
    public personnel: string;
    public group: string;
    public industry: string;
    public newContacts: NewContactData[];
    public ratingCommentDetails: DebriefRatingCommentDetail[];
    public hasComments: boolean;

    public constructor(init?: Partial<DebriefData>) { (Object as any).assign(this, init); }
}

export class UpdateDebriefResponse extends ApiServiceResponse
{
    public debrief: DebriefData;

    public constructor(init?: Partial<UpdateDebriefResponse>) { super(init); (Object as any).assign(this, init); }
}

export class UpdateDebrief extends ApiServiceRequest
{
    public debriefId: number;
    public submissionComplete: boolean;
    public meetingId: number;
    public companyName: string;
    public meetingTime: string;
    public address: string;
    public feedback: string;
    public research: string;
    public nextSteps: string;
    public opportunities: string;
    public personnel: string;
    public group: string;
    public industry: string;
    public newContacts: NewContactData[];

    public constructor(init?: Partial<UpdateDebrief>) { super(init); (Object as any).assign(this, init); }
}

TypeScript UpdateDebrief 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.

POST /debrief/update HTTP/1.1 
Host: cochraneplus-api-dev.happen.zone 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	debriefId: 0,
	submissionComplete: False,
	meetingId: 0,
	companyName: String,
	meetingTime: String,
	address: String,
	feedback: String,
	research: String,
	nextSteps: String,
	opportunities: String,
	personnel: String,
	group: String,
	industry: String,
	newContacts: 
	[
		{
			name: String,
			jobTitle: String,
			companyName: String,
			emailAddress: String,
			contactNumber: String
		}
	],
	apiKey: String,
	latitude: 0,
	longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	description: String,
	heading: String,
	wasSuccessful: False,
	modelState: {}
}