Required permission: | CMPermission |
POST | /CampaignMonitor/{email}/Summary |
---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class CMListResponse implements IConvertible
{
String? id;
String? name;
String? status;
List<String>? segments;
CMListResponse({this.id,this.name,this.status,this.segments});
CMListResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
status = json['status'];
segments = JsonConverters.fromJson(json['segments'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'name': name,
'status': status,
'segments': JsonConverters.toJson(segments,'List<String>',context!)
};
getTypeName() => "CMListResponse";
TypeContext? context = _ctx;
}
class CMSummaryResponse implements IConvertible
{
String? email;
bool? is_optin;
bool? is_ebr;
String? is_express_consent;
bool? is_suppressed;
String? last_consent_source;
DateTime? last_consent_date;
DateTime? last_event_date;
DateTime? last_reframe_purchase_date;
List<CMListResponse>? lists;
CMSummaryResponse({this.email,this.is_optin,this.is_ebr,this.is_express_consent,this.is_suppressed,this.last_consent_source,this.last_consent_date,this.last_event_date,this.last_reframe_purchase_date,this.lists});
CMSummaryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
email = json['email'];
is_optin = json['is_optin'];
is_ebr = json['is_ebr'];
is_express_consent = json['is_express_consent'];
is_suppressed = json['is_suppressed'];
last_consent_source = json['last_consent_source'];
last_consent_date = JsonConverters.fromJson(json['last_consent_date'],'DateTime',context!);
last_event_date = JsonConverters.fromJson(json['last_event_date'],'DateTime',context!);
last_reframe_purchase_date = JsonConverters.fromJson(json['last_reframe_purchase_date'],'DateTime',context!);
lists = JsonConverters.fromJson(json['lists'],'List<CMListResponse>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'email': email,
'is_optin': is_optin,
'is_ebr': is_ebr,
'is_express_consent': is_express_consent,
'is_suppressed': is_suppressed,
'last_consent_source': last_consent_source,
'last_consent_date': JsonConverters.toJson(last_consent_date,'DateTime',context!),
'last_event_date': JsonConverters.toJson(last_event_date,'DateTime',context!),
'last_reframe_purchase_date': JsonConverters.toJson(last_reframe_purchase_date,'DateTime',context!),
'lists': JsonConverters.toJson(lists,'List<CMListResponse>',context!)
};
getTypeName() => "CMSummaryResponse";
TypeContext? context = _ctx;
}
class CMSummaryRequest implements IConvertible
{
String? email;
CMSummaryRequest({this.email});
CMSummaryRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
email = json['email'];
return this;
}
Map<String, dynamic> toJson() => {
'email': email
};
getTypeName() => "CMSummaryRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'data.regent_college.edu', types: <String, TypeInfo> {
'CMListResponse': TypeInfo(TypeOf.Class, create:() => CMListResponse()),
'CMSummaryResponse': TypeInfo(TypeOf.Class, create:() => CMSummaryResponse()),
'List<CMListResponse>': TypeInfo(TypeOf.Class, create:() => <CMListResponse>[]),
'CMSummaryRequest': TypeInfo(TypeOf.Class, create:() => CMSummaryRequest()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /CampaignMonitor/{email}/Summary HTTP/1.1
Host: data.regent-college.edu
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
email: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { email: String, is_optin: False, is_ebr: False, is_express_consent: String, is_suppressed: False, last_consent_source: String, last_consent_date: 0001-01-01, last_event_date: 0001-01-01, last_reframe_purchase_date: 0001-01-01, lists: [ { id: String, name: String, status: String, segments: [ String ] } ] }