Hi Scott,
In Dynamics Marketing, there is an API: msdyncrm_EmailValidate to validate a marketing email record.
Request
POST [Organization URI]/api/data/v9.0/msdyncrm_EmailValidate
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
Content-Type: application/json; charset=utf-8
{
'FieldValueContentLanguage': 1033,
'FieldValueContentType': 0,
'FieldValueEmailBody': '',
'FieldValueEmailTextPart': 'Hello friend',
'FieldValueFromEmail': 'admin@clofly.com',
'FieldValueFromName': 'MOD Administrator',
'FieldValueMarketingEmailId': '{8A68C12E-B027-EB11-A813-000D3AA080EC}', // Marketing Email GUID
'FieldValueMessageDesignation': 0,
'FieldValueName': '11-16-01', // Marketing Email name
'FieldValueReplyToEmail': 'clofly@outlook.com',
'FieldValueStatusCode': 192350001,
'FieldValueSubject': '$100 FOR 10 DAYS', // Marketing Email subject
'FieldValueTestConfiguration': '{"tests":[]}',
'FieldValueTo': '{{ contact.emailaddress1 }}'
}
Response
(It is based on the sample data in Request.)
{
@odata.context: "[Organization URI]/api/data/v9.0/$metadata#Microsoft.Dynamics.CRM.msdyncrm_EmailValidateResponse",
"ValidationResult": {"PartValidationResults":[{"PartName":"Html","Messages":[{"Level":1,"MessageCode":"MetaReferrerNeverMissing","ParameterizedMessageCode":null,"Parameters":[]}],"Context":null},{"PartName":"Html","Messages":[{"Level":2,"MessageCode":"MissingSubscriptionCenterLinkInHtml","ParameterizedMessageCode":null,"Parameters":[]}],"Context":null},{"PartName":"Text","Messages":[{"Level":2,"MessageCode":"MissingSubscriptionCenterLinkInText","ParameterizedMessageCode":null,"Parameters":[]}],"Context":null},{"PartName":"Html","Messages":[{"Level":2,"MessageCode":"MissingLegalPhysicalAddressInHtml","ParameterizedMessageCode":null,"Parameters":[]}],"Context":null},{"PartName":"Text","Messages":[{"Level":2,"MessageCode":"MissingLegalPhysicalAddressInText","ParameterizedMessageCode":null,"Parameters":[]}],"Context":null}],"Result":"Error"}
}
Formatting the ValidationResult of response:
{
"PartValidationResults": [
{
"PartName": "Html",
"Messages": [
{
"Level": 1,
"MessageCode": "MetaReferrerNeverMissing",
"ParameterizedMessageCode": null,
"Parameters": []
}
],
"Context": null
},
{
"PartName": "Html",
"Messages": [
{
"Level": 2,
"MessageCode": "MissingSubscriptionCenterLinkInHtml",
"ParameterizedMessageCode": null,
"Parameters": []
}
],
"Context": null
},
{
"PartName": "Text",
"Messages": [
{
"Level": 2,
"MessageCode": "MissingSubscriptionCenterLinkInText",
"ParameterizedMessageCode": null,
"Parameters": []
}
],
"Context": null
},
{
"PartName": "Html",
"Messages": [
{
"Level": 2,
"MessageCode": "MissingLegalPhysicalAddressInHtml",
"ParameterizedMessageCode": null,
"Parameters": []
}
],
"Context": null
},
{
"PartName": "Text",
"Messages": [
{
"Level": 2,
"MessageCode": "MissingLegalPhysicalAddressInText",
"ParameterizedMessageCode": null,
"Parameters": []
}
],
"Context": null
}
],
"Result": "Error"
}
However, the API is not officially supported, please use it on your own risk.
Regards,
Clofly