NAV

<back to all web services

CampaignsGetList

The following routes are available for this service:
GET/campaigns
import 'package:servicestack/servicestack.dart';

class CampaignDetails implements IConvertible
{
    int? campaignNumber;
    String? campaignName;
    double? batchNumber;
    String? batchName;
    int? campaignsAwayFromCurrent;
    int? cycle;
    DateTime? periodStartTime;
    DateTime? periodEndTime;
    int? fiscalYear;
    String? status;

    CampaignDetails({this.campaignNumber,this.campaignName,this.batchNumber,this.batchName,this.campaignsAwayFromCurrent,this.cycle,this.periodStartTime,this.periodEndTime,this.fiscalYear,this.status});
    CampaignDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        campaignNumber = json['campaignNumber'];
        campaignName = json['campaignName'];
        batchNumber = JsonConverters.toDouble(json['batchNumber']);
        batchName = json['batchName'];
        campaignsAwayFromCurrent = json['campaignsAwayFromCurrent'];
        cycle = json['cycle'];
        periodStartTime = JsonConverters.fromJson(json['periodStartTime'],'DateTime',context!);
        periodEndTime = JsonConverters.fromJson(json['periodEndTime'],'DateTime',context!);
        fiscalYear = json['fiscalYear'];
        status = json['status'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'campaignNumber': campaignNumber,
        'campaignName': campaignName,
        'batchNumber': batchNumber,
        'batchName': batchName,
        'campaignsAwayFromCurrent': campaignsAwayFromCurrent,
        'cycle': cycle,
        'periodStartTime': JsonConverters.toJson(periodStartTime,'DateTime',context!),
        'periodEndTime': JsonConverters.toJson(periodEndTime,'DateTime',context!),
        'fiscalYear': fiscalYear,
        'status': status
    };

    getTypeName() => "CampaignDetails";
    TypeContext? context = _ctx;
}

class CampaignViewModel implements IConvertible
{
    int? currentCampaignNumber;
    int? priorYearCampaignNumber;
    List<CampaignDetails>? campaigns;

    CampaignViewModel({this.currentCampaignNumber,this.priorYearCampaignNumber,this.campaigns});
    CampaignViewModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        currentCampaignNumber = json['currentCampaignNumber'];
        priorYearCampaignNumber = json['priorYearCampaignNumber'];
        campaigns = JsonConverters.fromJson(json['campaigns'],'List<CampaignDetails>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'currentCampaignNumber': currentCampaignNumber,
        'priorYearCampaignNumber': priorYearCampaignNumber,
        'campaigns': JsonConverters.toJson(campaigns,'List<CampaignDetails>',context!)
    };

    getTypeName() => "CampaignViewModel";
    TypeContext? context = _ctx;
}

class CampaignsGetListResponse extends GetResponse<CampaignViewModel> implements IConvertible
{
    CampaignsGetListResponse();
    CampaignsGetListResponse.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "CampaignsGetListResponse";
    TypeContext? context = _ctx;
}

class CampaignsGetList implements IConvertible
{
    CampaignsGetList();
    CampaignsGetList.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "CampaignsGetList";
    TypeContext? context = _ctx;
}

class GetResponse<TEntity> implements IConvertible
{
    TEntity? item;
    ResponseStatus? responseStatus;

    GetResponse({this.item,this.responseStatus});
    GetResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = json['item'];
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': item,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "GetResponse<$TEntity>";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'extensions.avon.ca', types: <String, TypeInfo> {
    'CampaignDetails': TypeInfo(TypeOf.Class, create:() => CampaignDetails()),
    'CampaignViewModel': TypeInfo(TypeOf.Class, create:() => CampaignViewModel()),
    'List<CampaignDetails>': TypeInfo(TypeOf.Class, create:() => <CampaignDetails>[]),
    'CampaignsGetListResponse': TypeInfo(TypeOf.Class, create:() => CampaignsGetListResponse()),
    'CampaignsGetList': TypeInfo(TypeOf.Class, create:() => CampaignsGetList()),
    'GetResponse<TEntity>': TypeInfo(TypeOf.GenericDef,create:() => GetResponse()),
});

Dart CampaignsGetList DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

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/csv
HTTP/1.1 200 OK
Content-Type: text/csv
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.0000000","periodEndTime":"0001-01-01T00:00:00.0000000","fiscalYear":0,"status":"String"}]},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}