Отправка SMS на PHP
Примеры скрипта для отправки SMS на PHP
Инструкции для API шлюза
https://ssl.bs00.ru/?method=push_msg&key=YOUR_API_KEY&text=SMS_TEXT&phone=SMS_PHONE_NUMBER_OF_THE_RECIPIENT&sender_name=MyBrandName
где
YOUR_API_KEY – API Key
SMS_TEXT – Текст SMS сообщения
SMS_PHONE_NUMBER_OF_THE_RECIPIENT – Номер телефона получателя SMS, в любом формате
MyBrandName – Буквенное имя отправителя, добавленное в раздел "Отправители".
<?php
$key = 'Dfr7GHkkd83Fldffe4Dfe36j'; // API key запросите в поддержке при активации SMS шлюза
$phone = '79050550000'; // Номер телефона в любом формате 89050550000, 9050550000, 8(905)055-00-00 и т.д.
$sender_name = 'MyBrandName'; // Отправитель, предварительно должен быть добавлен в раздел Отправители в личном кабинете
$text = 'Тест смс'; // Текст SMS
$sms_params["method"] = 'push_msg';
$sms_params["format"] = 'json'; // формат ответа (json, xml)
$sms_params["key"] = $key;
$sms_params["phone"] = $phone;
$sms_params["sender_name"] = $sender_name;
$sms_params["text"] = urlencode($text);
$sms_params["priority"] = 2; // Приоритет (1,2,3,4). Подробнее в документации.
$url = "https://ssl.bs00.ru/?"; // URL API сервиса
$tmp = array();
foreach ($sms_params as $key => $val)
$tmp[] = $key."=".$val;
$url .= implode("&", $tmp);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$out = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
var_dump($out);
?>
<?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)
?>