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 } } }