| Required role: | Admin |
| POST | /SurveyCampaign |
|---|
import 'package:servicestack/servicestack.dart';
class SurveyCampaign implements IConvertible
{
int? id;
// @StringLength(200)
String? name;
// @StringLength(16)
String? status;
// @StringLength(300)
String? subject;
// @StringLength(2147483647)
String? bodyHtml;
// @StringLength(300)
String? reminderSubject;
// @StringLength(2147483647)
String? reminderBodyHtml;
// @StringLength(320)
String? fromEmail;
// @StringLength(200)
String? fromName;
// @StringLength(8)
String? language;
int? reminderAfterDays;
int? maxReminders;
DateTime? createdAt;
DateTime? sentAt;
DateTime? closedAt;
SurveyCampaign({this.id,this.name,this.status,this.subject,this.bodyHtml,this.reminderSubject,this.reminderBodyHtml,this.fromEmail,this.fromName,this.language,this.reminderAfterDays,this.maxReminders,this.createdAt,this.sentAt,this.closedAt});
SurveyCampaign.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
status = json['status'];
subject = json['subject'];
bodyHtml = json['bodyHtml'];
reminderSubject = json['reminderSubject'];
reminderBodyHtml = json['reminderBodyHtml'];
fromEmail = json['fromEmail'];
fromName = json['fromName'];
language = json['language'];
reminderAfterDays = json['reminderAfterDays'];
maxReminders = json['maxReminders'];
createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
sentAt = JsonConverters.fromJson(json['sentAt'],'DateTime',context!);
closedAt = JsonConverters.fromJson(json['closedAt'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'name': name,
'status': status,
'subject': subject,
'bodyHtml': bodyHtml,
'reminderSubject': reminderSubject,
'reminderBodyHtml': reminderBodyHtml,
'fromEmail': fromEmail,
'fromName': fromName,
'language': language,
'reminderAfterDays': reminderAfterDays,
'maxReminders': maxReminders,
'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
'sentAt': JsonConverters.toJson(sentAt,'DateTime',context!),
'closedAt': JsonConverters.toJson(closedAt,'DateTime',context!)
};
getTypeName() => "SurveyCampaign";
TypeContext? context = _ctx;
}
class SurveyCampaignStats implements IConvertible
{
int? recipients;
int? pending;
int? queued;
int? sent;
int? bounced;
int? rejected;
int? opened;
int? clicked;
int? responded;
int? remindersSent;
int? dueForReminder;
SurveyCampaignStats({this.recipients,this.pending,this.queued,this.sent,this.bounced,this.rejected,this.opened,this.clicked,this.responded,this.remindersSent,this.dueForReminder});
SurveyCampaignStats.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
recipients = json['recipients'];
pending = json['pending'];
queued = json['queued'];
sent = json['sent'];
bounced = json['bounced'];
rejected = json['rejected'];
opened = json['opened'];
clicked = json['clicked'];
responded = json['responded'];
remindersSent = json['remindersSent'];
dueForReminder = json['dueForReminder'];
return this;
}
Map<String, dynamic> toJson() => {
'recipients': recipients,
'pending': pending,
'queued': queued,
'sent': sent,
'bounced': bounced,
'rejected': rejected,
'opened': opened,
'clicked': clicked,
'responded': responded,
'remindersSent': remindersSent,
'dueForReminder': dueForReminder
};
getTypeName() => "SurveyCampaignStats";
TypeContext? context = _ctx;
}
class SurveyCampaignResult implements IConvertible
{
SurveyCampaign? item;
SurveyCampaignStats? stats;
int? statusCode;
String? message;
SurveyCampaignResult({this.item,this.stats,this.statusCode,this.message});
SurveyCampaignResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
item = JsonConverters.fromJson(json['item'],'SurveyCampaign',context!);
stats = JsonConverters.fromJson(json['stats'],'SurveyCampaignStats',context!);
statusCode = json['statusCode'];
message = json['message'];
return this;
}
Map<String, dynamic> toJson() => {
'item': JsonConverters.toJson(item,'SurveyCampaign',context!),
'stats': JsonConverters.toJson(stats,'SurveyCampaignStats',context!),
'statusCode': statusCode,
'message': message
};
getTypeName() => "SurveyCampaignResult";
TypeContext? context = _ctx;
}
class SurveyCampaignCreateRequest implements IConvertible
{
SurveyCampaign? item;
SurveyCampaignCreateRequest({this.item});
SurveyCampaignCreateRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
item = JsonConverters.fromJson(json['item'],'SurveyCampaign',context!);
return this;
}
Map<String, dynamic> toJson() => {
'item': JsonConverters.toJson(item,'SurveyCampaign',context!)
};
getTypeName() => "SurveyCampaignCreateRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
'SurveyCampaign': TypeInfo(TypeOf.Class, create:() => SurveyCampaign()),
'SurveyCampaignStats': TypeInfo(TypeOf.Class, create:() => SurveyCampaignStats()),
'SurveyCampaignResult': TypeInfo(TypeOf.Class, create:() => SurveyCampaignResult()),
'SurveyCampaignCreateRequest': TypeInfo(TypeOf.Class, create:() => SurveyCampaignCreateRequest()),
});
Dart SurveyCampaignCreateRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /SurveyCampaign HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: application/json
Content-Type: application/json
Content-Length: length
{"item":{"id":0,"name":"String","status":"String","subject":"String","bodyHtml":"String","reminderSubject":"String","reminderBodyHtml":"String","fromEmail":"String","fromName":"String","language":"String","reminderAfterDays":0,"maxReminders":0,"createdAt":"0001-01-01T00:00:00.0000000","sentAt":"0001-01-01T00:00:00.0000000","closedAt":"0001-01-01T00:00:00.0000000"}}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"item":{"id":0,"name":"String","status":"String","subject":"String","bodyHtml":"String","reminderSubject":"String","reminderBodyHtml":"String","fromEmail":"String","fromName":"String","language":"String","reminderAfterDays":0,"maxReminders":0,"createdAt":"0001-01-01T00:00:00.0000000","sentAt":"0001-01-01T00:00:00.0000000","closedAt":"0001-01-01T00:00:00.0000000"},"stats":{"recipients":0,"pending":0,"queued":0,"sent":0,"bounced":0,"rejected":0,"opened":0,"clicked":0,"responded":0,"remindersSent":0,"dueForReminder":0},"statusCode":0,"message":"String"}