Skip to content

Create message

Messages collection allows creating and saving as draft messages, using HTTP POST method.

Request data format

Data part of request for creating a new message.

Data element children:

Element/attributeTypeNotes
MessageTypestringRequired. Possible message types :
Newsletter
Autoresponder
Trigger
Transactional
Recurring
WorkflowMessage
ContentcomplexContent information. Required.

Content element children:

Element/attributeTypeNotes
FromNamestringString put into “From:” header.
FromEmailstringEmail put into “From:” header.
ReplyToNamestringString put into “Reply-To:” header.
ReplyToEmailstringEmail put into “Reply-To:” header.
SubjectstringMessage subject.
HtmlstringHTML content of message. The data should be enclosed in CDATA section for XML transport. See examples. Optional.*
PlainstringPlain text content of message. Optional.*
AmpHtmlstringAMP HTML content of message. The data should be enclosed in CDATA section for XML transport. See examples. Optional.*
Preheaderstring Message preheader. Optional.
HeaderintegerID of header template to use. Optional.
FooterintegerID of footer template to use. Optional.
ContentFromUrlcomplexUsed if content is not inside XML request but has to be downloaded from external source. Optional.*
GoogleAnalyticsTagscomplexGoogle Analytics tags used to decorate links inside message’s content. Optional. If omitted, Google Analytics will be disabled for created message.
Tagsarray[string]List of tags used to mark the message for convenience reasons. Optional.
AttachmentscomplexCollection of “Attachment” elements, containing additional attachment data (e.g. encoded PDF files sent with the message). Optional.**
UrlIntegrationscomplexList of IDs of URL integrations that were created in Business unit settings. Optional.
EnableClickTrackbooleanIf set to “false”, clicks won’t be tracked. By default set to “true”. Optional.
EnableOpenTrackbooleanIf set to “false”, opens won’t be tracked. By default set to “true”. Optional.

* You may either put content of message inside using Html, Plain and/or AmpHtml elements or specify that content is to be downloaded from external source (such as webpage or FTP server as zipped file with HTML and images) using ContentFromUrl element. If content was not found in either place, an error message will be returned. If there are more than one Html, Plain and/or AmpHtml files only the last file will be the content of message. If you would like to send AMP Html you should provide Html and/or Plain as a fallback version of email.

AMP Html content must contain all needed elements (see examples) and all links must be secure links (like https://)

** It is not possible to have both ContentFromUrl and Attachments elements at the same time.

Note: If you wish to send inline images within your message, using ContentFromUrl method is the only way to do it.

ContentFromUrl element children:

Element/attributeTypeNotes
UrlstringURL address of imported file. Supported protocols are HTTP, HTTPS, FTP, FTPS and SFTP. E.g. ftp://www.domain.com/mycreative.zip
UsernamestringUsername used for authentication. Optional.
PasswordstringPassword used for authentication. Optional.
FtpAuthstringAuthentication method for secure FTP servers. Optional. Valid values are:
None – FTP server does not support secure authentication (default)
ExplicitTls – Explicit TLS/SSL authentication
ExplicitSsl – Explicit SSL only authentication
ImplicitSsl – Implicit SSL authentication
FtpUseActiveModebooleanIf set to “true”, active mode will be used for FTP connections. Default value is “false” – passive connection mode will be used.

GoogleAnalyticsTags element children:

Element/attributeTypeNotes
CampaignstringGoogle Analytics tag “utm_campaign”. Optional.
SourcestringGoogle Analytics tag “utm_source”. Optional.
ContentstringGoogle Analytics tag “utm_content”. Optional.

Note: The remaining tag, “utm_medium” is by default specified as “Email”.

Attachment element children:

Element/attributeTypeNotes
FileNamestringAttachment filename. E.g. “infosheet.pdf”. Should be unique (no 2 attachments should have the same filename). Required.
MimeTypestringFile type according to MIME standards. E.g. “application/pdf”. If omitted, default MIME type will be used: “application/octet-stream”. Optional. MIME type can affect how email attachments are treated in different email clients, so it is advisable to always specify the correct type.*
ContentstringAttachment file content. Must be Base64 encoded.** See example requests. Required.

* Note: For list of MIME types for different files, see: http://en.wikipedia.org/wiki/Internet_media_type
** Note: Binary to Base64 encoding is available in most programming languages. For more information about Base64 encoding, see: http://en.wikipedia.org/wiki/Base64

Example:

POST https://api.esv2.com/v2/Api/Messages

Response

Method returns ID of created message. ID can be used to retrieve message statistics (see /Api/MessageStatistics).

Response Data element:

Element/attributeTypeNotes
(Data element content)intID of created message.

Examples

Sending a simple newsletter

Request:

POST https://api.esv2.com/v2/Api/Messages HTTP/1.1 
Accept-Encoding: gzip,deflate 
Content-Type: text/xml;charset=UTF-8 
User-Agent: Jakarta Commons-HttpClient/3.1 
Host: api.esv2.com 
Content-Length: 457 

 <ApiRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <ApiKey>2OAEcpz0Rwv3Mhc9nTQK</ApiKey>
  <Data>
     <MessageType>Autoresponder</MessageType>
     <Content>
       <FromName>booyah</FromName>
       <FromEmail>test@test.com</FromEmail>
       <Subject>test draftów przez API</Subject>
       <Plain>Hello friend, how are you?</Plain>
     </Content>
   </Data>
 </ApiRequest>

Response:

HTTP/1.1 201 Created 
Cache-Control: private 
Content-Type: text/xml; charset=utf-8 
Server: Microsoft-IIS/7.5 
X-AspNetMvc-Version: 3.0 
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET 
Date: Tue, 27 Mar 2012 13:28:01 GMT 
Content-Length: 149  

 <ApiResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <Data>1498</Data>
 </ApiResponse>