Нужна помощь?
Задайте вопрос специалисту технической поддержки
Ниже приведен пример использования возможностей шлюза ePochta SMS с использованием языка программирования PHP. Наши специалисты подготовили специальный класс, с использованием которого вы сможете с лёгкостью интегрировать отправку СМС в свой проект.
Пример использования класса:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
<?phpinclude 'config.php';include 'Addressbook.php';include 'Exceptions.php';include 'Account.php';include 'Stat.php';$Gateway=new APISMS($sms_key_private,$sms_key_public, $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"]."<br>");}$res=$Addressbook->addPhoneToAddressBook($addrbook_id, '79010000002', 'Сергей;Вершинин;');if (isset($res["result"]["error"])) {echo ("Ошибка: ".$res["result"]["code"]."<br>");}//Проверяем баланс счета$res=$Account->getUserBalance();if (isset($res["result"]["error"])) {echo ("Ошибка: ".$res["result"]["code"]."<br>");} 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"]."<br>");} 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"]."<br>");} 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 {//недостаточно денег на рассылку}?> |
Обратите внимание, перед использованием класса вам необходимо внести измнения в файл config.php. Вам необходимо заполнить значение переменных $sms_key_private, $sms_key_public, которые можно взять в личном кабинете в разделе
Настройки смс сервиса. Также не забудьте там же активировать использование API. Используйте кодировку UTF-8 для корректной работы.