/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)); } }