Единая авторизация
Запрос:
POST https://auth.waviot.ru/?action=user-login
Content-type: application/json
X-requested-with: XMLHttpRequest
{"login": "example@example.com","password":"your_password"}
Ответ в случае, если указаны правильные логин и пароль
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
"sc": "...",
"rt": "...",
"WAVIOT_JWT": "...",
"sessid": "..."
}
Ответ в случае, если указаны неправильные логин и пароль:
HTTP/1.1 302 Moved Temporarily
Далее для запросов на auth.waviot.ru/lk.waviot.ru/api.waviot.ru используем полученный JWT в заголовках ко всем запросам, требующим авторизацию.
Восстановление пароля
Запрос:
POST https://auth.waviot.ru/?action=user-recovery_password
Content-type: application/json
X-requested-with: XMLHttpRequest
{"mail":"example@waviot.com"}
Ответ при неправильно указанном email:
<b>HTTP/1.1 </b><b>200</b><b> OK</b>
Content-Type: application/json; charset=UTF-8
{
"success": false,
"message": "Указанный email не найден. Проверьте правильность написания почтового адреса или зарегистрируйтесь"
}
Ответ при правильном и существующем email:
<b>HTTP/1.1 </b><b>200</b><b> OK</b>
Content-Type: application/json; charset=UTF-8
{
"success": true,
"message": "Письмо для восстановления пароля отправлено."
}
Регистрация
Запрос:
POST https://auth.waviot.ru/?action=user
Content-type: application/json
X-Requested-With: XMLHttpRequest
{
"lastName": "Иванов",
"firstName": "Пётр",
"middleName": "Алексеевич",
"headEmail": "example@waviot.com",
"phone": "79260001111",
"password": "yet_another_password",
"repPassword": "yet_another_password"
}
Ответ при успешной регистрации:
<b>HTTP/1.1 </b><b>200</b><b> OK</b>
Content-Type: application/json; charset=UTF-8
{
"success": true,
"message": "Регистрация успешно пройдена, для продолжения работы с сервисом требуется подтверждение email или телефона"
}
Ответ при неудачной регистрации:
<b>HTTP/1.1 </b><b>500</b><b> Internal Server Error</b>
либо
<b>HTTP/1.1 </b><b>400</b><b> Bad Request</b>
Content-Type: application/json; charset=UTF-8
{
"success": false,
"message": "Произошла ошибка при регистрации: неправильно указан email"
}
Редактирование основных данных пользователя
Запрос:
POST https://auth.waviot.ru/?action=user
Content-type: application/json
X-Requested-With: XMLHttpRequest
Authorization: bearer [JWT]
{
"lastName": "Иванов",
"firstName": "Пётр",
"middleName": "Алексеевич",
"headEmail": "example@waviot.com",
"phone": "79260001111"
}
Ответ при успешном изменении данных:
<b>HTTP/1.1 </b><b>200</b><b> OK</b>
Content-Type: application/json; charset=UTF-8
{
"success": true,
"message": "Ваши изменения сохранены"
}
Ответ при неудачном изменении данных:
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=UTF-8
{
"success": false,
"message": "Указаны некорректные данные для сохранения"
}
Получение основных данных пользователя
Запрос:
GET https://auth.waviot.ru/?action=get-whoAmI
Content-type: application/json
X-requested-with: XMLHttpRequest
Authorization: bearer [JWT]
Ответ при удачном выполнении запроса:
<b>HTTP/1.1 </b><b>200</b><b> OK</b>
Content-Type: application/json; charset=UTF-8
{
"account_id": "9edde2c0-548d-11e9-9ccc-0cc41a1673e1",
"lastName": "Иванов",
"firstName": "Дмитрий",
"middleName": "Анатольевич",
"headEmail": "demo@demo.com",
"emailConfirmed": "1",
"createdTS": "1560160621",
"confirmTS": "1560160695",
"birthday": null,
"phone": "79251234567",
"phoneConfirmed": "1",
"balance": "0",
"b_id": "1129",
"lk_id": "5247",
"location": "ru",
"language": "ru",
"activity": "1"
}
Ответ при неудачном выполнении запроса:
<b>HTTP/1.1 </b><b>400</b><b> Bad Request</b>
400 Unauthorized
Получение дополнительных опций пользователя
Запрос:
GET https://auth.waviot.ru/?action=get-accounts_settings
X-Requested-With: XMLHttpRequest
Authorization: bearer [JWT]
Ответ при удачном выполнении запроса:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
"api": [
{
"name": "notifications-meters__email",
"createdTS": 1560237687,
"value": "1"
},
{
"name": "notifications-meters__push",
"createdTS": 1560237686,
"value": "1"
},
{
"name": "notifications-tariffs__email",
"createdTS": 1560237685,
"value": "1"
},
{
"name": "notifications-tariffs__push",
"createdTS": 1560237684,
"value": "1"
}
]
}
Ответ при неудачном выполнении запроса:
<b>HTTP/1.1 </b><b>400</b><b> Bad Request</b>
400 Unauthorized
Редактирование дополнительных опций пользователя
Запрос:
POST https://auth.waviot.ru/?action=set-accounts_settings
X-Requested-With: XMLHttpRequest
Content-type: application/json
Authorization: bearer [JWT]
{"notifications-tariffs__push": 1, "notifications-tariffs__sms": 1, "notifications-tariffs__email": 0}
Ответ при удачном выполнении запроса:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
"success": true,
"set_count": 3,
"result": {
"notifications-tariffs__push": true,
"notifications-tariffs__sms": true,
"notifications-tariffs__email": true
}
}
Ответ при неудачном выполнении запроса:
<b>HTTP/1.1 </b><b>400</b><b> Bad Request</b>
400 Unauthorized
Смена пароля
Запрос:
POST https://auth.waviot.ru/?action=user-password
Content-type: application/json
X-requested-with: XMLHttpRequest
Authorization: bearer [JWT]
{"password_old":"VksfUY!4","password_new":"whejMNnsd"}
Ответ при успешной смене пароля:
<b>HTTP/1.1 </b><b>200</b><b> OK</b>
Content-Type: application/json; charset=UTF-8
{"success": true}
Ответ при неудачной смене пароля:
<b>HTTP/1.1 </b><b>400</b><b> Bad Request</b>
Content-Type: application/json; charset=UTF-8
{
"code": 400,
"message": "Некорректный запрос",
"result": {
"errors": {
"password_old": "Не указан старый пароль",
"password_new": "Не указан новый пароль"
}
}
}
Получение истории входов
Запрос:
GET https://auth.waviot.ru/?action=user-auth_history
X-requested-with: XMLHttpRequest
Authorization: bearer [JWT]
Ответ при удачном выполнении запроса:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
[
{
"date_time": "25.07.2019 11:51:08",
"browser": {
"family": "Chrome",
"version": "75.0.3770"
},
"operating_system": {
"family": "Mac OS X",
"version": "10.14.6"
},
"device": {
"brand": null,
"family": "Other",
"model": null
},
"ts": "1564044668",
"country": {
"id": 185,
"iso": "RU",
"lat": 60,
"lon": 100,
"name_ru": "Россия",
"name_en": "Russia"
},
"region": {
"id": 524894,
"name_ru": "",
"name_en": "Moskva",
"iso": "RU-MOW"
},
"city": {
"id": 524901,
"lat": 55.75222,
"lon": 37.61556,
"name_ru": "Москва",
"name_en": "Moscow"
},
"map_links": {
"google": "https://google.com/maps/search/55.75222,37.61556",
"yandex": "https://yandex.ru/maps/?text=55.75222,37.61556"
},
"type": "browser",
"ip": "185.9.231.191",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
},
{
"date_time": "24.07.2019 19:02:13",
"browser": {
"family": "Chrome",
"version": "75.0.3770"
},
"operating_system": {
"family": "Mac OS X",
"version": "10.14.6"
},
"device": {
"brand": null,
"family": "Other",
"model": null
},
"ts": "1563984133",
"country": {
"id": 185,
"iso": "RU",
"lat": 60,
"lon": 100,
"name_ru": "Россия",
"name_en": "Russia"
},
"region": {
"id": 524894,
"name_ru": "",
"name_en": "Moskva",
"iso": "RU-MOW"
},
"city": {
"id": 524901,
"lat": 55.75222,
"lon": 37.61556,
"name_ru": "Москва",
"name_en": "Moscow"
},
"map_links": {
"google": "https://google.com/maps/search/55.75222,37.61556",
"yandex": "https://yandex.ru/maps/?text=55.75222,37.61556"
},
"type": "browser",
"ip": "185.9.231.191",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
}
]
Ответ при неудачном выполнении запроса:
<b>HTTP/1.1 </b><b>400</b><b> Bad Request</b>
400 Unauthorized