Данная статья предназначена для технических специалистов, желающих использовать интерфйс трансляций со своими трекерами/программами. Если вы организуете трансляцию с использованием телефонов и программы OGPSTracker, то вам не нужно вдаваться во все эти технические подробности.
Ниже формат который используется при отправке данных о положении участника с телефона-трекера на сервер o-gps-center.ru
Идентификатор и пароль участника
Для отправки данных необходимо знать:
- Идентификатор участника. Он есть в URL для просмотра данных участника. Например, если URL выглядит как http://o-gps-center.ru/manage/competitors/view/665, то идентификатор участника равен 665.
- Пароль участника. Пароль выдаётся участнику при регистрации. Его можно увидеть на странице просмотра данных участника. Например: efc30d04d33b040ab1a2949dbba95a68
Все данные также есть в разделе Настройки телефона-трекера (после регистрации участника).
URL для отправки данных
Чтобы отправить данные о координатах участника надо сделать HTTP POST-запрос по адресу
http://o-gps-center.ru/device/update-track/<ID участника>
Например
http://o-gps-center.ru/device/update-track/665
Тело POST-запроса
Content-type запроса - application/x-www-form-urlencoded
В теле запроса передаётся параметр secret
c паролем участника и параметр points
, который содержит по одной строке для каждой точки трека участника. Значения разделены пробелами
<время> <широта> <долгота> <высота> <точность> <скорость> <направление> <флаг fromGPS> <уровень заряда батареи>
Например
2013-03-08T11:25:33 60.25076 29.804885 19.4 34.900 0.03654 60.43999 1 95 2013-03-08T11:25:51 60.25080 29.804674 39.6 34.900 0.08853 258.3900 1 94
Обратите внимание на то, что в поле <время>
между датой и временем стоит символ "T". Время надо передавать в часовом поясе UTC!
Флаг fromGPS равен 1, если данные пришли от датчика GPS и 0, если сигнал GPS потерян.
Для всех строк делается urlencode. Результат становится значением параметра points.
Пример итогового запроса:
POST http://o-gps-center.ru/device/update-track/665 HTTP/1.1 Host: local-o-gps-center.ru Connection: keep-alive Content-Length: 243 Cache-Control: max-age=0 Origin: http://local-o-gps-center.ru User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1106.241 YaBrowser/1.5.1106.241 Safari/537.4 Content-Type: application/x-www-form-urlencoded Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Referer: http://local-o-gps-center.ru/app_dev.php/device/update-track-form/112 Accept-Encoding: gzip,deflate,sdch Accept-Language: ru,en;q=0.8 Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.3 Cookie: tz_offset=-4; PHPSESSID=s7f8750t9mtkfo13r4oqgsji22 secret=efc30d04d33b040ab1a2949dbba95a68&points=2013-03-08T11%3A25%3A33%0960.25076%0929.804885%0919.4%0934.900%090.03654%0960.43999%091%0995%0D%0A2013-03-08T11%3A25%3A51%0960.25080%0929.804674%0939.6%0934.900%090.08853%09258.3900%091%0994%0D%0A
Ответ сервера будет выглядеть примерно так:
HTTP/1.1 200 OK Date: Wed, 20 Mar 2013 15:34:30 GMT Server: Apache/2.2.22 (Win32) PHP/5.3.21 X-Powered-By: PHP/5.3.21 cache-control: no-cache connection: keep-alive, Keep-Alive x-debug-token: 5149d7077eeec Keep-Alive: timeout=120, max=83 Transfer-Encoding: chunked Content-Type: text/plain; charset=UTF-8 b OK 665 2 0 0
Этот ответ означает, что для участника 665 были успешно приняты 2 точки, 0 строк отклонено.
В случае, если ошибки сервер вместо OK
вернёт DECLINE
.