| POST | /user/login |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using WebService.ServiceModel;
using WebService.ServiceModel.Base;
using CommonService.Api.Models.Base;
using BusinessLogic.Entities;
namespace BusinessLogic.Entities
{
public partial class SystemUserPermission
{
public virtual bool Meeting { get; set; }
public virtual bool Journey { get; set; }
public virtual bool Attendance { get; set; }
public virtual bool NotificationCenter { get; set; }
public virtual bool InternalRating { get; set; }
public virtual bool Debrief { get; set; }
public virtual bool ThunderBoltActions { get; set; }
public virtual bool OnTheMove { get; set; }
}
}
namespace CommonService.Api.Models.Base
{
public partial class ApiServiceResponse
: IServiceResponse
{
public virtual string Description { get; set; }
public virtual string Heading { get; set; }
public virtual bool WasSuccessful { get; set; }
public virtual Object ModelState { get; set; }
}
}
namespace WebService.ServiceModel
{
public partial class AppSettings
{
public virtual bool AllowAbstainRatings { get; set; }
public virtual bool ShowMoodIndicatorOnApp { get; set; }
public virtual bool TakePhotoForAnalysis { get; set; }
}
public partial class UserLogin
: ApiServiceRequest
{
public virtual string Username { get; set; }
public virtual string Password { get; set; }
public virtual int UtcOffset { get; set; }
}
public partial class UserLoginResponse
: ApiServiceResponse
{
public UserLoginResponse()
{
FeelingStatusMappings = new string[]{};
}
public virtual bool AllowAttendanceOnLaptop { get; set; }
public virtual string ProfileImageUrl { get; set; }
public virtual string FriendlyName { get; set; }
public virtual int SystemUserId { get; set; }
public virtual string Username { get; set; }
public virtual SystemUserPermission Permissions { get; set; }
public virtual AppSettings Settings { get; set; }
public virtual double StartLatitude { get; set; }
public virtual double StartLongitude { get; set; }
public virtual bool HasStartLocation { get; set; }
public virtual double EndLatitude { get; set; }
public virtual double EndLongitude { get; set; }
public virtual bool HasEndLocation { get; set; }
public virtual bool IsSalesPerson { get; set; }
public virtual string[] FeelingStatusMappings { get; set; }
public virtual bool HasAiPermissions { get; set; }
public virtual string RefreshToken { get; set; }
public virtual bool IsManagerOrPromotedTo { get; set; }
public virtual bool IsTemplateApprover { get; set; }
public virtual int OutstandingApprovals { get; set; }
}
}
namespace WebService.ServiceModel.Base
{
public partial class ApiServiceRequest
: IServiceRequest, IHasApiKey, IHasDeviceInfo
{
///<summary>
///The API Key required for authentication
///</summary>
[ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)]
public virtual string ApiKey { get; set; }
///<summary>
///Latitude of the user making this request
///</summary>
[ApiMember(DataType="double", Description="Latitude of the user making this request")]
public virtual double Latitude { get; set; }
///<summary>
///Longitude of the user making this request
///</summary>
[ApiMember(DataType="double", Description="Longitude of the user making this request")]
public virtual double Longitude { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /user/login HTTP/1.1
Host: cochraneplus-api-dev.happen.zone
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<UserLogin 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>
<Password>String</Password>
<Username>String</Username>
<UtcOffset>0</UtcOffset>
</UserLogin>
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>