Чтобы получить токен, воспользуйтесь формами, указанными в разделе Новый механизм авторизации. Для работы под токеном используется token/login. Формат команды следующий:
svc=token/login¶ms={"token":<text>, "operateAs":<text>, "fl":<uint>}
После входа создается сессия, в пределах которой могут быть выполнены различные запросы. Если в течении 5 минут сервер не получит ни одного запроса, то он оборвет сессию. Для того, что бы этого не случилось можно каждые 5 минут посылать запрос, например: requests/avl_evts.
Пример см здесь Логин через токен
Название | Описание |
---|---|
token | уникальное имя токена, 72 символа |
operateAs | имя дочернего пользователя, под которым будет совершен вход в систему (необязательный параметр) |
fl | флаги управления ответом, опционально |
Флаг HEX | Флаг DEC | Описание |
---|---|---|
0x1 | 1 | базовая информация |
0x2 | 2 | информация по пользователю |
0x4 | 4 | информация по токену |
0x8 | 8 | информация по классам items |
0x10 | 16 | информация по доступным биллинг сервисам (features) |
0x20 | 32 | пользовательские CustomProperties |
- создать новый токен (команда token/update, callmode:create);
- выполнить команду token/list (если токены уже созданы).
{ "au":<text>, /* имя пользователя */ "tm":<uint>, /* текущее время (UTC) */ "wsdk_version":<text>, /* версия wialon sdk */ "eid":<text>, /* ID сессии*/ "gis_sid":<text>, /* ID сессии для сервисов картографии */ "host":<text>, /* хост */ "hw_gw_ip":<text>, /* ip для оборудования */ "pi":<int>, /* интервал пинга */ "user":{ /* пользователь, от имени которого был осуществлен вход */ "nm":<text>, /* имя */ "cls":<uint>, /* ID базового класса "user" */ "id":<long>, /* ID */ "prp":{ /* произвольные свойства, например: */ "dst":<text>, /* летнее время */ "language":<text>, /* язык (двухбуквенный код) */ "msakey":<text>, /* ключ доступа к мобильной версии сайта */ "pcal":<text>, /* иранский календарь */ "tz":<text>, /* часовой пояс */ "us_units":<text>, /* единицы измерения США (мили и галлоны) */ ... }, "crt":<uint>, /* ID создателя */ "bact":<uint>, /* ID учетной записи */ "fl":<uint>, /* флаги пользователя */ "hm":<text>, /* маска хоста */ "uacl":<uint>, /* права пользователя на самого себя */ "mu": <uint>, /* Система измерения */ "ct": <uint>, /* Дата создания пользователя */ "ftp": {<text>}, /* Настройки FTP */ "ld": <uint>, /* Дата последнего логина */ "pfl": <uint>, /* Флаги создателя */ "ap": { /* Параметры двухфакторной авторизации */ "type":<uint>, /* тип авторизации ( 0 - нет, 1 - email, 2 - SMS ) */ "phone":<text> /* номер телефона */ }, "mapps": {<text>}, /* Список мобильных приложений */ "mappsmax": <int> /* Ограничения на мобильные приложения, указанные в тарифном плане */ }, "classes":{ /* базовые классы доступные текущему пользователю: ключ - название базового класса, значение - ID базового класса */ "avl_hw":<uint>, /* тип оборудования */ "avl_resource":<uint>, /* ресурс */ "avl_retranslator":<uint>, /* ретранслятор */ "avl_unit":<uint>, /* объект */ "avl_unit_group":<uint>, /* группа объектов */ "user":<uint>, /* пользователь */ "avl_route":<uint> /* маршрут */ }, "features":{ "unlim":<bool>, /* тип тарифного плана: 0 - обычный, 1 - специальный для разработки и тестирования */ "svcs": { /* хэш-коллекция разрешенных сервисов, если сервис не указан - значит запрещён */ "<service_name>":<bool>, /* ключ - имя сервиса, значение: 0 - сервис разрешен, но достигнут лимит, 1 - сервис разрешен и им можно пользоваться */ ... } } ..., /* ответ команды core/login */ "token":"{\"app\":\"<text>\",\"ct\":<uint>\"at\":<uint>,\"dur\":<uint>,\"fl\":<uint>\"p\":\"<text>\",\"items\":[<long>]}", /* все настройки токена в экранированном json-е */ ... /* ответ команды core/login */ }
Уточнение для <service_name>: за дополнительной информацией по сервисам обращайтесь к списку сервисов.
Флаги пользователя рассмотрены в разделе Установить флаги настроек пользователя.
Настройки FTP рассмотрены в разделе Настройки FTP.
|