| GET | /campaigns |
|---|
namespace NAV.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type CampaignDetails() =
member val CampaignNumber:Int32 = new Int32() with get,set
member val CampaignName:String = null with get,set
member val BatchNumber:Decimal = new Decimal() with get,set
member val BatchName:String = null with get,set
member val CampaignsAwayFromCurrent:Int32 = new Int32() with get,set
member val Cycle:Int32 = new Int32() with get,set
member val PeriodStartTime:DateTime = new DateTime() with get,set
member val PeriodEndTime:DateTime = new DateTime() with get,set
member val FiscalYear:Int32 = new Int32() with get,set
member val Status:String = null with get,set
[<AllowNullLiteral>]
type CampaignViewModel() =
member val CurrentCampaignNumber:Int32 = new Int32() with get,set
member val PriorYearCampaignNumber:Int32 = new Int32() with get,set
member val Campaigns:ResizeArray<CampaignDetails> = new ResizeArray<CampaignDetails>() with get,set
[<AllowNullLiteral>]
type CampaignsGetListResponse() =
inherit GetResponse<CampaignViewModel>()
[<AllowNullLiteral>]
type CampaignsGetList() =
class end
[<AllowNullLiteral>]
type GetResponse<'TEntity>() =
member val Item:'TEntity = null with get,set
member val ResponseStatus:ResponseStatus = 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 /campaigns HTTP/1.1 Host: extensions.avon.ca Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
item:
{
currentCampaignNumber: 0,
priorYearCampaignNumber: 0,
campaigns:
[
{
campaignNumber: 0,
campaignName: String,
batchNumber: 0,
batchName: String,
campaignsAwayFromCurrent: 0,
cycle: 0,
periodStartTime: 0001-01-01T00:00:00,
periodEndTime: 0001-01-01T00:00:00,
fiscalYear: 0,
status: String
}
]
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}