| POST | /user/login |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using WebService.AppApi.Models;
using WebService.AppApi.Models.Base;
namespace WebService.AppApi.Models
{
public partial class LoginData
{
public LoginData()
{
Outlets = new List<OutletData>{};
}
public virtual int SystemUserId { get; set; }
public virtual int ClientId { get; set; }
public virtual decimal VatValue { get; set; }
public virtual string RefreshToken { get; set; }
public virtual string FriendlyName { get; set; }
public virtual List<OutletData> Outlets { get; set; }
public virtual int UpliftRequestSyncInterval { get; set; }
public virtual bool EnableReturnOfStock { get; set; }
public virtual bool EnableTimeKeeping { get; set; }
public virtual bool EnableCustomerComplaintForm { get; set; }
public virtual string ClientLogoUrl { get; set; }
public virtual string ClientColor { get; set; }
public virtual string ClientName { get; set; }
}
public partial class OutletData
{
public OutletData()
{
AssignedPrincipalIds = new List<int>{};
AssignedRegions = new List<OutletRegionData>{};
}
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual string LastRequestedDate { get; set; }
public virtual bool HasGeneralUpliftRequest { get; set; }
public virtual int UpliftRequestCount { get; set; }
public virtual List<int> AssignedPrincipalIds { get; set; }
public virtual List<OutletRegionData> AssignedRegions { get; set; }
public virtual string Channel { get; set; }
public virtual string NextScheduledDate { get; set; }
}
public partial class OutletRegionData
{
public virtual int PrincipalId { get; set; }
public virtual string Region { get; set; }
}
public partial class UserLogin
: ApiServiceRequest
{
public virtual string EmailAddress { get; set; }
public virtual string Password { get; set; }
public virtual int UtcOffset { get; set; }
///<summary>
///The user's push token - used for push messages.
///</summary>
[ApiMember(Description="The user's push token - used for push messages.")]
public virtual string PushPlayerId { get; set; }
///<summary>
///Refresh token used to auto login the user.
///</summary>
[ApiMember(Description="Refresh token used to auto login the user.")]
public virtual string RefreshToken { get; set; }
}
public partial class UserLoginResponse
: ApiServiceResponse
{
public virtual LoginData Data { get; set; }
}
}
namespace WebService.AppApi.Models.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; }
}
public partial class ApiServiceResponse
: IServiceResponse
{
///<summary>
///Information about the response.
///</summary>
[ApiMember(Description="Information about the response.", IsRequired=true)]
public virtual string Description { get; set; }
///<summary>
///Heading or summary of the response.
///</summary>
[ApiMember(Description="Heading or summary of the response.", IsRequired=true)]
public virtual string Heading { get; set; }
///<summary>
///Did the intended operation for this response complete successfully?
///</summary>
[ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)]
public virtual bool WasSuccessful { get; set; }
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
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: returnit-api-dev.happen.zone
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
EmailAddress: String,
Password: String,
UtcOffset: 0,
PushPlayerId: String,
RefreshToken: String,
ApiKey: String,
Latitude: 0,
Longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Data:
{
SystemUserId: 0,
ClientId: 0,
VatValue: 0,
RefreshToken: String,
FriendlyName: String,
Outlets:
[
{
}
],
UpliftRequestSyncInterval: 0,
EnableReturnOfStock: False,
EnableTimeKeeping: False,
EnableCustomerComplaintForm: False,
ClientLogoUrl: String,
ClientColor: String,
ClientName: String
},
Description: String,
Heading: String,
WasSuccessful: False,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}