GET | /subs |
---|
namespace MigrantLeap.PortalBackend.Models
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type MSubBenefit() =
member val Id:Int64 = new Int64() with get,set
member val Name:String = null with get,set
member val Status:Boolean = new Boolean() with get,set
member val Order:Int32 = new Int32() with get,set
member val HasContent:Boolean = new Boolean() with get,set
member val Image:String = null with get,set
member val RSSHash:String = null with get,set
[<AllowNullLiteral>]
type MBenefit() =
member val Id:Int64 = new Int64() with get,set
member val Name:String = null with get,set
member val Status:Boolean = new Boolean() with get,set
member val Order:Int32 = new Int32() with get,set
member val Image:String = null with get,set
member val SubBenefits:ResizeArray<MSubBenefit> = new ResizeArray<MSubBenefit>() with get,set
[<AllowNullLiteral>]
type MSubscription() =
member val Id:Int64 = new Int64() with get,set
member val Name:String = null with get,set
member val Description:String = null with get,set
member val Status:Boolean = new Boolean() with get,set
member val YearlyPrice:Decimal = new Decimal() with get,set
member val Price:Decimal = new Decimal() with get,set
member val Order:Int32 = new Int32() with get,set
member val Icon:String = null with get,set
member val PaymentLink:String = null with get,set
member val YearlyPaymentLink:String = null with get,set
member val Sid:String = null with get,set
member val YearlySid:String = null with get,set
member val Discount:Decimal = new Decimal() with get,set
member val Benefits:ResizeArray<MBenefit> = new ResizeArray<MBenefit>() with get,set
[<AllowNullLiteral>]
type SubsResponse() =
member val Subscriptions:ResizeArray<MSubscription> = new ResizeArray<MSubscription>() with get,set
member val ResponseCode:Int32 = new Int32() with get,set
member val ResponseMessage:String = null with get,set
[<AllowNullLiteral>]
type SubsRequest() =
member val Lang:String = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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 }