Готовый php скрипт для отправки СМС
С помощью API можно отправлять как одиночные СМС-сообщения, так и осуществлять СМС-рассылку из PHP-скриптов со своих сайтов или CRM-систем.
Используя СМС-шлюз больше нет необходимости утверждать, согласовывать или предварительно создавать в личном кабинете имя отправителя при каждой новой рассылке. Данную функцию удобно использовать в проектах, в которых требуется динамическая смена имени отправителя.
Шаг 1- Регистрация на СМС сервисе
После регистрации в нашем личном кабинете на Вашу электронную почту будет направлен пароль, который необходимо будет использовать в API или создайте себе API KEY в личном кабинете ("Настройки" -> "API и Интеграция"), чтобы не передавать логин и пароль в открытом виде.
Шаг 2 - Скачать библиотеку отправки СМС (PHP-скрипт) и файл примера отправки СМС на PHP
Отправка СМС на PHP осуществляется с помощью нашей библиотеки sms-prosto.ru (смс php), которую Вы можете скачать на нашем сайте, разархивировать архив и сохранить в той же директории, что и сам скрипт.
Шаг 3 - Создать PHP-скрипт отправки СМС на своем сайте
Создайте свой PHP-скрипт отправки СМС-сообщений (пример ниже). Созданный скрипт должен располагаться в одной директории с нашей библиотекой.
Пример отправки 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
|
<?php
// Пример 1 - отправляем sms сообщение,
// совмещая аутентификацию с отправкой сообщения.
// в этом примере для аутентификации на сервере используется API KEY
// API KEY можно запросить в личном кабинете в разделе "НАСТРОЙКИ" -> "API и Интеграция"
// (доступно после активации SMS-шлюза)
//--------------------------------------------------------------------
require_once "sms-prosto_ru.php" ;
$key = "r5dfgh4341jBH14g" ;
$phone = "7xxxYYYyyzz" ;
// при отправке SMS используется метода push_msg
$result = smsapi_push_msg_nologin_key($key, $phone, "Hello world =)!" , array( "sender_name" => "user" ));
var_dump($result);
// В результате выполнения запроса Вы получите массив $result, который будет содержать следующие параметры:
array(4) {
[0]=>
int(0) // Код ошибки (0 - выполнено успешно, СМС отправлена)
[1]=>
int(1) // Количество частей СМС
[2]=>
string(4) "1.29" // Стоимость
[3]=>
int(8213301) // ID SMS на стороне SMS-шлюза
}
// Пример 2 - отправляем SMS сообщение,
// совмещая аутентификацию с отправкой сообщения.
// в этом примере для аутентификации на сервере используется ЛОГИН и ПАРОЛЬ от cервиса
//--------------------------------------------------------------------
require_once "sms-prosto_ru.php" ;
$email = "user@example.com" ;
$password = "K0kM" ;
$phone = "7xxxYYYyyzz" ;
// при отправке SMS используется метода push_msg
$result = smsapi_push_msg_nologin($email, $password, $phone, "Hello world =)!" , array( "sender_name" => "user" ));
var_dump($result);
// В результате выполнения запроса Вы получите массив $result, который будет содержать следующие параметры:
array(4) {
[0]=>
int(0) // Код ошибки (0 - выполнено успешно, СМС отправлена)
[1]=>
int(1) // Количество частей СМС
[2]=>
string(4) "1.29" // Стоимость
[3]=>
int(8213301) // ID SMS на стороне SMS-шлюза
}
?>
|
Получение статусов ранее отправленных 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
|
<?php
// Получить статус СМС сообщения можно 2 способами:
// 1 - Самостоятельно запросить статус методом get_msg_report
// 2 - Прописать в личном кабинете, в разделе "НАСТРОЙКА" - "API и интеграция" URL своего сайта
// на который SMS шлюз будет самостоятельно передавать статусы сообщений по мере их получения
// от оператора связи
//--------------------------------------------------------------------
// 1-й способ мы не будем описывать, Вы можете самостоятельно посмотреть все необходимые параметры
// в Документации (ссылка ниже)
//
// 2-й способ более интересный
// Вы прописываете в ЛК URL на который необходимо прислать статус, далее наша платформа будет
// делать GET запросы к этому URL со следующими параметрами
// Предлагаемый вариант скрипта, который получает статусы
@$sms_id = $_GET[ "id_sms" ]; // ID SMS
@$state = $_GET[ "state" ]; //ID статуса сообщения
// 1-доставлено, 2-не доставлено, 4-в очереди на SMSC оператора, 8-доставлено в SMSC оператору, 16-отклонено оператором
@$last_update = $_GET[ "last_update" ]; // Время доставки смс сообщения абоненту
// (время определяется по часовому поясу
// операторского СМС шлюза и может отличаться
// от часового пояса Москвы)
// (передается в формате UNIX_TIME)
@$state_date = $_GET[ "state_date" ]; // Время поступления статуса от оператора связи
// (время определяется по часовому поясу операторского СМС шлюза и может
// отличаться от часового пояса Москвы)
// (передается в формате UNIX_TIME)
@$phone = $_GET[ "phone" ]; // Номер Абонента
// Получив эти данные, Вы можете сохранить их себе в БД.
// Мы рекомендуем делать UPDATE данных в БД (а не INSERT), посколько мы постоянно
// совершенствуем платформу SMS-шлюза и планируется функция
// повторной отправки СМС. Т.е., допустим СМС не была доставлена абоненту,
// пришел статус НЕ доставлено. Через 5 минут платформа отправляет
// сообщение повторно. Т.е. по этому же сообщению может поступить
// статус ДОСТАВЛЕНО. Необходимо это учитывать.
?>
|