digitaluapi

<back to all web services

SendGridMailTemplateRequest

Requires Authentication
Requires any of the roles:Client, Admin, Partner
The following routes are available for this service:
All Verbs/sendmail/sendgridtemplate
import 'package:servicestack/servicestack.dart';
import 'dart:collection';

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 .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<SendGridMailTemplateRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/digitaluapi.ServiceInterface">
  <APIKey>String</APIKey>
  <From xmlns:d2p1="http://schemas.datacontract.org/2004/07/SendGrid.Helpers.Mail">
    <d2p1:Email>String</d2p1:Email>
    <d2p1:Name>String</d2p1:Name>
  </From>
  <Personalizations xmlns:d2p1="http://schemas.datacontract.org/2004/07/SendGrid.Helpers.Mail">
    <d2p1:Personalization>
      <d2p1:Bccs>
        <d2p1:EmailAddress>
          <d2p1:Email>String</d2p1:Email>
          <d2p1:Name>String</d2p1:Name>
        </d2p1:EmailAddress>
      </d2p1:Bccs>
      <d2p1:Ccs>
        <d2p1:EmailAddress>
          <d2p1:Email>String</d2p1:Email>
          <d2p1:Name>String</d2p1:Name>
        </d2p1:EmailAddress>
      </d2p1:Ccs>
      <d2p1:CustomArgs xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </d2p1:CustomArgs>
      <d2p1:From>
        <d2p1:Email>String</d2p1:Email>
        <d2p1:Name>String</d2p1:Name>
      </d2p1:From>
      <d2p1:Headers xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </d2p1:Headers>
      <d2p1:SendAt>0</d2p1:SendAt>
      <d2p1:Subject>String</d2p1:Subject>
      <d2p1:Substitutions xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </d2p1:Substitutions>
      <d2p1:TemplateData />
      <d2p1:Tos>
        <d2p1:EmailAddress>
          <d2p1:Email>String</d2p1:Email>
          <d2p1:Name>String</d2p1:Name>
        </d2p1:EmailAddress>
      </d2p1:Tos>
    </d2p1:Personalization>
  </Personalizations>
  <Subject>String</Subject>
  <TemplatesId>String</TemplatesId>
</SendGridMailTemplateRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<z:anyType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" />