/schedule
目录 |
/schedule
- 触发交易邮件-(旧)
URL
- {HOST}/services /schedule
支持格式
- XML(Atom)
HTTP 请求方式
- POST
认证方式
请求数限制
- true
请求参数
| 字段名称 | 是否必选 | 字段类型 | 说明 |
|---|---|---|---|
| auth | 是 | String | BASIC/APIKEY/ OAUTH 三种认证方式信息中的一种 |
| alt | 是 | String | 通过该参数,你可以改变返回值的格式,目前支持的返回值格式包括:atom(默认) ,暂不支持json |
| title | 是 | String | 触发标题 |
| um:subject | 是 | String | 邮件主题 |
| um:from | 是 | String | 邮件From地址 |
| um:reply | 是 | String | 邮件回复地址 |
| um:datasets | 是 | String | 默认参数集 |
| um:a | 是 | String |
参数名称与对应值 要跟踪统计的超链接,需要添加link属性。 link属性值规则: 1.不能使用纯数字。 2.不同的超链可以使用相同的值,将作为一个跟踪链接进行统计。 链接示例: <a link="tlink1" href="http://www.example.com">链接示例1</a> |
| link | 是 | Number | 发送计划ID |
| link | 否 | Number | 联系人列表ID |
| um:recipients | 是 | String | 联系人集合 |
| um:r | 是 | String | 联系人 |
| 触发邮件使用说明 |
1. 如果邮件地址Email 错误:系统自动跳过 2. 如果该联系人,已退订过. 系统自动跳过 3.如果发送量已用完. 系统自动跳过 4. 如果联系人数超过公司购买联系人数,多余的部分。系统自动跳过 5. 一次调用的触发邮件联系人数被限制在100以下,如果超过100.系统将自动拒绝 6. queued = 加入队列; deleted=联系人已被删除(不发送);invalided=邮件地址无效(不发送);unsubscribed=联系人被退订(不发送) 7. warning=recipientsQuotaReached=联系人已达指标(警告);warning=messagesQuotaReached=邮件已达指标(警告);警告超过信用值将不予发送 8.um:upgrade API发送计划每个月将自动生成一个当月发送计划,如果用户使用的不是当月发送计划。就出现该 um:upgrade 属性.link链接href属性中存放当前月应该更新的触发发送计划。 |
请求字符串
<?xml version="1.0" encoding="GBK"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:um="http://www.unimarketing.com.cn/xmlns/">
<title type="text">第一次触发</title>
<um:subject>,本月工资清单</um:subject>
<um:from>DJ<unimail2012@163.com></um:from>
<um:reply>unimail2012@163.com</um:reply>
<um:datasets>
<um:a name="b"><![CDATA[这里是内容
<a link="tlink1" href="http://www.example.com">链接示例1</a>
<a link="tlink2" href="http://www.example.com">链接示例2</a>
]]></um:a>
<um:a name="c">这里是页脚信息</um:a>
<um:a name="a">这里是头信息!</um:a>
<um:a name="trendsSubject">灵动</um:a>
</um:datasets>
<link href="http://services.unimarketing.com.cn/schedule/7112" rel="related"></link>
<link href="http://services.unimarketing.com.cn/list/5032" rel="related"></link>
<um:recipients>
<um:r email="unimail2011@163.com">
<um:a name="b">邮件B-----Body</um:a>
<um:a name="c">邮件C-----Footer</um:a>
<um:a name="a">邮件A——Header</um:a>
<um:a name="trendsSubject">张三</um:a>
</um:r>
<um:r email="unimail2012@163.com"></um:r>
</um:recipients>
</entry>
返回结果
<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:um="http://www.unimarketing.com.cn/xmlns/">
<link href="http://services.unimarketing.com.cn/envelope/2201203000012436" rel="related" um:recipient="dejian.liu@unimarketing.com.cn" um:status="queued"></link>
<link href="http://services.unimarketing.com.cn/envelope/2201203000012437" rel="related" um:recipient="138520300@qq.com" um:status="queued"></link>
<um:upgrade>
<link href="http://services.unimarketing.com.cn/schedule/10850" rel="related"></link>
</um:upgrade>
</entry>
字段说明
| 字段名称 | 意义 | 数据类型 | 备注 |
|---|---|---|---|
| link | 联系人相关信息 | String |
href ="http://services.unimarketing.com.cn/envelope2201203000012436" 为 联系人ID um:recipient =联系人Email地址 um:status = 联系人状态 |
| um:upgrade | 当前发送计划ID | String | 提示触发发送计划已过期,需要替换发送计划ID为当前 link 中指定的触发发送计划ID |
调用示例(Java 示例)
package cn.unisoftware.api.client.example1.transaction;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import cn.unisoftware.api.client.ApiClient;
import cn.unisoftware.api.client.UnimailClient;
import cn.unisoftware.api.client.model.Recipient;
import cn.unisoftware.api.client.model.TransactionMailReq;
import cn.unisoftware.api.client.model.TransactionMailRes;
import cn.unisoftware.api.client.utils.AtomConstants;
/**
* @description 触发交易邮件
* @author DJ
* @date 2011-07-11
*/
public class TriggerTransactionMail {
public static void main(String[] args) throws Exception {
UnimailClient unimailClient = UnimailClient.getClient(false,ApiClient.AuthMode.BASIC, new String[]{AtomConstants.userName,AtomConstants.userPwd});
// UnimailClient unimailClient = UnimailClient.getClient(false,ApiClient.AuthMode.APIKEY, new String[]{AtomConstants.apikey,AtomConstants.apisecret});
// UnimailClient unimailClient = UnimailClient.getClient(UnimailClient.AuthMode.APIKEY, new String[]{AtomConstants.apikey,AtomConstants.apisecret});
TransactionMailReq tmr = new TransactionMailReq();
tmr.setTitle("第一次触发"); //【必填】 标题
// tmr.setSubject("工资清单"); //【必填】 邮件主题 (针对个性化邮件这个提供参数变量的方式,来支持动态主题)
tmr.setSubject(",本月工资清单"); //【必填】 动态主题
tmr.setMailFrom("DJ<unimail2012@163.com>"); // 【选填】 from 地址
tmr.setReply("unimail2012@163.com"); //【选填】回复地址
/**
* key = 邮件模板参数
* value = 邮件模板参数对应的值
*/
Map<String, String> defaultParams = new HashMap<String, String>();
defaultParams.put("trendsSubject", "灵动");//设置默认动态主题
defaultParams.put("a","这里是头信息!"); //参数a,及替换内容
defaultParams.put("b","这里是内容");
defaultParams.put("c","这里是页脚信息");
tmr.setDefaultParams(defaultParams);//【必填】 默认需要替换的参数与值
tmr.setSendplanId(Long.valueOf(7112)); //【必填】发送计划ID
tmr.setListId(Long.valueOf(5032)); //【必填】 触发邮件需要加入的联系人列表
List<Recipient> lists = new ArrayList<Recipient>();
Recipient r = new Recipient();
r.setEmail("unimail2011@163.com");
Map<String, String> params = new HashMap<String, String>();
params.put("trendsSubject", "张三");
params.put("a", "邮件A----Header");
params.put("b", "邮件B-----Body");
params.put("c", "邮件C-----Footer");
r.setParams(params);
lists.add(r);
r = new Recipient();
r.setEmail("unimail2012@163.com"); //如果联系人没有设置单独的变量与内容替换。就用defaultParams替换
lists.add(r);
tmr.setRecipients(lists); //【必填】邮件接收人集合
List<TransactionMailRes> trs = unimailClient.triggerTransactionMail(tmr);
System.out.println(ToStringBuilder.reflectionToString(trs,ToStringStyle.MULTI_LINE_STYLE));
}
}