Webservice方法-UpdateRecipientsStatus接口
介紹
調用本接口可以更新接受方地址的狀態為如下狀態:正常狀態;退訂狀態;硬退狀態;
方法聲明如下:
public EaseyeDetailedResultReturnDTO UpdateRecipientsStatus( EaseyeUserAccountDTO easeyeUserAccountDTO, list<string> recipients, int status)
輸入
- EaseyeUserAccountDTO:easeyeUserAccountDTO
- 用戶帳戶信息(必填),其字段詳細信息如下:
Index | Field | Type | Desc |
---|---|---|---|
1 | string(50) | 用戶名(必填) | |
2 | Password | string(50) | 密碼(必填) |
注:1)Email是用户名,也就是平台的登录帐号:
- List<string>:recipients
- 待更新的接受方郵件地址,郵件地址長度不能超過50;
- int:status
- 更新後的狀態:
- 0:正常狀態;
- 1:退訂狀態;
- 2:硬退狀態;
處理
如果待更新的狀態為正常狀態,那麼
- 如果該地址存在,且其狀態為非正常狀態,該地址更新結果為成功;
- 如果該地址存在,且其狀態為正常狀態,該地址更新結果為失敗;(通過此方式通知調用方該異常行為,如果調用方想忽略這種錯誤,根據相應的錯誤碼來忽略即可)
- 如果該地址不存在,該地址更新結果為失敗;(通過此方式通知調用方該異常行為,如果調用方想忽略這種錯誤,根據相應的錯誤碼來忽略即可);
如果待更新的狀態為退訂或者硬退狀態,那麼
- 如果該地址存在,忽略其現有狀態,強制更新其狀態為退訂或者硬退狀態,該地址更新結果為成功;
- 如果該地址不存在,添加該地址,且標記其狀態為退訂或者硬退狀態,該地址更新結果為成功;
輸出
- EaseyeDetailedResultReturnDTO
- 導入聯繫人返回信息,其字段詳細信息如下:
Index | Field | Type | Desc |
---|---|---|---|
1 | ErrorCode | Int | 錯誤碼,3位整數 2xx:處理成功; 3xx:部分成功; 4xx:臨時錯誤; 5xx:永久錯誤 |
2 | ErrorInfo | string | 發生臨時錯誤和永久錯誤 時,攜帶失敗的原因 |
3 | ErrorItems | List <ErrorItem> |
導入失敗的聯繫人,當且 僅當ErrorCode為3xx時本值才可以參考 |
注:1)判断是否成功的标准取决于ErrorCode,其取值范围和取值含义见它的描述;
2)一般来说,临时失败(4xx)建议等待一个随机事件后重试,可设定最大重试次数;
重试若干次如果仍然失败,通知管理员联系我方,同时将ErrorInfo的值记录下来,一并告知我方;
3)永久失败(5xx)不建议重试,发生5xx时,通知管理员联系我方,同时将ErrorInfo的值记录下来,一并告知我方;
- 其中,ErrorItem的字段信息如下:
Index | Field | Type | Desc |
---|---|---|---|
1 | ErrorCode | Int | 錯誤碼 4xx:臨時錯誤,可以重試; 5xx:永久錯誤,不建議重試; 401:改地址不存在,導致更新失敗; 402:改地址狀態不允許本次更新操作; 403:其它原因導致更新失敗; 501:代表着郵件地址不符合規範等原因導致更新失敗,不建議重試; |
2 | ErrorDesc | string | 本地地址導入失敗的原因 |
3 | ItemValue | string | 更新失敗的聯繫人地址 |
注:1)ErrorCode为401时,代表着因为该地址不存在导致的更新失败(目前仅用于更新正常状态的联系人);
2)ErrorCode为402时,代表着因为该地址的状态不正确导致更新失败(目前仅用于正常状态更新到正常状态);
3)ErrorCode为403时,代表着其他原因导致更新失败(比如数据库操作失败等等),建议重试;
4)ErrorCode为501时,代表着邮件地址不符合规范等原因导致更新失败(比如数据库操作失败等等);
5)一般来说,ErrorCode为4xx时,可以尝试重试该地址,如果为5xx时,不建议重试;
- 常見調用失敗情況
- (4xx):業務限制;
- (4xx):數據庫操作失敗;
- (5xx):某個字段長度不符合定義;
- (5xx):某個必須的字段缺失;
- (6xx):聯繫人Email地址格式校驗不通過;
- (6xx):一次導入的聯繫人過多(大於1000人)