api_key = $key; $this->list_id = $list_id; } function getConnection($POST, $link) { // Устанавливаем соединение $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $POST); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_URL, $link); return curl_exec($ch); } public function getCampaignStatus($campaign_id) { // Создаём POST-запрос $POST = array ( 'api_key' => $this->api_key, 'campaign_id' => $campaign_id ); $result = $this->getConnection($POST, 'http://api.unisender.com/ru/api/getCampaignStatus?format=json'); if ($result) { // Раскодируем ответ API-сервера $jsonObj = json_decode($result); return $jsonObj->result->status; } } function SendMail($to, $nameto, $from, $namefrom, $title, $mailMessage, $files='') { // Создаём POST-запрос $POST = array ( 'api_key' => $this->api_key, 'email' => $to, 'sender_name' => $namefrom, 'sender_email' => $from, 'subject' => $title, 'body' => $mailMessage, 'list_id' => $this->list_id ); $result = $this->getConnection($POST, 'http://api.unisender.com/ru/api/sendEmail?format=json'); if ($result) { // Раскодируем ответ API-сервера $jsonObj = json_decode($result); if(null===$jsonObj) { // Ошибка в полученном ответе echo "Invalid JSON"; } elseif(!empty($jsonObj->error)) { // Ошибка отправки сообщения echo "An error occured: " . $jsonObj->error . "(code: " . $jsonObj->code . ")"; } else { // Сообщение успешно отправлено echo "Email message is sent. Message id " . $jsonObj->result->email_id; } } else { // Ошибка соединения с API-сервером echo "API access error"; } } function CreateMessage($from, $namefrom, $title, $mailMessage) { $POST = array ( 'api_key' => $this->api_key, 'sender_name' => $namefrom, 'sender_email' => $from, 'subject' => $title, 'body' => $mailMessage, 'list_id' => $this->list_id ); $result = $this->getConnection($POST, 'http://api.unisender.com/ru/api/createEmailMessage?format=json'); if ($result) { // Раскодируем ответ API-сервера $jsonObj = json_decode($result); return $jsonObj->result->message_id; } } public function createCampaignDelivery($to = null, $from, $namefrom, $title, $mailMessage) { $email_stats_links = "1"; $email_stats_read = "1"; $defer = '1'; // Создаём POST-запрос $POST = array ( 'api_key' => $this->api_key, 'message_id' => $this->CreateMessage($from, $namefrom, $title, $mailMessage), 'track_read' => $email_stats_read, 'track_links' => $email_stats_links, 'contacts' => $to, 'defer' => $defer ); $result = $this->getConnection($POST, 'http://api.unisender.com/ru/api/createCampaign?format=json'); $jsonObj = json_decode($result); return $jsonObj->result->campaign_id; } public function getCampaignDeliveryStats($id) { $POST = array ( 'api_key' => $this->api_key, 'campaign_id' => $id, ); $result = $this->getConnection($POST, 'http://api.unisender.com/ru/api/getCampaignDeliveryStats?format=json'); return json_decode($result); } public function getCampaignAggregateStats($id) { $POST = array ( 'api_key' => $this->api_key, 'campaign_id' => $id, ); $result = $this->getConnection($POST, 'http://api.unisender.com/ru/api/getCampaignAggregateStats?format=json'); return json_decode($result); } public function getVisitedLinks($id) { $POST = array ( 'api_key' => $this->api_key, 'campaign_id' => $id, ); $result = $this->getConnection($POST, 'http://api.unisender.com/ru/api/getVisitedLinks?format=json'); return json_decode($result); } public function getCampaigns() { $api_key = '5xaiqb1pnuu8jsun4rwxhow4shj11e55zdhjf5do'; // Создаём GET-запрос $api_url = "http://api.unisender.com/ru/api/getCampaigns?format=json&api_key=$api_key"; // Делаем запрос на API-сервер $result = file_get_contents($api_url); if ($result) { // Раскодируем ответ API-сервера $jsonObj = json_decode($result); if(null===$jsonObj) { // Ошибка в полученном ответе echo "Invalid JSON"; } elseif(!empty($jsonObj->error)) { // Ошибка получения списка рассылок echo "An error occured: " . $jsonObj->error . "(code: " . $jsonObj->code . ")"; } else { // Выводим коды и статусы всех имеющихся рассылок echo "Here's a list of your campaigns:
"; foreach ($jsonObj->result as $one) { echo "Campaign #" . $one->id . " (" . $one->status . ")". "
"; } } } else { // Ошибка соединения с API-сервером echo "API access error"; } } } }