Add soft level errors distinction for MailPoet service

[MAILPOET-1154]
This commit is contained in:
Rostislav Wolny
2018-09-11 09:42:14 +02:00
parent 223c2e1562
commit db3ddd22f1
2 changed files with 9 additions and 8 deletions

View File

@ -34,14 +34,15 @@ class MailPoetMapper {
case API::RESPONSE_CODE_PAYLOAD_ERROR:
$result_parsed = json_decode($result['message'], true);
$message = __('Error while sending.', 'mailpoet');
if(is_array($result_parsed)) {
try {
$subscribers_errors = $this->getSubscribersErrors($result_parsed, $subscribers);
} catch (InvalidArgumentException $e) {
$message .= ' ' . $e->getMessage();
}
} else {
if(!is_array($result_parsed)) {
$message .= ' ' . $result['message'];
break;
}
try {
$subscribers_errors = $this->getSubscribersErrors($result_parsed, $subscribers);
$level = MailerError::LEVEL_SOFT;
} catch (InvalidArgumentException $e) {
$message .= ' ' . $e->getMessage();
}
break;
case API::RESPONSE_CODE_TEMPORARY_UNAVAILABLE: