CPU.Notifications

<back to all web services

ValidateEmail

The following routes are available for this service:
POST/ValidateEmail
"use strict";
export class ValidateEmail {
    /** @param {{email?:string,source?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    email;
    /** @type {?string} */
    source;
}
export class Additional {
    /** @param {{hasKnownBounces?:boolean,hasSpamReports?:boolean,hasSuspectedBounces?:boolean,spamReportCreated?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    hasKnownBounces;
    /** @type {boolean} */
    hasSpamReports;
    /** @type {boolean} */
    hasSuspectedBounces;
    /** @type {?string} */
    spamReportCreated;
}
export class Domain {
    /** @param {{hasMxOrARecord?:boolean,hasValidAddressSyntax?:boolean,isSuspectedDisposableAddress?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    hasMxOrARecord;
    /** @type {boolean} */
    hasValidAddressSyntax;
    /** @type {boolean} */
    isSuspectedDisposableAddress;
}
export class LocalPart {
    /** @param {{isSuspectedRoleAddress?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    isSuspectedRoleAddress;
}
export class Checks {
    /** @param {{additional?:Additional,domain?:Domain,localPart?:LocalPart}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?Additional} */
    additional;
    /** @type {?Domain} */
    domain;
    /** @type {?LocalPart} */
    localPart;
}
export class Result {
    /** @param {{checks?:Checks,email?:string,host?:string,ip_Address?:string,local?:string,score?:number,source?:string,suggestion?:string,verdict?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?Checks} */
    checks;
    /** @type {?string} */
    email;
    /** @type {?string} */
    host;
    /** @type {?string} */
    ip_Address;
    /** @type {?string} */
    local;
    /** @type {number} */
    score;
    /** @type {?string} */
    source;
    /** @type {?string} */
    suggestion;
    /** @type {?string} */
    verdict;
}
export class EmailValidation {
    /** @param {{result?:Result}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?Result} */
    result;
}

JavaScript ValidateEmail 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 /ValidateEmail HTTP/1.1 
Host: cpmwebservices-t.clarkpud.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ValidateEmail xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CPU.Notifications.ServiceModel">
  <Email>String</Email>
  <Source>String</Source>
</ValidateEmail>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<EmailValidation xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CPU.SendGridAPI">
  <Result>
    <Checks>
      <Additional>
        <HasKnownBounces>false</HasKnownBounces>
        <HasSpamReports>false</HasSpamReports>
        <HasSuspectedBounces>false</HasSuspectedBounces>
        <SpamReportCreated>0001-01-01T00:00:00</SpamReportCreated>
      </Additional>
      <Domain>
        <HasMxOrARecord>false</HasMxOrARecord>
        <HasValidAddressSyntax>false</HasValidAddressSyntax>
        <IsSuspectedDisposableAddress>false</IsSuspectedDisposableAddress>
      </Domain>
      <LocalPart>
        <IsSuspectedRoleAddress>false</IsSuspectedRoleAddress>
      </LocalPart>
    </Checks>
    <Email>String</Email>
    <Host>String</Host>
    <Ip_Address>String</Ip_Address>
    <Local>String</Local>
    <Source>String</Source>
    <Verdict>String</Verdict>
  </Result>
</EmailValidation>