login
Для получения токена используйте формы, указанные в разделе login. Для работы под токеном используется token/login. Сигнатура метода следующая:
svc=token/login¶ms={"token":<text>,
"operateAs":<text>,
"fl":<uint>
}
Параметры
Запрос может содержать следующие параметры. Обязательные параметры отмечены звездочкой (*).
Имя | Описание |
---|---|
token* | Уникальное имя токена. Состоит из 72 символов. |
operateAs | Имя подчиненного пользователя для входа. |
fl* | Флаги ответа (см. ниже). |
Флаги ответа
Флаг в HEX | Флаг в DEC | Описание |
---|---|---|
0x1 | 1 | Общая информация. |
0x2 | 2 | Информация о пользователе. |
0x4 | 4 | Информация о токене. |
0x8 | 8 | Информация об элементах. |
0x10 | 16 | Информация от тарифицируемых услугах |
0x20 | 32 | Произвольные свойства пользователя. |
Как получить имя токена
- Создайте новый токен (token/update, callmode:create);
- Если токены уже созданы, выполните команду token/list.
Вы не можете войти в систему с помощью неактивированного токена (параметр at в параметрах токена).
Ответ
Если запрос выполнен успешно, новый параметр token добавляется ко всем параметрам токена в качестве значения. Возвращается ответ следующего формата:
{
"eid":<text>, /* ID сессии. */
"gis_sid":<text>, /* ID сессии для гис-сервисов. */
"host":<text>, /* Хост. */
"hw_gw_ip":<text>, /* IP аппаратного шлюза. */
"au":<text>, /* Имя пользователя. */
"pi":<int>, /* Пинг. */
"tm":<uint>, /* Текущее время (UTC). */
"wsdk_version":<text> /* Версия SDK */
"user":{ /* Пользователь, от имени которого выполняется вход. */
"nm":<text>, /* Имя. */
"cls":<uint>, /* ID суперкласса "пользователь". */
"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 */
}
В случае неудачного выполнения запроса возвращается код ошибки.
Коды ошибок
Код ошибки | Описание |
---|---|
6 | Неизвестная ошибка. |
4 | Неверная длина токена. |
1003 | Превышен лимит запросов. |
7 | Одна из следующих ошибок: |
8 | Указанный подчиненный пользователь не найден или у вас нет прав доступа к этому пользователю. |