Cochrane+ App API

<back to all web services

GetDebriefReviewRequest

Requires Authentication
The following routes are available for this service:
GET/debriefreview/{Id}
import Foundation
import ServiceStack

public class GetDebriefReviewRequest : ApiServiceRequest
{
    public var id:Int

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case id
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        id = try container.decodeIfPresent(Int.self, forKey: .id)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if id != nil { try container.encode(id, forKey: .id) }
    }
}

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

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

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

    required public init(){}
}

public class GetDebriefReviewResponse : ApiServiceResponse
{
    public var data:DebriefReviewData

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case data
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        data = try container.decodeIfPresent(DebriefReviewData.self, forKey: .data)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if data != nil { try container.encode(data, forKey: .data) }
    }
}

public class ApiServiceResponse : IServiceResponse, Codable
{
    public var Description:String
    public var heading:String
    public var wasSuccessful:Bool
    //modelState:Object ignored. Type could not be extended in Swift

    required public init(){}
}

public class DebriefReviewData : Codable
{
    public var id:Int
    public var name:String
    public var companyName:String
    public var meetingId:Int
    public var linkedToMeeting:String
    public var meetingTime:String
    public var address:String
    public var research:String
    public var nextSteps:String
    public var feedback:String
    public var newOpportunities:String
    public var personnelInfo:String
    public var groupStructure:String
    public var industry:String
    public var meetingLatitude:Double
    public var meetingLongitude:Double
    public var recordingLength:String
    public var recordingTooShort:String
    public var majoritySilent:String
    public var volumeTooLow:String
    public var actionsToTake:String
    public var meetingSummary:String
    public var polarity:String
    public var sentiment:String
    public var notesForManagement:String
    public var notesForSalesPerson:String
    public var overallScore:String
    public var personalAppeal:String
    public var vocabulary:String
    public var equipment:String
    public var structure:String
    public var coherence:String
    public var sectorKnowledge:String
    public var clarityOfTechnicalInput:String
    public var caseStudyRelevance:String
    public var storytelling:String
    public var summation:String
    public var dynamicDiscussion:String
    public var listening:String
    public var newContacts:[NewContactDetail] = []
    public var reportUrl:String
    public var ratingCommentDetails:[DebriefRatingCommentDetail] = []

    required public init(){}
}

public class NewContactDetail : Codable
{
    public var name:String
    public var jobTitle:String
    public var companyName:String
    public var emailAddress:String
    public var contactNumber:String

    required public init(){}
}

public class DebriefRatingCommentDetail : Codable
{
    public var managerId:Int
    public var name:String
    public var title:String
    public var reviewedDate:String
    public var rating:Int
    public var comments:String

    required public init(){}
}


Swift GetDebriefReviewRequest 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 /debriefreview/{Id} HTTP/1.1 
Host: cochraneplus-api-dev.happen.zone 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	data: 
	{
		id: 0,
		name: String,
		companyName: String,
		meetingId: 0,
		linkedToMeeting: String,
		meetingTime: String,
		address: String,
		research: String,
		nextSteps: String,
		feedback: String,
		newOpportunities: String,
		personnelInfo: String,
		groupStructure: String,
		industry: String,
		meetingLatitude: 0,
		meetingLongitude: 0,
		recordingLength: String,
		recordingTooShort: String,
		majoritySilent: String,
		volumeTooLow: String,
		actionsToTake: String,
		meetingSummary: String,
		polarity: String,
		sentiment: String,
		notesForManagement: String,
		notesForSalesPerson: String,
		overallScore: String,
		personalAppeal: String,
		vocabulary: String,
		equipment: String,
		structure: String,
		coherence: String,
		sectorKnowledge: String,
		clarityOfTechnicalInput: String,
		caseStudyRelevance: String,
		storytelling: String,
		summation: String,
		dynamicDiscussion: String,
		listening: String,
		newContacts: 
		[
			{
				
			}
		],
		reportUrl: String,
		ratingCommentDetails: 
		[
			{
				managerId: 0,
				name: String,
				title: String,
				reviewedDate: String,
				rating: 0,
				comments: String
			}
		]
	},
	description: String,
	heading: String,
	wasSuccessful: False,
	modelState: {}
}