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人)