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 datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EmailAddress:
    name: Optional[str] = None
    email: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Personalization:
    tos: Optional[List[EmailAddress]] = None
    ccs: Optional[List[EmailAddress]] = None
    bccs: Optional[List[EmailAddress]] = None
    from_: Optional[EmailAddress] = field(metadata=config(field_name='from'), default=None)
    subject: Optional[str] = None
    headers: Optional[Dict[str, str]] = None
    substitutions: Optional[Dict[str, str]] = None
    custom_args: Optional[Dict[str, str]] = None
    send_at: Optional[int] = None
    template_data: Optional[Object] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SendGridMailTemplateRequest:
    from_: Optional[EmailAddress] = field(metadata=config(field_name='from'), default=None)
    subject: Optional[str] = None
    templates_id: Optional[str] = None
    api_key: Optional[str] = None
    personalizations: Optional[List[Personalization]] = None

Python SendGridMailTemplateRequest 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 /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

{
	
}