Cochrane+ App API

<back to all web services

AutoLogin

The following routes are available for this service:
POST/user/autologin
"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 SystemUserPermission {
    /** @param {{meeting?:boolean,journey?:boolean,attendance?:boolean,notificationCenter?:boolean,internalRating?:boolean,debrief?:boolean,thunderBoltActions?:boolean,onTheMove?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    meeting;
    /** @type {boolean} */
    journey;
    /** @type {boolean} */
    attendance;
    /** @type {boolean} */
    notificationCenter;
    /** @type {boolean} */
    internalRating;
    /** @type {boolean} */
    debrief;
    /** @type {boolean} */
    thunderBoltActions;
    /** @type {boolean} */
    onTheMove;
}
export class AppSettings {
    /** @param {{allowAbstainRatings?:boolean,showMoodIndicatorOnApp?:boolean,takePhotoForAnalysis?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    allowAbstainRatings;
    /** @type {boolean} */
    showMoodIndicatorOnApp;
    /** @type {boolean} */
    takePhotoForAnalysis;
}
export class UserLoginResponse extends ApiServiceResponse {
    /** @param {{allowAttendanceOnLaptop?:boolean,profileImageUrl?:string,friendlyName?:string,systemUserId?:number,username?:string,permissions?:SystemUserPermission,settings?:AppSettings,startLatitude?:number,startLongitude?:number,hasStartLocation?:boolean,endLatitude?:number,endLongitude?:number,hasEndLocation?:boolean,isSalesPerson?:boolean,feelingStatusMappings?:string[],hasAiPermissions?:boolean,refreshToken?:string,isManagerOrPromotedTo?:boolean,isTemplateApprover?:boolean,outstandingApprovals?:number,description?:string,heading?:string,wasSuccessful?:boolean,modelState?:Object}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {boolean} */
    allowAttendanceOnLaptop;
    /** @type {string} */
    profileImageUrl;
    /** @type {string} */
    friendlyName;
    /** @type {number} */
    systemUserId;
    /** @type {string} */
    username;
    /** @type {SystemUserPermission} */
    permissions;
    /** @type {AppSettings} */
    settings;
    /** @type {number} */
    startLatitude;
    /** @type {number} */
    startLongitude;
    /** @type {boolean} */
    hasStartLocation;
    /** @type {number} */
    endLatitude;
    /** @type {number} */
    endLongitude;
    /** @type {boolean} */
    hasEndLocation;
    /** @type {boolean} */
    isSalesPerson;
    /** @type {string[]} */
    feelingStatusMappings;
    /** @type {boolean} */
    hasAiPermissions;
    /** @type {string} */
    refreshToken;
    /** @type {boolean} */
    isManagerOrPromotedTo;
    /** @type {boolean} */
    isTemplateApprover;
    /** @type {number} */
    outstandingApprovals;
}
export class AutoLogin extends ApiServiceRequest {
    /** @param {{utcOffset?:number,systemUserId?:number,refreshToken?:string,apiKey?:string,latitude?:number,longitude?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {number} */
    utcOffset;
    /** @type {number} */
    systemUserId;
    /** @type {string} */
    refreshToken;
}

JavaScript AutoLogin DTOs

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

HTTP + XML

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

POST /user/autologin HTTP/1.1 
Host: cochraneplus-api-dev.happen.zone 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<AutoLogin xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel">
  <ApiKey xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">String</ApiKey>
  <Latitude xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">0</Latitude>
  <Longitude xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">0</Longitude>
  <RefreshToken>String</RefreshToken>
  <SystemUserId>0</SystemUserId>
  <UtcOffset>0</UtcOffset>
</AutoLogin>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<UserLoginResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel">
  <Description xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">String</Description>
  <Heading xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">String</Heading>
  <ModelState xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base" />
  <WasSuccessful xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">false</WasSuccessful>
  <AllowAttendanceOnLaptop>false</AllowAttendanceOnLaptop>
  <EndLatitude>0</EndLatitude>
  <EndLongitude>0</EndLongitude>
  <FeelingStatusMappings xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </FeelingStatusMappings>
  <FriendlyName>String</FriendlyName>
  <HasAiPermissions>false</HasAiPermissions>
  <IsManagerOrPromotedTo>false</IsManagerOrPromotedTo>
  <IsSalesPerson>false</IsSalesPerson>
  <IsTemplateApprover>false</IsTemplateApprover>
  <OutstandingApprovals>0</OutstandingApprovals>
  <Permissions xmlns:d2p1="http://schemas.datacontract.org/2004/07/BusinessLogic.Entities">
    <d2p1:Attendance>false</d2p1:Attendance>
    <d2p1:Debrief>false</d2p1:Debrief>
    <d2p1:InternalRating>false</d2p1:InternalRating>
    <d2p1:Journey>false</d2p1:Journey>
    <d2p1:Meeting>false</d2p1:Meeting>
    <d2p1:NotificationCenter>false</d2p1:NotificationCenter>
    <d2p1:OnTheMove>false</d2p1:OnTheMove>
    <d2p1:ThunderBoltActions>false</d2p1:ThunderBoltActions>
  </Permissions>
  <ProfileImageUrl>String</ProfileImageUrl>
  <RefreshToken>String</RefreshToken>
  <Settings>
    <AllowAbstainRatings>false</AllowAbstainRatings>
    <ShowMoodIndicatorOnApp>false</ShowMoodIndicatorOnApp>
    <TakePhotoForAnalysis>false</TakePhotoForAnalysis>
  </Settings>
  <StartLatitude>0</StartLatitude>
  <StartLongitude>0</StartLongitude>
  <SystemUserId>0</SystemUserId>
  <Username>String</Username>
</UserLoginResponse>