regis

<back to all web services

CMSummaryRequest

Requires Authentication
Required permission:CMPermission
The following routes are available for this service:
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()),
});

Dart CMSummaryRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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
			]
		}
	]
}