- курьер получает путевой лист с специальным уникальным кодом заказа;
- после доставки отправляет смс на специальный номер с префиксом и кодом заказа через пробел;
- кб по крону дергает данные по входящим смс, ищет код в базе заказов и меняет автоматически статус на требуемый вам.
Цитата
Рады сообщить вам о запуске бесплатного сервиса - Прием входящих СМС! Отныне всем клиентам доступен функционал обратной связи при помощи простого и понятного для каждого способа - СМС сообщения. Каким образом это работает? В разделе настройки приема входящих СМС https://new.sms16.ru...oming/settings/ вам выделен специальный префикс, используя который ваши клиенты могут написать вам СМС, и это сообщение будет отображено в личном кабинете! Пример СМС: 1235 Спасибо, мне очень понравилось в вашем ресторане! Абонентская плата за использование сервиса отсутствует, все входящие СМС сообщения на номер через ваш префикс - бесплатны! По желанию вы можете настроить различные правила обработки входящих СМС сообщений, например, настроить автоответчик или переслать смс на номер телефона или email, а также добавить номер абонента в стоп-лист или базу.
Итак зарегистрировались, заходите в личный кабинет - прием входящих. Видим
Цитата
Обратите внимание, что получение входящих СМС на фиксированный номер 79037672672 абсолютно бесплатно, и все полученные в ваш адрес СМС сообщения будут отображаться в личном кабинете!
Начните работать со входящими СМС прямо сейчас!
Начните работать со входящими СМС прямо сейчас!
А теперь нужен код для получения этих входящих смс. Из личного кабинета получаем логин и апи ключ. В кроне добавляем:
$sms = new IntisSms("testlogin", "865f2f8c9561a4fdf794a2c2f34638d98ecb8176c");
//Получаем смс
$income_sms = $sms->getSms("2015-02-23");
//Код который что-то делает в кб
$income_sms имеет следующую структуру
Array ( [498504] => Array ( [sms_id] => 498504 [date] => 2015-02-23 02:43:22 [sender] => 79622075063 [prefix] => 23998 [text] => 23998 ТЕСТ [code] => ТЕСТ ) [498508] => Array ( [sms_id] => 498508 [date] => 2015-02-23 05:09:03 [sender] => 79217378164 [prefix] => 23998 [text] => 23998 RNXGN [code] => RNXGN ) )
class IntisSms
{
private $api_key;
private $login;
private $url = "https://new.sms16.ru/get/incoming.php";
private $snoopy;
private $sms;
public function __construct($login, $api_key)
{
$this->api_key = $api_key;
$this->login = $login;
$this->snoopy = new \Snoopy();
}
/**
* Получаем список смс за указанную дату
* @param $date
* @return array
*/
public function getSms($date)
{
$this->snoopy->fetch($this->getUrl($date));
$sms = json_decode($this->snoopy->results);
if(isset($sms->error)) {
print_r($sms);
$this->sms = array();
} else {
$this->sms = array();
foreach ($sms as $id => $val) {
preg_match("/([0-9]+)([\s]+)([A-Za-z0-9]+)/", trim($val->text), $part);
$this->sms[$id] = array('sms_id' => $id,'date' => $val->date, 'sender' => $val->sender, 'prefix' => $val->prefix, 'text' => $val->text, 'code' => $part[3]);
}
}
return $this->sms;
}
/**
* Генерация ссылки для получения входящих смс
* @param $date
* @return string
*/
private function getUrl($date)
{
$params = $this->createParam($date);
$signature = $this->signature($params);
$get = "";
foreach ($params as $key => $value) {
$get .= $key . "=" . $value . "&";
}
$get = substr($get, 0, strlen($get) - 1);
// echo $signature;
return $this->url . "?signature=" . $signature . "&" . $get;
}
/**
* Создание пакета параметров
* @param $date
* @return array
*/
private function createParam($date)
{
$param = array();
$param['login'] = $this->login;
$param['timestamp'] = $this->getTimeStamp();
$param['date'] = $date;
$param['return'] = "json";
return $param;
}
/**
* Получение тайместемпа для подписи
* @return string
*/
private function getTimeStamp()
{
$snoopy = new \Snoopy();
$snoopy->fetch("https://new.sms16.ru/get/timestamp.php");
return $snoopy->results;
}
/**
* Генерация подписи
* @param $params
* @return string
*/
private function signature($params)
{
ksort($params);
reset($params);
return md5(implode($params) . $this->api_key);
}
}
Вообще сервис предоставляет и другие функции, а также подробную документацию. Лаконичную и понятную. Советую ознакомится.














