| 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 .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<CampaignRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Campaign>
<Campaign>
<AgentID>0</AgentID>
<CampaignId>0</CampaignId>
<CampaignName>String</CampaignName>
<CampaignTypeId>0</CampaignTypeId>
<Channels>None</Channels>
<CreatedUtc>0001-01-01T00:00:00</CreatedUtc>
<DateCreated>0001-01-01T00:00:00</DateCreated>
<DateDeleted>0001-01-01T00:00:00</DateDeleted>
<DayOfMonth>0</DayOfMonth>
<DayOfWeek>Sunday</DayOfWeek>
<Frequency>String</Frequency>
<IsActive>false</IsActive>
<LastRunAtUtc>0001-01-01T00:00:00</LastRunAtUtc>
<NextRunAtUtc>0001-01-01T00:00:00</NextRunAtUtc>
<StartDate>0001-01-01T00:00:00</StartDate>
<Subject>String</Subject>
<Template>String</Template>
<TimeOfDay>PT0S</TimeOfDay>
<TimeZoneId>String</TimeZoneId>
<UpdatedUtc>0001-01-01T00:00:00</UpdatedUtc>
</Campaign>
</Campaign>
<CampaignId>0</CampaignId>
</CampaignRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CampaignResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Campaign>
<CampaignExtended>
<AgentID>0</AgentID>
<CampaignId>0</CampaignId>
<CampaignName>String</CampaignName>
<CampaignTypeId>0</CampaignTypeId>
<Channels>None</Channels>
<CreatedUtc>0001-01-01T00:00:00</CreatedUtc>
<DateCreated>0001-01-01T00:00:00</DateCreated>
<DateDeleted>0001-01-01T00:00:00</DateDeleted>
<DayOfMonth>0</DayOfMonth>
<DayOfWeek>Sunday</DayOfWeek>
<Frequency>String</Frequency>
<IsActive>false</IsActive>
<LastRunAtUtc>0001-01-01T00:00:00</LastRunAtUtc>
<NextRunAtUtc>0001-01-01T00:00:00</NextRunAtUtc>
<StartDate>0001-01-01T00:00:00</StartDate>
<Subject>String</Subject>
<Template>String</Template>
<TimeOfDay>PT0S</TimeOfDay>
<TimeZoneId>String</TimeZoneId>
<UpdatedUtc>0001-01-01T00:00:00</UpdatedUtc>
<AgentName>String</AgentName>
<CampaignType>String</CampaignType>
</CampaignExtended>
</Campaign>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
</CampaignResponse>