Адреса всех методов указаны относительно имени домена, на который идет обращение. Обращаться можно любым http-методом.
Обязательные параметры для всех запросов:
application_id
- ключ приложения (открытый или закрытый)
Если передан закрытый ключ, то ЦАС будет доверять запросу, а если передан открытый ключ, то не будет и потребует дополнительный параметр. См. ниже про доверие.
Для некоторых запросов в url присутствует параметр id_type
.
Нужен для поиска пользователя по одному из следующих критериев:
user_id - поиск по id пользователя
email - поиск по email
phone - поиск по номеру телефона
Если в url присутствует id_type
,
то дополнительным параметром нужен еще передать значение этого параметра в запросе.
Т.е. если обращение идет с id_type = email,
то нужно передать дополнительно еще параметр email.
Существует разница между тем какой ключ приложения был передан с запросом - открытый или закрытый.
Если передан открытый ключ, то ЦАС не доверяет этому запросу и потребует передать
дополнительным параметром еще и id валидной сессии авторизованного пользователя (session_id
).
Его можно получить после авторизации.
Иными словами, не авторизовавшись нельзя воспользоваться некоторыми методами.
Какие методы являются открытыми, а какие закрытыми, см. в описании к каждому методу.
Если передан закрытый ключ, то запрос считается доверенным и id сессии не требуется.
| Метод | Назначение |
|-----------------------------------------------------------------------|-----------------------------------------------------------|
| auth | Авторизация по email и паролю |
| authnative | Авторизация по зашифрованной строке (по рег данным) |
| reg | Регистрация |
| passchange | Смена пароля |
| isemailconfirmed | Проверка подтвержден ли email |
| islinkedtoapplication | Проверка привязан ли пользователь к данному приложению |
| confirm | Подтверждение пользователя |
| reconfirm | Переподтверждение пользователя |
| emailchange | Смена email |
| phonechange | Смена номера телефона |
| getacc | Получение id пользователя по email |
| profile | Получение данных профиля пользователя |
| update | Обновление данных профиля пользователя |
| password_recovery_get_key | Первый шаг восстановления пароля - запрос ключа |
| password_recovery_set_password | Второй шаг восстановления пароля - задание нового |
| addapp | Привязать приложение |
| getapps | Получить список привязанных приложений |
| getconfirmationcode | Получить код подтверждения |
| extendsession | Продлить сессию |
| sessionexists | Проверка существует ли сессия (и не закончилась) |
| issessionactive | Проверка активна ли сессия (в том числе sso) |
| addcontact | Добавить контакт |
| makemain | Сделать контакт основным |
| bind | Связать учетки |
| contactchange | Изменить значение контакта |
| removecontact | Удалить контакт |
| | |
|---|---|
|getPKC| Получить рег данные|
|addReg| Добавить связку рег данных|
|addRegString| Добавить связку рег данных через зашифрованную строку|
|getRegOwners| Получить владельцев связки|
|deactivateReg| Деактивировать связку|
|deleteReg| Удалить связку|
| | |
|---|---|
|decodeString| Расшифровать строку с рег данными|
|regions| Получение списка регионов|
|getapplicationid| Получение закрытого ключа приложения по открытому (только ЕЛК)|
Ответ приходит в формате json в следующем виде:
success
=> 1 или 0
Если success
= 1, это означает, что запрошенные данные отданы успешно и они лежат под ключом result
.
Если success
= 0, это означает, что произошла какая-то ошибка и она лежит под ключом error
. В некоторых случаях вместе с error
идут дополнительные данные об ошибке, они лежат под ключом data
.
Пример:
Успех
{
success => 1,
result => ...
}
Ошибка
{
success => 0,
error => ...
}
'error' => {field => [codename]}
field
- параметр, к которому относится ошибка
codename
- программное название ошибки
ЦАС поддерживает формат jsonp
для запросов из клиентского javascript.
Обычно большинство библиотек типа jquery уже умеют это делать, но для тех, кто не умеет,
нужно дополнительно отправить параметр callback=FUNCTION_NAME
.
О том что вообще такое JSONP, читаем тут.
validation.required - параметр не указан, надо указать
validation.not_matches - параметр провалил проверку на совпадение (не подходит пароль, неверный id сессии и тд)
validation.not_exists - не существует записи соответствующей переданному параметру
validation.unique - значение параметра не уникально
validation.expired - значение параметра истекло по времени
validation.email - параметр не email
validation.no_regs - у аккаунта нет ни одной связки рег данных
validation.min.string - слишком короткая строка
validation.activation - требуется активация
validation.wrong_id_type - id_type неправильный
validation.not_valid - неправильное значение параметра (нет возможности с ним работать)
validation.not_confirmed - не подтверждено
validation.not_application_user - пользователь под данным параметром не является привязанным к данному приложению
validation.not_allowed_auto_link - приложение запрещает автоматическую привязку пользователя к себе, если он еще не привязан
validation.no_active_reg - нет активных связок рег данных