{
  "type": "disconnected",
  "deviceId": "deviceIdString"
}
{
  "type": "track",
  "deviceId": "deviceIdString",
  "track": [
    {
      "time": 0,
      "lon": 0.0,
      "lat": 0.0
    },
    {
      "time": 1,
      "lon": 0.1,
      "lat": 0.1
    }
  ]
}
{
  "type": "connected",
  "deviceId": "deviceIdString",
  "deviceType": "deviceTypeString",
  "additionalInfo": {
    "k": "v"
  }
}

«type» - тип текущего сообщения. Текущий поддерживаемый список - [«connected», «track», «trafficJam», «disconnected»]
НЕ ОБРАБАТЫВАЙТЕ «trafficJam» - требует стабилизации (обновление от 04.09.2019: всё ещё не обрабатывать!)

«track» - массив объектов точек трека
обязательные поля точек трека
«time» - integer хранит unixtime
«lon» - float хранит долготу
«lat» - float хранит широту

необязательные (и в данное время не посылаемые, так как не стабилизирован тип и формат передаваемых полей)
НЕ ОБРАБАТЫВАЙТЕ ЭТИ ПОЛЯ(обновление от 04.09.2019: всё ещё не обрабатывать!)
«alt» - integer(fixedPoint 25:7) высота над уровнем моря (возможно нужен float)
«azimuth» - integer направление (возможно нужен float)
«speed» - integer(fixedPoint 25:7) скорость (возможно нужен float + определится с еденицами измерений (км/ч, м/с)

«deviceId» - строка идентификатор устройства (обычно должен быть уникальным для каждого физ. девайса, но на практике бывают коллизии) «deviceType» - тип устройства. Текущий поддерживаемый список - [«7ways», «gk309», «wialon», «unknown»] «additionalInfo» - любой валидный объект kv-хранилище