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.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using ClubReady.Web.Api.Members.Model;
using ClubReady.Core.Api.Models;
using ClubReady.Core.Api;
using ClubReady.Web.Api;
using ClubReady.Identity;

namespace ClubReady.Core.Api
{
    public partial class ApiDtoBase
        : IApiDtoBase
    {
        public virtual string ApiKey { get; set; }
        public virtual int? StoreId { get; set; }
        public virtual int? ChainId { get; set; }
    }

}

namespace ClubReady.Core.Api.Models
{
    public partial class ApiResponseBase
    {
        public virtual bool Success { get; set; }
        public virtual string Message { get; set; }
    }

    public partial class UserFindByLoginRequestDto
        : ApiDtoBase
    {
        public virtual int UserId { get; set; }
        public virtual string UserName { get; set; }
        public virtual string Password { get; set; }
    }

    public partial class UserFindByLoginResponseDto
        : ApiResponseBase
    {
        public virtual int? HomeStoreId { get; set; }
        public virtual int UserId { get; set; }
    }

}

namespace ClubReady.Identity
{
    public 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,
    }

}

namespace ClubReady.Web.Api
{
    public enum RestrictedResourceType
    {
        Store,
        Chain,
        User,
        Undefined,
    }

}

namespace ClubReady.Web.Api.Members.Model
{
    [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)]
    public partial class UserFindByLoginRequest
        : UserFindByLoginRequestDto, IRestrictedApiRequest
    {
        ///<summary>
        ///IP address of the end user
        ///</summary>
        [ApiMember(Description="IP address of the end user", Name="X-Forwarded-For", ParameterType="header")]
        public virtual string XForwardedFor { get; set; }

        ///<summary>
        ///Api Key - grants access to resources
        ///</summary>
        [ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query")]
        public virtual string ApiKey { get; set; }

        ///<summary>
        ///ClubReady Club ID (StoreID internally)
        ///</summary>
        [ApiMember(DataType="integer", Description="ClubReady Club ID (StoreID internally)", Name="StoreId", ParameterType="query")]
        public virtual int? StoreId { get; set; }

        ///<summary>
        ///StoreId OR ChainId is required
        ///</summary>
        [ApiMember(DataType="integer", Description="StoreId OR ChainId is required", Name="ChainId", ParameterType="query")]
        public virtual int? ChainId { get; set; }

        ///<summary>
        ///ClubReady username
        ///</summary>
        [ApiMember(DataType="string", Description="ClubReady username", IsRequired=true, Name="UserName", ParameterType="query")]
        public virtual string UserName { get; set; }

        ///<summary>
        ///ClubReady password
        ///</summary>
        [ApiMember(DataType="string", Description="ClubReady password", IsRequired=true, Name="Password", ParameterType="query")]
        public virtual string Password { get; set; }

        public virtual int? RestrictedId { get; set; }
        public virtual RestrictedResourceType RestrictedResourceType { get; set; }
    }

    public partial class UserFindByLoginResponse
        : UserFindByLoginResponseDto
    {
        public virtual AuthenticationResult AuthenticationResult { get; set; }
        public virtual int? HomeStoreId { get; set; }
        public virtual int UserId { get; set; }
    }

}

C# 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
}