- курьер получает путевой лист с специальным уникальным кодом заказа;
- после доставки отправляет смс на специальный номер с префиксом и кодом заказа через пробел;
- кб по крону дергает данные по входящим смс, ищет код в базе заказов и меняет автоматически статус на требуемый вам.
Цитата
Рады сообщить вам о запуске бесплатного сервиса - Прием входящих СМС! Отныне всем клиентам доступен функционал обратной связи при помощи простого и понятного для каждого способа - СМС сообщения. Каким образом это работает? В разделе настройки приема входящих СМС 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); } }
Вообще сервис предоставляет и другие функции, а также подробную документацию. Лаконичную и понятную. Советую ознакомится.