ClubReady Api

<back to all web services

UserFindByLoginRequest

The following routes are available for this service:
GET/users/find/login-detailsVerify a user's login details.

export class ApiDtoBase implements IApiDtoBase
{
    public ApiKey?: string;
    public StoreId?: number;
    public ChainId?: number;

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

export class UserFindByLoginRequestDto extends ApiDtoBase
{
    public UserId: number;
    public UserName: string;
    public Password: string;

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

export enum RestrictedResourceType
{
    Store = 'Store',
    Chain = 'Chain',
    User = 'User',
    Undefined = 'Undefined',
}

// @ApiResponse(Description="<p>AuthenticationResponse Values</p>\r\n<table>\r\n<tr><td>Text</td><td>Numerical</td></tr>\r\n<tr><td>An error occurred (-100)</td><td>-100</td></tr>\r\n<tr><td>Account is disabled.</td><td>-11</td></tr>\r\n<tr><td>Account is locked.</td><td>-10</td></tr>\r\n<tr><td>Your password must be of sufficient length and should contain letters, numbers and special characters.</td><td>-3</td></tr>\r\n<tr><td>Invalid confirmation.</td><td>-2</td></tr>\r\n<tr><td>Invalid confirmation.</td><td>-1</td></tr>\r\n<tr><td>An error occurred.</td><td>0</td></tr>\r\n<tr><td>Your password has expired and must be changed.</td><td>1</td></tr>\r\n<tr><td>Your must change your password.</td><td>2</td></tr>\\\r\n<tr><td>Login Successful. Please consider changing your password because it does not meet current complexity requirements</td><td>3</td></tr>\r\n<tr><td>Login successful.</td><td>10</td></tr>\r\n</table>", ResponseType="typeof(ClubReady.Web.Api.Members.Model.UserFindByLoginResponse)", StatusCode=200)
export class UserFindByLoginRequest extends UserFindByLoginRequestDto implements IRestrictedApiRequest
{
    /**
    * IP address of the end user
    */
    // @ApiMember(Description="IP address of the end user", Name="X-Forwarded-For", ParameterType="header")
    public XForwardedFor: string;

    /**
    * Api Key - grants access to resources
    */
    // @ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query")
    public ApiKey: string;

    /**
    * ClubReady Club ID (StoreID internally)
    */
    // @ApiMember(DataType="integer", Description="ClubReady Club ID (StoreID internally)", Name="StoreId", ParameterType="query")
    public StoreId?: number;

    /**
    * StoreId OR ChainId is required
    */
    // @ApiMember(DataType="integer", Description="StoreId OR ChainId is required", Name="ChainId", ParameterType="query")
    public ChainId?: number;

    /**
    * ClubReady username
    */
    // @ApiMember(DataType="string", Description="ClubReady username", IsRequired=true, Name="UserName", ParameterType="query")
    public UserName: string;

    /**
    * ClubReady password
    */
    // @ApiMember(DataType="string", Description="ClubReady password", IsRequired=true, Name="Password", ParameterType="query")
    public Password: string;

    public RestrictedId?: number;
    public RestrictedResourceType: RestrictedResourceType;

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

export class ApiResponseBase
{
    public Success: boolean;
    public Message?: string;

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

export class UserFindByLoginResponseDto extends ApiResponseBase
{
    public HomeStoreId?: number;
    public UserId: number;

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

export enum AuthenticationResult
{
    InvalidPassword = 0,
    SuccessExpired = 11,
    SuccessChangePassword = 12,
    SuccessWeakPassword = 21,
    Success = 31,
    CryptographicError = -100,
    Disabled = -22,
    Locked = -21,
    FailedPasswordHistory = -15,
    FailedWeakPassword = -12,
    InvalidConfirmation = -11,
    Error = -1,
}

export class UserFindByLoginResponse extends UserFindByLoginResponseDto
{
    public AuthenticationResult: AuthenticationResult;
    public HomeStoreId?: number;
    public UserId: number;

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

TypeScript UserFindByLoginRequest 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 /users/find/login-details HTTP/1.1 
Host: www.clubready.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	AuthenticationResult: InvalidPassword,
	HomeStoreId: 0,
	UserId: 0,
	Success: False,
	Message: String
}