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 | Указанный подчиненный пользователь не найден или у вас нет прав доступа к этому пользователю. |