| POST | /CampaignConversions/Run |
|---|
import 'package:servicestack/servicestack.dart';
class CampaignConversionSurfaceCount implements IConvertible
{
String? key;
int? people;
int? count;
double? amount;
CampaignConversionSurfaceCount({this.key,this.people,this.count,this.amount});
CampaignConversionSurfaceCount.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
key = json['key'];
people = json['people'];
count = json['count'];
amount = JsonConverters.toDouble(json['amount']);
return this;
}
Map<String, dynamic> toJson() => {
'key': key,
'people': people,
'count': count,
'amount': amount
};
getTypeName() => "CampaignConversionSurfaceCount";
TypeContext? context = _ctx;
}
class CampaignConversionResult implements IConvertible
{
String? runId;
int? peopleMeasured;
int? peopleConverted;
double? totalAmount;
List<CampaignConversionSurfaceCount>? bySurface;
List<CampaignConversionSurfaceCount>? byChannel;
int? headlineConversions;
double? headlineAmount;
int? medianHoursToConvert;
List<String>? notes;
int? statusCode;
String? message;
CampaignConversionResult({this.runId,this.peopleMeasured,this.peopleConverted,this.totalAmount,this.bySurface,this.byChannel,this.headlineConversions,this.headlineAmount,this.medianHoursToConvert,this.notes,this.statusCode,this.message});
CampaignConversionResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
runId = json['runId'];
peopleMeasured = json['peopleMeasured'];
peopleConverted = json['peopleConverted'];
totalAmount = JsonConverters.toDouble(json['totalAmount']);
bySurface = JsonConverters.fromJson(json['bySurface'],'List<CampaignConversionSurfaceCount>',context!);
byChannel = JsonConverters.fromJson(json['byChannel'],'List<CampaignConversionSurfaceCount>',context!);
headlineConversions = json['headlineConversions'];
headlineAmount = JsonConverters.toDouble(json['headlineAmount']);
medianHoursToConvert = json['medianHoursToConvert'];
notes = JsonConverters.fromJson(json['notes'],'List<String>',context!);
statusCode = json['statusCode'];
message = json['message'];
return this;
}
Map<String, dynamic> toJson() => {
'runId': runId,
'peopleMeasured': peopleMeasured,
'peopleConverted': peopleConverted,
'totalAmount': totalAmount,
'bySurface': JsonConverters.toJson(bySurface,'List<CampaignConversionSurfaceCount>',context!),
'byChannel': JsonConverters.toJson(byChannel,'List<CampaignConversionSurfaceCount>',context!),
'headlineConversions': headlineConversions,
'headlineAmount': headlineAmount,
'medianHoursToConvert': medianHoursToConvert,
'notes': JsonConverters.toJson(notes,'List<String>',context!),
'statusCode': statusCode,
'message': message
};
getTypeName() => "CampaignConversionResult";
TypeContext? context = _ctx;
}
class CampaignConversionPerson implements IConvertible
{
String? phone;
String? email;
int? recipientId;
String? channel;
DateTime? sentAt;
CampaignConversionPerson({this.phone,this.email,this.recipientId,this.channel,this.sentAt});
CampaignConversionPerson.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
phone = json['phone'];
email = json['email'];
recipientId = json['recipientId'];
channel = json['channel'];
sentAt = JsonConverters.fromJson(json['sentAt'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'phone': phone,
'email': email,
'recipientId': recipientId,
'channel': channel,
'sentAt': JsonConverters.toJson(sentAt,'DateTime',context!)
};
getTypeName() => "CampaignConversionPerson";
TypeContext? context = _ctx;
}
class CampaignConversionRunRequest implements IConvertible
{
int? campaignId;
List<CampaignConversionPerson>? people;
int? windowHours;
int? targetEventId;
bool? includeFood;
CampaignConversionRunRequest({this.campaignId,this.people,this.windowHours,this.targetEventId,this.includeFood});
CampaignConversionRunRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
campaignId = json['campaignId'];
people = JsonConverters.fromJson(json['people'],'List<CampaignConversionPerson>',context!);
windowHours = json['windowHours'];
targetEventId = json['targetEventId'];
includeFood = json['includeFood'];
return this;
}
Map<String, dynamic> toJson() => {
'campaignId': campaignId,
'people': JsonConverters.toJson(people,'List<CampaignConversionPerson>',context!),
'windowHours': windowHours,
'targetEventId': targetEventId,
'includeFood': includeFood
};
getTypeName() => "CampaignConversionRunRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
'CampaignConversionSurfaceCount': TypeInfo(TypeOf.Class, create:() => CampaignConversionSurfaceCount()),
'CampaignConversionResult': TypeInfo(TypeOf.Class, create:() => CampaignConversionResult()),
'List<CampaignConversionSurfaceCount>': TypeInfo(TypeOf.Class, create:() => <CampaignConversionSurfaceCount>[]),
'CampaignConversionPerson': TypeInfo(TypeOf.Class, create:() => CampaignConversionPerson()),
'CampaignConversionRunRequest': TypeInfo(TypeOf.Class, create:() => CampaignConversionRunRequest()),
'List<CampaignConversionPerson>': TypeInfo(TypeOf.Class, create:() => <CampaignConversionPerson>[]),
});
Dart CampaignConversionRunRequest DTOs
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 /CampaignConversions/Run HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CampaignConversionRunRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
<CampaignId>0</CampaignId>
<IncludeFood>false</IncludeFood>
<People>
<CampaignConversionPerson>
<Channel>String</Channel>
<Email>String</Email>
<Phone>String</Phone>
<RecipientId>0</RecipientId>
<SentAt>0001-01-01T00:00:00</SentAt>
</CampaignConversionPerson>
</People>
<TargetEventId>0</TargetEventId>
<WindowHours>0</WindowHours>
</CampaignConversionRunRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CampaignConversionResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
<ByChannel>
<CampaignConversionSurfaceCount>
<Amount>0</Amount>
<Count>0</Count>
<Key>String</Key>
<People>0</People>
</CampaignConversionSurfaceCount>
</ByChannel>
<BySurface>
<CampaignConversionSurfaceCount>
<Amount>0</Amount>
<Count>0</Count>
<Key>String</Key>
<People>0</People>
</CampaignConversionSurfaceCount>
</BySurface>
<HeadlineAmount>0</HeadlineAmount>
<HeadlineConversions>0</HeadlineConversions>
<MedianHoursToConvert>0</MedianHoursToConvert>
<Message>String</Message>
<Notes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</Notes>
<PeopleConverted>0</PeopleConverted>
<PeopleMeasured>0</PeopleMeasured>
<RunId>String</RunId>
<StatusCode>0</StatusCode>
<TotalAmount>0</TotalAmount>
</CampaignConversionResult>