/ru/servis-sms-rassylok/php-example/

Пример подключения к шлюзу ePochta SMS 3.0 на PHP

Вам необходимо обладать базовыми знаниями PHP, чтобы с лёгкостью интегрировать смс шлюз в своей проект. В любом случае наши специалисты готовы помочь в настройке подключения. Если у вас возникнут какие-либо вопросы или проблемы, обращайтесь в службу технической поддержки.

Ниже приведен пример использования возможностей шлюза ePochta SMS с использованием языка программирования PHP. Наши специалисты подготовили специальный класс, с использованием которого вы сможете с лёгкостью интегрировать отправку смс в свой проект.

Обратите внимание, перед использованием класса вам необходимо внести измнения в файл config.php. Вам необходимо заполнить значение переменных $sms_key_private, $sms_key_public, которые можно взять в личном кабинете в разделе Настройки смс сервиса. Также не забудьте там же активировать использование API. Используйте кодировку UTF-8 для корректной работы.

Пример использования класса:

<?php
include 'config.php';
include 'Addressbook.php';
include 'Exceptions.php';
include 'Account.php';
include 'Stat.php';

$Gateway=new APISMS($sms_key_private,$sms_key_public, 
					'http://atompark.com/api/sms/');
$Addressbook=new Addressbook($Gateway);
$Exceptions=new Exceptions($Gateway);
$Account=new Account($Gateway);
$Stat = new Stat ($Gateway);

//Первым делом, зарегистрируем имя отправителя, если собираемся рассылать СМС
// в том числе в Украину
//Если вы собираетесь отправлять смс исключительно в Россию - 
//регистрировать имя отправителя нет необходимости
$res=$Account->registerSender('testName','ua');

//Проверяем успешность операции
if (isset($res["result"]["error"])) {
die ("Ошибка: ".$res["result"]["code"]);
}

//Создаем адресную книгу
$res=$Addressbook->addAddressBook('Test book');

//Проверяем успешность операции
if (isset($res["result"]["error"])) {
die ("Ошибка: ".$res["result"]["code"]);
} else {
//Получаем ИД книги
$addrbook_id = $res["result"]["addressbook_id"];
}

//Добавляем несколько телефонов для рассылки
$res=$Addressbook->addPhoneToAddressBook($addrbook_id, 
				'79010000001', 'Валерий;Маринец;');
if (isset($res["result"]["error"])) {
echo ("Ошибка: ".$res["result"]["code"]."
");
}
$res=$Addressbook->addPhoneToAddressBook($addrbook_id, 
				'79010000002', 'Сергей;Вершинин;');
if (isset($res["result"]["error"])) {
echo ("Ошибка: ".$res["result"]["code"]."
");
}

//Проверяем баланс счета
$res=$Account->getUserBalance();
if (isset($res["result"]["error"])) {
echo ("Ошибка: ".$res["result"]["code"]."
");
} else {
echo ("Баланс: ".$res["result"]["result"]["balance_currency"]." 
		".$res["result"]["result"]["currency"]);
$balance = $res["result"]["balance_currency"];
}

//Проверим, хватает ли денег на запланированную рассылку
$res = $Stat->checkCampaignPrice("testName", 
		"Тестируем отправку смс сообщения через ePochta SMS", 
		$addrbook_id);
if (isset($res["result"]["error"])) {
die ("Ошибка: ".$res["result"]["code"]."
");
} else {
$cost = $res["result"]["price"];
}

if ($balance > $cost) {
//А теперь по созданной адресной книге отправим рассылку
$res = $Stat->createCampaign("testName", 
		"Тестируем отправку смс сообщения через ePochta SMS", 
		$addrbook_id, "", 0, 0, 0, "");
if (isset($res["result"]["error"])) {
echo ("Ошибка: ".$res["result"]["code"]."
");
} else {
$campaign_id = $res["result"]["id"];
}

//Теперь можно получить данные о доставке. 
//Понятно, что в реальности необходимо будет немного подождать 
//для обновления статусов, 
//сохранив $campaign_id и выполнив запрос позже.
$res = $Stat->getCampaignDeliveryStats($campaign_id);
//если запрос выполнить сразу, то мы получим JSON 
//примерно следующего содержания
/*
{
"result":{
"phone":["79010000001","79010000002"],
"sentdate":["0000-00-00 00:00:00","0000-00-00 00:00:00"],
"donedate":["0000-00-00 00:00:00","0000-00-00 00:00:00"],
"status":["0","0"]
}
}
//Что значит, что кампания еще находится в очереди отправки
*/

} else {
//недостаточно денег на рассылку
}

?>
Вашим сервисом я начала пользоваться недавно и мне нравится! Удобно, быстро, сразу присылается отчёт. Таким образом я отследила телефоны, которые не работают, видимо, люди поменяли симки, значит, к ним мне надо будет подойти с другой стороны...а те люди, которые получили необходимую информацию во-время, приняли нужное мне решение... Читать далее »
Ирина Кожевникова
С ePochta SMS работаем не так уже давно, но никаких вопросов не возникало. Единственным недостатком в начале нашей совместной работы было отсутствие экспорта отчёта по доставке. Очень оперативно среагировали на замечания, спасибо! Это большой плюс – взаимопонимание персонала сервиса с клиентом. Так держать! Ждём от вашей компании новых услуг по мобильному маркетингу и не только! Читать далее »
Наталия, маркетолог
Попробуйте ePochta SMS бесплатно уже сегодня!

 

Активируйте свой аккаунт и получите 10 бесплатных СМС

Нажмите кнопку «Скачать» и затем «Сохранить» в диалоговом окне. Загрузка произойдет автоматически