发送触发式邮件

Send Trigger messages 发送触发式邮件

Triggers接口通过HTTP POST方式,将之前已设置好的API-触发的邮件向某个列表中的收件人发送。需指定单一邮件的ID。目前,这是Trigger 相关唯一有效的接口方式.

请求数据格式

请求URL参数:
参数 类似 描述
ID integer 触发邮件ID.作为地址的一部分应用(不是GET参数).见以下示例.
示例URL:
https://api.esv2.com/v2/Api/Triggers/123

向收件人发送触发邮件请求中的Data元素部分.

Data子元素:

 

元素/属性名称 类型 描述
xsi:type 描述所操作数据类型. 此请求中值恒为 “TriggerReceivers”
Receivers complex 将会收到触发邮件的收件人集合 (Receiver元素).


Receiver子元素:

元素/属性名称 类型 描述
Id integer 收件人标识ID. 选填. *
Email string 收件人email. 选填. .

*注意:为了指定收件人,ID或Email元素必须填写其一。如果email已填写,那有这个email的收件人必须存在于后台数据库。如果两个字段都被填写了,ID优先作用。

未在数据库中找到的收件人会被忽略,而且不会收到触发邮件(也无报错信息返回).

示例

请求:
POST https://api.esv2.com/v2/Api/Triggers/123 HTTP/1.1 

Accept-Encoding: gzip,deflate 
Content-Type: application/xml 
User-Agent: Jakarta 
Commons-HttpClient/3.1 
Host: api.esv2.com 
Content-Length: 427 
 
 
 <ApiRequest xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xs=”http://www.w3.org/2001/XMLSchema”>
    <ApiKey>test_api_key1</ApiKey>
    <Data xsi:type=”TriggerReceivers”>
       <Receivers>
          <Receiver>
             <Id>137384</Id>
          </Receiver>
          <Receiver>
             <Email>test@testtest.com</Email>
          </Receiver>
       </Receivers>
    </Data>
 </ApiRequest>
OK 应答:
HTTP/1.1 201 Created
Cache-Control: private
Server: Microsoft-IIS/7.5
Set-Cookie: ASP.NET_SessionId=oxhfxmvpdfj1gz45mhxgx1jb; path=/; HttpOnly
X-AspNetMvc-Version: 1.0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 19 Jul 2010 17:08:43 GMT
Content-Length: 0

 

错误应答:
HTTP/1.1 400 Bad Request
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
Set-Cookie: ASP.NET_SessionId=2xdqfo55sk0k53450qbwzj45; path=/; HttpOnly
X-AspNetMvc-Version: 1.0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Wed, 21 Jul 2010 13:10:09 GMT
Content-Length: 247
<ApiResponse xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
 <ErrorMessage>
  <Code>400</Code>
  <Message>Trigger is inactive or was deleted.</Message>
 </ErrorMessage>
</ApiResponse>