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

Namespace Global

    Namespace ClubReady.Core.Api

        Public Partial Class ApiDtoBase
            Implements IApiDtoBase
            Public Overridable Property ApiKey As String
            Public Overridable Property StoreId As Nullable(Of Integer)
            Public Overridable Property ChainId As Nullable(Of Integer)
        End Class
    End Namespace

    Namespace ClubReady.Core.Api.Models

        Public Partial Class ApiResponseBase
            Public Overridable Property Success As Boolean
            Public Overridable Property Message As String
        End Class

        Public Partial Class UserFindByLoginRequestDto
            Inherits ApiDtoBase
            Public Overridable Property UserId As Integer
            Public Overridable Property UserName As String
            Public Overridable Property Password As String
        End Class

        Public Partial Class UserFindByLoginResponseDto
            Inherits ApiResponseBase
            Public Overridable Property HomeStoreId As Nullable(Of Integer)
            Public Overridable Property UserId As Integer
        End Class
    End Namespace

    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
        End Enum
    End Namespace

    Namespace ClubReady.Web.Api

        Public Enum RestrictedResourceType
            Store
            Chain
            User
            Undefined
        End Enum
    End Namespace

    Namespace ClubReady.Web.Api.Members.Model

        <ApiResponse(Description:="<p>AuthenticationResponse Values</p>
<table>
<tr><td>Text</td><td>Numerical</td></tr>
<tr><td>An error occurred (-100)</td><td>-100</td></tr>
<tr><td>Account is disabled.</td><td>-11</td></tr>
<tr><td>Account is locked.</td><td>-10</td></tr>
<tr><td>Your password must be of sufficient length and should contain letters, numbers and special characters.</td><td>-3</td></tr>
<tr><td>Invalid confirmation.</td><td>-2</td></tr>
<tr><td>Invalid confirmation.</td><td>-1</td></tr>
<tr><td>An error occurred.</td><td>0</td></tr>
<tr><td>Your password has expired and must be changed.</td><td>1</td></tr>
<tr><td>Your must change your password.</td><td>2</td></tr>\
<tr><td>Login Successful. Please consider changing your password because it does not meet current complexity requirements</td><td>3</td></tr>
<tr><td>Login successful.</td><td>10</td></tr>
</table>", ResponseType:=GetType(UserFindByLoginResponse), StatusCode:=200)>
        Public Partial Class UserFindByLoginRequest
            Inherits UserFindByLoginRequestDto
            Implements IRestrictedApiRequest
            '''<Summary>
            '''IP address of the end user
            '''</Summary>
            <ApiMember(Description:="IP address of the end user", Name:="X-Forwarded-For", ParameterType:="header")>
            Public Overridable Property XForwardedFor As String

            '''<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 Overridable Property ApiKey As String

            '''<Summary>
            '''ClubReady Club ID (StoreID internally)
            '''</Summary>
            <ApiMember(DataType:="integer", Description:="ClubReady Club ID (StoreID internally)", Name:="StoreId", ParameterType:="query")>
            Public Overridable Property StoreId As Nullable(Of Integer)

            '''<Summary>
            '''StoreId OR ChainId is required
            '''</Summary>
            <ApiMember(DataType:="integer", Description:="StoreId OR ChainId is required", Name:="ChainId", ParameterType:="query")>
            Public Overridable Property ChainId As Nullable(Of Integer)

            '''<Summary>
            '''ClubReady username
            '''</Summary>
            <ApiMember(DataType:="string", Description:="ClubReady username", IsRequired:=true, Name:="UserName", ParameterType:="query")>
            Public Overridable Property UserName As String

            '''<Summary>
            '''ClubReady password
            '''</Summary>
            <ApiMember(DataType:="string", Description:="ClubReady password", IsRequired:=true, Name:="Password", ParameterType:="query")>
            Public Overridable Property Password As String

            Public Overridable Property RestrictedId As Nullable(Of Integer)
            Public Overridable Property RestrictedResourceType As RestrictedResourceType
        End Class

        Public Partial Class UserFindByLoginResponse
            Inherits UserFindByLoginResponseDto
            Public Overridable Property AuthenticationResult As AuthenticationResult
            Public Overridable Property HomeStoreId As Nullable(Of Integer)
            Public Overridable Property UserId As Integer
        End Class
    End Namespace
End Namespace

VB.NET 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
}