Для получения входящих SMS-сообщений вам обычно требуется шлюз SMS, который поддерживает входящие SMS-сообщения.
Clickatell - это популярный SMS-шлюз. Он работает в более чем 200 странах, и по иронии судьбы его рекламируют прямо рядом с текстовым полем. Я пишу этот ответ!
Для входящих SMS-сообщений вам потребуется предоставить интерфейс с вашего сервера через: HTTP, SMPP, SOAP или FTP. Например, если вы используете HTTP GET и предоставляете Clickatell этот URL-адрес: http://www.yourdomain.com/incoming-sms/
, то Clickatell будет отправлять вам GET-запрос такого типа с каждым входящим SMS:
https://www.yourdomain.com/incoming-sms/?
api_id=12345&
from=279991235642&
to=27123456789&
timestamp=2010-02-1921:29:50&
text=Here%20is%20the%20messagetext&
charset=ISO-8859-1&
moMsgId=b2aee337abd962489b123fda9c3480fa
Как только вы получите адрес в теле SMS, вам нужно будет получить координаты широты / долготы через серверную службу геокодирования Google Maps API . Если вы используете php, это будет выглядеть примерно так:
$url = 'http://maps.google.com/maps/geo?q=Oxford+Street,+London,+UK&output=csv&sensor=false';
$data = @file_get_contents($url);
$result = explode(",", $data);
echo $result[0]; // status code
echo $result[1]; // accuracy
echo $result[2]; // latitude
echo $result[3]; // longitude
После того, как вы получите широту и долготу, вы можете сохранить их в базе данных для последующего нанесения на Карты Google.
Обратите внимание, что служба геокодирования на стороне сервера может использоваться только в сочетании с отображением результатов на карте Google; Результаты геокодирования без отображения их на карте запрещены Условиями использования Google Maps API Условия лицензии .
Если вы хотите использовать SMS-шлюз Clickatell для отправки ответа обратно через SMS, их API предлагает выбор вариантов исходящих соединений через: HTTP / S, SMPP, SMTP, FTP, XML, SOAP, COM-объект.
Метод HTTP / S очень прост: http://api.clickatell.com/http/sendmsg?to=NUMBER&msg=Message+Body+Here
( Руководство по Clickatell API ).
Метод SMTP заключается в отправке простого электронного сообщения по адресу: sms@messaging.clickatell.com
со следующим текстом:
user: xxxxx
password: xxxxx
api_id: xxxxx
to: 448311234567
text: Meet me at home