My ServiceStack Backend

<back to all web services

SubsRequest

The following routes are available for this service:
GET/subs

export class MSubBenefit
{
    public id: number;
    public name: string;
    public status: boolean;
    public order: number;
    public hasContent: boolean;
    public image: string;
    public rssHash: string;

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

export class MBenefit
{
    public id: number;
    public name: string;
    public status: boolean;
    public order: number;
    public image: string;
    public subBenefits: MSubBenefit[];

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

export class MSubscription
{
    public id: number;
    public name: string;
    public description: string;
    public status: boolean;
    public yearlyPrice: number;
    public price: number;
    public order: number;
    public icon: string;
    public paymentLink: string;
    public yearlyPaymentLink: string;
    public sid: string;
    public yearlySid: string;
    public discount: number;
    public benefits: MBenefit[];

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

export class SubsResponse
{
    public subscriptions: MSubscription[];
    public responseCode: number;
    public responseMessage: string;

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

export class SubsRequest
{
    public lang?: string;

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

TypeScript SubsRequest 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 /subs HTTP/1.1 
Host: portal-api.migrantleap.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	subscriptions: 
	[
		{
			id: 0,
			name: String,
			description: String,
			status: False,
			yearlyPrice: 0,
			price: 0,
			order: 0,
			icon: String,
			paymentLink: String,
			yearlyPaymentLink: String,
			sid: String,
			yearlySid: String,
			discount: 0,
			benefits: 
			[
				{
					id: 0,
					name: String,
					status: False,
					order: 0,
					image: String,
					subBenefits: 
					[
						{
							id: 0,
							name: String,
							status: False,
							order: 0,
							hasContent: False,
							image: String,
							rssHash: String
						}
					]
				}
			]
		}
	],
	responseCode: 0,
	responseMessage: String
}