ePochta Email Service API (v. 3.0)
Пример подключения к шлюзу ePochta Mail 3.0 на PHP
Вам необходимо обладать базовыми знаниями PHP, чтобы с лёгкостью интегрировать mail шлюз в своей проект. В любом случае наши специалисты готовы помочь в настройке подключения. Если у вас возникнут какие-либо вопросы или проблемы, обращайтесь в службу технической поддержки.
Ниже приведен пример использования возможностей шлюза ePochta SMS с использованием языка программирования PHP. Наши специалисты подготовили специальный класс, с использованием которого вы сможете с лёгкостью интегрировать отправку смс в свой проект.
Вам необходимо заполнить значение переменных $privateKey, $publicKey, которые можно взять в личном кабинете в разделе Настройки mail сервиса. Также не забудьте там же активировать использование API. Используйте кодировку UTF-8 для корректной работы.
Пример использования класса:
Создание экземпляра класса
<?php include 'api-email.php'; $publicKey = 'd0f0c63b5zxc0df330fdcc0421c18dd1'; $privateKey = '0e7f13944cxc5f19ef27cafeab6628fd'; // =========================================================================== // создаем экземпляр класса ApiEmailService // =========================================================================== $apiEmail = new ApiEmailService($publicKey, $privateKey); // ===========================================================================
// =========================================================================== // Операции с адресными книгами // =========================================================================== // создание адресной книги $res = $apiEmail->addAddressBook('one address home'); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { // получаем ID книги $addrbook_id = $res['result']["addressbook_id"]; } // --------------------------------------------------------------------------- // удаление адресной книги $addrbook_id = 123; // 123 - id адресной книги $res = $apiEmail->delAddressBook($addrbook_id); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { // Успех } // --------------------------------------------------------------------------- // получение информации об адресной книге $addrbook_id = 123; // 123 - id адресной книги $res = $apiEmail->getAddressBook($addrbook_id); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { /* успех, получим примерно такой массив, см. описание методов API $res = array( ['id'] => 123, ['name'] => atompark, ['all_email_qty'] => 61, ['active_email_qty'] => 55, ['inactive_email_qty'] => 0, ['activation_request_qty'] => 5, ['creationdate'] => 2012-06-27 15:50:10 ) */ } // ===========================================================================
// =========================================================================== // Операции с адресами // =========================================================================== /* добавление адресов в адресную книгу * следует помнить, что на загрузку адресов в адресную книгу нужно некоторое время */ $addrbook_id = 123; // 123 - id вашей адресной книги $emails = array('email1@addr.com', 'email2@addr.com'); // массив адресов $res = $apiEmail->addAddresses($addrbook_id, $emails); // еще пример, добавление персонализированных адресов а несколько адресных книг $addrbooks = array(124, 125); // массив id ваших адресных книг $variadles = array(// массив переменных, кол-во элементов должно совпадать с кол-вом адресов 0 => array('name' => 'Иваннов', 'age' => 32), 1 => array('name' => 'Петров', 'age' => 28)); $res = $apiEmail->addAddresses($addrbooks, $emails, $variadles); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { // Успех } // --------------------------------------------------------------------------- /* активация адресов адресной книги * операция отправляет все неактивные адреса адресной книги на модерацию */ $addrbook_id = 123; // 123 - id вашей адресной книги $res = $apiEmail->activateEmails($addrbook_id, 'Произвольное описание, откуда взят список адресов'); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { /* успех, возвращется кол-во адресов отправленых на активацию $res = array( ['activation_request_qty'] => 2 ); */ } // --------------------------------------------------------------------------- // блокирование/разблокирование адреса (для активных или отключенных адресов) $status = 1; // 0 - заблокировать адрес, 1 - разблокировать адрес $addrbook_id = 123; // 123 - id вашей адресной книги $res = $apiEmail->changeEmailStatus($addrbook_id, 'email2@addr.com', $status); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { // Успех } // --------------------------------------------------------------------------- // удалить адрес $addrbook_id = 123; // 123 - id вашей адресной книги $res = $apiEmail->delEmail($addrbook_id, 'ed@epochta.ru'); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { // Успех } // ===========================================================================
// =========================================================================== // Операции с рассылками (кампаниями) // =========================================================================== // статистика по кампании $task_id = 123; // 123 - id компании $res = $apiEmail->getCampaignStats($task_id); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { /* успех, получим примерно такой массив, см. описание методов API $res = array( ['id'] => 123, ['name'] => test, ['statistics'] => array ( ['sent'] => 23, ['delivered'] => 15, ['open'] => 2, ['visit_link'] => 0, ), ['status'] => 3, ['count'] => 24, ['tariff_email_qty'] => 24, ['paid_email_qty'] => 0, ['overdraft_price'] => 0, ['ovedraft_currency'] => UAH ); */ } // --------------------------------------------------------------------------- // информация по кампаниям пользователя (возможны параметры start, offset) $start = 0; $offset = 10; $res = $apiEmail->getCampaign($start, $offset); // выборка кампаний с 1 по 10 if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { /* успех, получим примерно такой массив, см. описание методов API $res = array( [35] => Array ( [name] => testSend [message] => Array ( [sender_name] => Mixail [sender_email] => exmpl@email.com [subject] => Тест [body] => PHRhYmxlIHN0eWxlPSJib3JkZXIt [list_id] => 38 [attachments] => ) [status] => 3 [count] => 2 [tariff_email_qty] => 2 [paid_email_qty] => 0 [overdraft_price] => 0 [ovedraft_currency] => UAH ) ) */ } // --------------------------------------------------------------------------- // создание кампании $sender_name = 'Имя отправителя'; $sender_email = 'send@email.com'; // адрес отправителя $sender_email = 'home7519@yandex.ru'; // адрес отправителя $subject = 'Тема письма'; $body = 'Текст письма'; $addrbook_id = 123; // ID адресной книги $name = 'Имя рассылки'; $res = $apiEmail->createCampaign($sender_name, $sender_email, $subject, $body, $addrbook_id, $name); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { /* успех, получим примерно такой массив, см. описание методов API $res = array( ['id'] => 7265, ['status'] => 1, ['count'] => 1, ['tariff_email_qty'] => 1, ['paid_email_qty'] => 0, ['overdraft_price'] => 0, ['ovedraft_currency'] => UAH, ); */ } // --------------------------------------------------------------------------- // статистика по адресам кампании (возможны параметры start, offset) $start = 0; $offset = 1; $res = $apiEmail->getCampaignDeliveryStats(50, $start, $offset); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { /* успех, получим примерно такой массив, см. описание методов API $res = array ( [0] => array ( [0] => exmpl@email.com [1] => 1 [2] => 2012-07-10 09:23:17 ) ).... */ } // ===========================================================================
// =========================================================================== // Операции с балансом // =========================================================================== // получить баланс в заданной валюте $res = $apiEmail->getUserBalance('UAH'); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { /* успех, возвращает массив, баланс и валюту $res = array( ['balance_currency'] => 81.9 ['currency'] => UAH ) */ } // ===========================================================================
// =========================================================================== // Операции с отправителями // =========================================================================== // получить список отправителей (возможны параметры start, offset) $start = 0; $offset = 10; $res = $apiEmail->getSender($start, $offset); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { /* успех, возвращает массив адресов отправителей $res = array ( [0] => exmpl1@email.com [1] => exmpl2@email.com ) */ } // --------------------------------------------------------------------------- // добавить отправителя $sender_name = 'Имя отправителя'; $sender_email = 'exmpl3@email.com'; // адресс отправителя $res = $apiEmail->addSender($sender_name, $sender_email); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { /* успех */ } // запросить код активации на почтовый ящик отправителя $sender_email = 'exsampl@email.com'; $res = $apiEmail->getSenderActivateCode($sender_email); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { // Успех } // --------------------------------------------------------------------------- // активировать e-mail отправителя по коду активации $sender_email = 'exsampl@email.com'; $code_activate = 'ea59478fde77ea86a0b43d199254e671'; $res = $apiEmail->activateSender($sender_email, $code_activate); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { // Успех } // --------------------------------------------------------------------------- // удаление отправителя $sender_email = 'exsampl@email.com'; $res = $apiEmail->delSender($sender_email); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { // Успех } // ===========================================================================
// =========================================================================== // Операции с метками // =========================================================================== // получить список меток $res = $apiEmail->getLabels(); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { /* успех, возвращает массив меток $res = array( [0] => имя метки1 [1] => имя метки2 ) */ } // --------------------------------------------------------------------------- // создать метку $res = $apiEmail->addLabels('Имя метки'); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { // успех } // --------------------------------------------------------------------------- // удалить метку $res = $apiEmail->delLabels('labTest'); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { // Успех } // ===========================================================================
// =========================================================================== // Операции со списками отписавшихся // =========================================================================== // получить список отписавшихся (возможны параметры start, offset) $start = 0; $offset = 10; // первые 10 отписавшихся $res = $apiEmail->getBlackList($start, $offset); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { /* успех, получим примерно такой массив, см. описание методов API $res = array( [0] => exmpl@email.com [1] => exmpl1@email.com ..... ) */ } // --------------------------------------------------------------------------- // добавить отписавшегося $block_email = 'exmp4l4@email.com'; // адрес для отписки от рассылок $comment = 'Ваш комментарий к блокировке адреса'; $res = $apiEmail->addBlackList($block_email, $comment); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { // Успех } // --------------------------------------------------------------------------- // удалить отписавшегося $del_email = 'exmp4l4@email.com'; // удаляемый адрес $res = $apiEmail->delBlackList($del_email); $res = $apiEmail->addBlackList($block_email, $comment); if (isset($res["error"])) { // проверяем успешность операции die("Ошибка: " . $res["error"]); } else { // Успех }