| Requires any of the roles: | Agent, Administrator, Agent, Administrator, Agent, Administrator |
| GET,POST,PUT,DELETE,OPTIONS | /v1/Campaign/{CampaignId} | ||
|---|---|---|---|
| GET,POST,PUT,DELETE,OPTIONS | /v1/Campaign |
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
// @Flags()
class DeliveryChannel
{
static const DeliveryChannel None = const DeliveryChannel._(0);
static const DeliveryChannel Email = const DeliveryChannel._(1);
static const DeliveryChannel Sms = const DeliveryChannel._(2);
final int _value;
const DeliveryChannel._(this._value);
int get value => _value;
static List<DeliveryChannel> get values => const [None,Email,Sms];
}
class Campaign implements IConvertible
{
int? CampaignId;
int? CampaignTypeId;
String? CampaignName;
int? AgentID;
String? Subject;
String? Template;
DateTime? DateCreated;
DateTime? DateDeleted;
String? Frequency;
DateTime? StartDate;
Duration? TimeOfDay;
DateTime? LastRunAtUtc;
DateTime? NextRunAtUtc;
String? TimeZoneId;
DayOfWeek? DayOfWeek;
int? DayOfMonth;
bool? IsActive;
DateTime? CreatedUtc;
DateTime? UpdatedUtc;
DeliveryChannel? Channels;
Campaign({this.CampaignId,this.CampaignTypeId,this.CampaignName,this.AgentID,this.Subject,this.Template,this.DateCreated,this.DateDeleted,this.Frequency,this.StartDate,this.TimeOfDay,this.LastRunAtUtc,this.NextRunAtUtc,this.TimeZoneId,this.DayOfWeek,this.DayOfMonth,this.IsActive,this.CreatedUtc,this.UpdatedUtc,this.Channels});
Campaign.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CampaignId = json['CampaignId'];
CampaignTypeId = json['CampaignTypeId'];
CampaignName = json['CampaignName'];
AgentID = json['AgentID'];
Subject = json['Subject'];
Template = json['Template'];
DateCreated = JsonConverters.fromJson(json['DateCreated'],'DateTime',context!);
DateDeleted = JsonConverters.fromJson(json['DateDeleted'],'DateTime',context!);
Frequency = json['Frequency'];
StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!);
TimeOfDay = JsonConverters.fromJson(json['TimeOfDay'],'Duration',context!);
LastRunAtUtc = JsonConverters.fromJson(json['LastRunAtUtc'],'DateTime',context!);
NextRunAtUtc = JsonConverters.fromJson(json['NextRunAtUtc'],'DateTime',context!);
TimeZoneId = json['TimeZoneId'];
DayOfWeek = JsonConverters.fromJson(json['DayOfWeek'],'DayOfWeek',context!);
DayOfMonth = json['DayOfMonth'];
IsActive = json['IsActive'];
CreatedUtc = JsonConverters.fromJson(json['CreatedUtc'],'DateTime',context!);
UpdatedUtc = JsonConverters.fromJson(json['UpdatedUtc'],'DateTime',context!);
Channels = JsonConverters.fromJson(json['Channels'],'DeliveryChannel',context!);
return this;
}
Map<String, dynamic> toJson() => {
'CampaignId': CampaignId,
'CampaignTypeId': CampaignTypeId,
'CampaignName': CampaignName,
'AgentID': AgentID,
'Subject': Subject,
'Template': Template,
'DateCreated': JsonConverters.toJson(DateCreated,'DateTime',context!),
'DateDeleted': JsonConverters.toJson(DateDeleted,'DateTime',context!),
'Frequency': Frequency,
'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!),
'TimeOfDay': JsonConverters.toJson(TimeOfDay,'Duration',context!),
'LastRunAtUtc': JsonConverters.toJson(LastRunAtUtc,'DateTime',context!),
'NextRunAtUtc': JsonConverters.toJson(NextRunAtUtc,'DateTime',context!),
'TimeZoneId': TimeZoneId,
'DayOfWeek': JsonConverters.toJson(DayOfWeek,'DayOfWeek',context!),
'DayOfMonth': DayOfMonth,
'IsActive': IsActive,
'CreatedUtc': JsonConverters.toJson(CreatedUtc,'DateTime',context!),
'UpdatedUtc': JsonConverters.toJson(UpdatedUtc,'DateTime',context!),
'Channels': JsonConverters.toJson(Channels,'DeliveryChannel',context!)
};
getTypeName() => "Campaign";
TypeContext? context = _ctx;
}
class CampaignExtended extends Campaign implements IConvertible
{
String? CampaignType;
String? AgentName;
CampaignExtended({this.CampaignType,this.AgentName});
CampaignExtended.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
CampaignType = json['CampaignType'];
AgentName = json['AgentName'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'CampaignType': CampaignType,
'AgentName': AgentName
});
getTypeName() => "CampaignExtended";
TypeContext? context = _ctx;
}
class CampaignResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
List<CampaignExtended>? Campaign = [];
CampaignResponse({this.ResponseStatus,this.Campaign});
CampaignResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
Campaign = JsonConverters.fromJson(json['Campaign'],'List<CampaignExtended>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'Campaign': JsonConverters.toJson(Campaign,'List<CampaignExtended>',context!)
};
getTypeName() => "CampaignResponse";
TypeContext? context = _ctx;
}
class CampaignRequest implements IConvertible
{
int? CampaignId;
List<Campaign>? Campaign = [];
CampaignRequest({this.CampaignId,this.Campaign});
CampaignRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CampaignId = json['CampaignId'];
Campaign = JsonConverters.fromJson(json['Campaign'],'List<Campaign>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'CampaignId': CampaignId,
'Campaign': JsonConverters.toJson(Campaign,'List<Campaign>',context!)
};
getTypeName() => "CampaignRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'DeliveryChannel': TypeInfo(TypeOf.Enum, enumValues:DeliveryChannel.values),
'Campaign': TypeInfo(TypeOf.Class, create:() => Campaign()),
'DayOfWeek': TypeInfo(TypeOf.Class, create:() => DayOfWeek()),
'CampaignExtended': TypeInfo(TypeOf.Class, create:() => CampaignExtended()),
'CampaignResponse': TypeInfo(TypeOf.Class, create:() => CampaignResponse()),
'List<CampaignExtended>': TypeInfo(TypeOf.Class, create:() => <CampaignExtended>[]),
'CampaignRequest': TypeInfo(TypeOf.Class, create:() => CampaignRequest()),
'List<Campaign>': TypeInfo(TypeOf.Class, create:() => <Campaign>[]),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/Campaign/{CampaignId} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"CampaignId":0,"Campaign":[{"CampaignId":0,"CampaignTypeId":0,"CampaignName":"String","AgentID":0,"Subject":"String","Template":"String","DateCreated":"0001-01-01T00:00:00.0000000","DateDeleted":"0001-01-01T00:00:00.0000000","Frequency":"String","StartDate":"0001-01-01T00:00:00.0000000","TimeOfDay":"PT0S","LastRunAtUtc":"0001-01-01T00:00:00.0000000","NextRunAtUtc":"0001-01-01T00:00:00.0000000","TimeZoneId":"String","DayOfWeek":"Sunday","DayOfMonth":0,"IsActive":false,"CreatedUtc":"0001-01-01T00:00:00.0000000","UpdatedUtc":"0001-01-01T00:00:00.0000000","Channels":0}]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Campaign":[{"CampaignType":"String","AgentName":"String","CampaignId":0,"CampaignTypeId":0,"CampaignName":"String","AgentID":0,"Subject":"String","Template":"String","DateCreated":"0001-01-01T00:00:00.0000000","DateDeleted":"0001-01-01T00:00:00.0000000","Frequency":"String","StartDate":"0001-01-01T00:00:00.0000000","TimeOfDay":"PT0S","LastRunAtUtc":"0001-01-01T00:00:00.0000000","NextRunAtUtc":"0001-01-01T00:00:00.0000000","TimeZoneId":"String","DayOfWeek":"Sunday","DayOfMonth":0,"IsActive":false,"CreatedUtc":"0001-01-01T00:00:00.0000000","UpdatedUtc":"0001-01-01T00:00:00.0000000","Channels":0}]}