| Requires any of the roles: | Client, Admin, Partner |
| All Verbs | /sendmail/sendgridtemplate |
|---|
import 'package:servicestack/servicestack.dart';
class EmailAddress implements IConvertible
{
String? Name;
String? Email;
EmailAddress({this.Name,this.Email});
EmailAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
Email = json['Email'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'Email': Email
};
getTypeName() => "EmailAddress";
TypeContext? context = _ctx;
}
class Personalization implements IConvertible
{
List<EmailAddress>? Tos;
List<EmailAddress>? Ccs;
List<EmailAddress>? Bccs;
EmailAddress? From;
String? Subject;
Map<String,String?>? Headers;
Map<String,String?>? Substitutions;
Map<String,String?>? CustomArgs;
int? SendAt;
dynamic? TemplateData;
Personalization({this.Tos,this.Ccs,this.Bccs,this.From,this.Subject,this.Headers,this.Substitutions,this.CustomArgs,this.SendAt,this.TemplateData});
Personalization.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Tos = JsonConverters.fromJson(json['Tos'],'List<EmailAddress>',context!);
Ccs = JsonConverters.fromJson(json['Ccs'],'List<EmailAddress>',context!);
Bccs = JsonConverters.fromJson(json['Bccs'],'List<EmailAddress>',context!);
From = JsonConverters.fromJson(json['From'],'EmailAddress',context!);
Subject = json['Subject'];
Headers = JsonConverters.toStringMap(json['Headers']);
Substitutions = JsonConverters.toStringMap(json['Substitutions']);
CustomArgs = JsonConverters.toStringMap(json['CustomArgs']);
SendAt = json['SendAt'];
TemplateData = JsonConverters.fromJson(json['TemplateData'],'dynamic',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Tos': JsonConverters.toJson(Tos,'List<EmailAddress>',context!),
'Ccs': JsonConverters.toJson(Ccs,'List<EmailAddress>',context!),
'Bccs': JsonConverters.toJson(Bccs,'List<EmailAddress>',context!),
'From': JsonConverters.toJson(From,'EmailAddress',context!),
'Subject': Subject,
'Headers': Headers,
'Substitutions': Substitutions,
'CustomArgs': CustomArgs,
'SendAt': SendAt,
'TemplateData': JsonConverters.toJson(TemplateData,'dynamic',context!)
};
getTypeName() => "Personalization";
TypeContext? context = _ctx;
}
class SendGridMailTemplateRequest implements IConvertible
{
EmailAddress? From;
String? Subject;
String? TemplatesId;
String? APIKey;
List<Personalization>? Personalizations;
SendGridMailTemplateRequest({this.From,this.Subject,this.TemplatesId,this.APIKey,this.Personalizations});
SendGridMailTemplateRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
From = JsonConverters.fromJson(json['From'],'EmailAddress',context!);
Subject = json['Subject'];
TemplatesId = json['TemplatesId'];
APIKey = json['APIKey'];
Personalizations = JsonConverters.fromJson(json['Personalizations'],'List<Personalization>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'From': JsonConverters.toJson(From,'EmailAddress',context!),
'Subject': Subject,
'TemplatesId': TemplatesId,
'APIKey': APIKey,
'Personalizations': JsonConverters.toJson(Personalizations,'List<Personalization>',context!)
};
getTypeName() => "SendGridMailTemplateRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'duengageapi.uat.scadsoftware.com', types: <String, TypeInfo> {
'EmailAddress': TypeInfo(TypeOf.Class, create:() => EmailAddress()),
'Personalization': TypeInfo(TypeOf.Class, create:() => Personalization()),
'List<EmailAddress>': TypeInfo(TypeOf.Class, create:() => <EmailAddress>[]),
'SendGridMailTemplateRequest': TypeInfo(TypeOf.Class, create:() => SendGridMailTemplateRequest()),
'List<Personalization>': TypeInfo(TypeOf.Class, create:() => <Personalization>[]),
});
Dart SendGridMailTemplateRequest DTOs
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 /sendmail/sendgridtemplate HTTP/1.1
Host: duengageapi.uat.scadsoftware.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
From:
{
Name: String,
Email: String
},
Subject: String,
TemplatesId: String,
APIKey: String,
Personalizations:
[
{
Tos:
[
{
Name: String,
Email: String
}
],
Ccs:
[
{
Name: String,
Email: String
}
],
Bccs:
[
{
Name: String,
Email: String
}
],
From:
{
Name: String,
Email: String
},
Subject: String,
Headers:
{
String: String
},
Substitutions:
{
String: String
},
CustomArgs:
{
String: String
},
SendAt: 0,
TemplateData: {}
}
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
}