diff --git a/src/Snowcap/Emarsys/Client.php b/src/Snowcap/Emarsys/Client.php index c89488e..349a7e0 100644 --- a/src/Snowcap/Emarsys/Client.php +++ b/src/Snowcap/Emarsys/Client.php @@ -536,6 +536,17 @@ public function getEmailResponses(array $data) return $this->send(HttpClient::POST, 'email/getresponses', $data); } + /** + * Count the unsubscription statistics of a specific campaign. + * + * @param array $data + * @return Response + */ + public function setEmailUnsubscriptionCount(array $data) + { + return $this->send(HttpClient::POST, 'email/unsubscribe', $data); + } + /** * Returns a list of email categories which can be used in email creation. * diff --git a/src/Snowcap/Emarsys/Response.php b/src/Snowcap/Emarsys/Response.php index 1d23cd4..42a6e6f 100644 --- a/src/Snowcap/Emarsys/Response.php +++ b/src/Snowcap/Emarsys/Response.php @@ -34,13 +34,13 @@ class Response */ function __construct(array $result = array()) { - if (!isset($result['replyCode']) || !isset($result['replyText']) || !isset($result['data'])) { + if (!isset($result['replyCode']) || !isset($result['replyText']) || !array_key_exists('data', $result)) { throw new ClientException('Invalid result structure'); } $this->replyCode = $result['replyCode']; $this->replyText = $result['replyText']; - $this->data = $result['data']; + $this->data = (array) $result['data']; } /**