efun.id.api

<back to all web services

UserLoginRequest

The following routes are available for this service:
POST/api/v1/users/login

// @DataContract
export class UserLoginRequest
{
    // @DataMember(Name="username", IsRequired=true)
    public username: string;

    // @DataMember(Name="password", IsRequired=true)
    public password: string;

    // @DataMember(Name="captcha", IsRequired=true)
    public captcha: string;

    // @DataMember(Name="session", IsRequired=true)
    public session: string;

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

export class BannerListResponse
{
    public id: number;
    public title: string;
    public image: string;
    public url: string;
    public publish: boolean;
    public publishDate: string;
    public orderIndex: number;

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

export class BaseResponse<any[]> implements IResponseRequest
{
    public code: number;
    public message?: string;
    public data?: BannerListResponse[];

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

TypeScript UserLoginRequest 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.

POST /api/v1/users/login HTTP/1.1 
Host: efun-id-api-sandbox.efun.vn 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	username: String,
	password: String,
	captcha: String,
	session: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	code: 0,
	message: String,
	data: 
	{
		access_token: String,
		token_type: String,
		expires_in: 0,
		user_id: 0,
		username: String,
		is_play_now: 0,
		phone_verified: False,
		settings: 
		{
			String: False
		},
		returnUrl: String,
		phone: String
	}
}