Webservice方法-SendMailListRequestByGroup接口
介紹
調用本接口可以向系統中某個組發送郵件;
方法聲明如下:
public EaseyeReturnDTOSendMailListRequestByGroup( EaseyeUserAccountDTO easeyeUserAccountDTO, EaseyeMessageTemplateDTO easeyeMessageTemplateDTO, EaseyeGroupDTO easeyeGroupDTO,EaseyeSendOptionDTO easeyeSendOptionDTO)
輸入
- EaseyeUserAccountDTO:easeyeUserAccountDTO
- 用戶帳戶信息(必填),其字段詳細信息如下:
Index | Field | Type | Desc | 最佳實踐 |
---|---|---|---|---|
1 | string(50) | 用戶名(必填) | 登錄名 | |
2 | Password | string(50) | 密碼(必填) | 接口密碼(不是人工登錄密碼) |
注:1)Email是用户名,也就是平台的登录帐号;
- EaseyeMessageTemplateDTO:easeyeMessageTemplateDTO
- 待發送的模板信息(必填),其字段詳細信息如下:
Index | Field | Type | Desc | 最佳實踐 |
---|---|---|---|---|
1 | TemplateName | string(100) | 模板名稱(必填) | 建議和任務名稱一致,保持唯一性 |
2 | Subject | string(100) | 郵件主題 | 根據用戶傳入填寫 |
3 | Body | string(8000) | 郵件內容 | 根據用戶傳入填寫 |
4 | HasAD | Bool | 主題是否加AD | 設置為「true」 |
5 | HasSysBody | Bool | 郵件內容是否加退訂標記 | 設置為「true」 |
6 | AttachmentUrl | string(不限) | 附件的絕對URL路徑(不建議使用附件) | 不填,或者設置為空"" |
7 | TrackLink | string | 是否對當前傳入的模板進行跟蹤, 本字段為1時表示需要跟蹤;不傳本字段, 或者本字段為其他值表示不對模板鏈接進行處理; |
設置為「1」 |
8 | IsBodyHtml | string | 是否為HTML格式 | 設置為「1」 |
注:1)如果想复用系统已有的模板,TemplateName字段填写待复用的模板名称,其他字段均不填;
2)如果想更改已有的模板,TemplateName字段填写待更改的模板名称,其他字段均需要填写对应的值(相当于新建模板);
3)如果某个模板正在使用中(某个列表正在使用该模板发送),我们不允许更改模板,但允许复用该模板(不填body字段);
4)如果需要跟踪模板,可以设定TrackLink值为1;如果传入的模板已经是跟踪过的,或者不需要跟踪,可以不设定本字段;
5)邮件模板格式是否为HTML格式:如果IsBodyHtml等于数字(字符串)“1”,则是HTML格式。如果该字段设置为其他值,则是非HTML格式。
- EaseyeGroupDTO:easeyeGroupDTO
- 待發送的聯繫組(必填),其字段詳細信息如下:
Index | Field | Type | Desc | 最佳實踐 |
---|---|---|---|---|
1 | GroupName | string(50) | 組名,可以用分號分割傳遞多個組名(必填) | 調用導入聯繫人接口時設置的聯繫組名 |
2 | RepulsionGroupName | String(max) | 用來傳遞排斥組的名字,可以用分號分割傳遞多個組名。(選填) | 不填,或者填寫為空"" |
- EaseyeSendOptionDTO:easeyeSendOptionDTO
- 發送相關的選項(必填),其字段詳細信息如下:
Index | Field | Type | Desc | 最佳實踐 |
---|---|---|---|---|
1 | MailProjectName | String(256) | 項目名稱 | 不填,或者填寫為空「」 |
2 | MailListtName | String(256) | 列表名稱(必填) | 設置為任務名稱,請確保唯一 |
3 | SenderName | String(100) | 發送方名稱(建議填寫) | 根據配置填寫 |
4 | SenderEmail | String(100) | 發送方地址(必填) | 根據配置填寫 |
5 | ReplyTo | String(50) | 回復地址 | 根據配置填寫 |
6 | IsActive | Bool | 是否激活(只有激活才能發送)(必填) | 設置為"true" |
7 | ScheduleSendTime | String(不限) | 計劃發送時間 | 不填,或者根據管理員傳入值填寫 |
8 | IsSendOnce | String | 本列表名稱是否僅使用一次 1:僅使用一次;不傳本字段,或者本字段為 其他值表示本列表名稱允許重複使用; |
設置為「1」 |
9 | CustomDomain | String | 用戶自定義域名。 如果選擇了跟蹤郵件中的鏈接, 則鏈接中的域名會被替換成該自定義域名 |
不填,或者填寫為空"" |
10 | TopicName | String | 欄目名稱 | 不填,或者填寫為空"" |
11 | contactLiveNew | String | 是否啟用新版活躍度。 輸入值1(啟用)或0(不啟用) |
填寫為「0」 |
12 | ExpirationDate | String | 列表過期時間點,必須比發送時間晚4個小時, 格式為「yyyy-MMddThh:mm:ss」其中, 各個數值所佔位數必須符合格式定義,不足則補0, 比如「2012-07-03T03:23:01」 |
不填,或者根據管理員傳入值填寫 |
13 | MailListPrecedenceBase | String | 發送列表優先級,可以設定為以下值: 0、1、2,分別表示普通、中、高三個優先級別 |
不填,或者填寫為「0」 |
注:1)如果列表名称为本次发送的名称,您需要使用它来查询后续的报表,所以我们建议您尽量不要使用重复的列表名称;
2)发送方地址(SenderEmail)必须在平台验证通过方可使用,您可以登录平台后,在”我的配置”的”添加验证更多地址”中,添加您想使用的发送方地址;
3)计划发送时间如果不填写或者填写的值小于系统当前时间,视为立刻发送;如果您需要定时发送,该字段的格式为”yyyy-MM-dd hh:mm:ss”;
4)IsSendOnce是用来防止异常情况下的重复发送或者遗漏发送的;主要用于以下场景:如果您提交了一次发送,但是,提交请求过程中,网络异常中断;
当网络恢复时,您无法确定您上次提交是否成功;出于这种考虑,您可以将这个字段一直设置为1;提交后我们会检查该列表名称是否有发送历史,如果有,
那么,本次发送就不会进行(返回成功);如果没有,本次发送就会进行(根据进行结果返回成功失败);
5)CustomDomain必须是用户在平台上已经添加的。该域名会在发送邮件时替换默认的链接。
6)TopicName必须是在平台上已经添加的。且用户开通栏目功能。
處理
首先創建或者更改或者加載模板,最後創建列表,關聯所需要發送的組後發送;
- 如果模板名稱不存在,則創建模板;如果模板名稱存在,且body字段非空,則根據當前信息更新模板(該模板不能在使用中);如果模板名稱存在,且body字段為空,則加載已有模板;
- 如果對應的組不存在或者組中的聯繫人為空,系統會返回臨時錯誤(4xx);
- 如果創建列表激活時,發現點數不足,系統會返回臨時錯誤(4xx);
輸出
- EaseyeReturnDTO
- 郵件發送返回信息,其字段詳細信息如下:
Index | Field | Type | Desc |
---|---|---|---|
1 | ErrorCode | Int | 錯誤碼,3位整數 2xx:處理成功; 3xx:部分成功; 4xx:臨時錯誤; 5xx:永久錯誤 |
2 | ErrorInfo | string | 發生臨時錯誤和永久 錯誤時,攜帶失敗的原因 |
注:1)判断是否成功的标准取决于ErrorCode,其取值范围和取值含义见它的描述;
2)一般来说,临时失败(4xx)建议等待一个随机时间后重试,可设定最大重试次数;
重试若干次如果仍然失败,通知管理员联系我方,同时将ErrorInfo的值记录下来,一并告知我方;
3)永久失败(5xx)不建议重试,发生5xx时,通知管理员联系我方,同时将ErrorInfo的值记录下来,一并告知我方;
- 常見調用失敗情況
- (4xx):點數不足;
- (4xx):模板或者列表正在使用中(試圖更改一個模板或者列表);
- (4xx):待發送的組不存在或者該組中無聯繫人;
- (4xx):數據庫操作失敗;
- (5xx):某個字段長度不符合定義;
- (5xx):某個必須的字段缺失;
- (5xx):聯繫人Email地址格式校驗不通過;