{
// sid: идентификатор сессии – клиент получает его при авторизации
// параметр может отсутствовать, если запрос делается от имени анонима
"sid": "7bad5f2fb752ee957a4ab74aaac7711g",
// app: ID партнерского приложения, назначается ЛитРес при регистрации
// партнерского приложения.
"app": "659558",
// time: текущее ISO-время с т.з. клиента, с явным указанием таймзоны (ISO 8601).
// Проверяется на актуальность (±10 минут по серверному времени)
// и используется в подписи запросов (см. ниже sha)
"time": "2014-11-07T16:21:02+03:00",
// sha: подпись запроса, формируется из строки time+secret_key
// Для анонимных запросов не требуется.
// В данном случае подпись от строки "2014-11-07T16:21:02+03:00659558"
"sha": "952643397153e9e816836742e906718e47aa7b67a8bdd647c8c9f6167fbed78a",
// oauth_token: постоянный токен доступа, авторизованный через аккаунт ЛитРес.
// передается вместо "sid".
// документация по ЛитРес: OAuth по ссылке: https://docs.litres.ru/x/ZYd8.
"oauth_token": "7bad5f2fb752ee957a4ab74aaac7711g",
// uilang: язык локализации интерфейса
// Опционален, по умолчанию "uilang": "rus"
// Формат параметра: в стандарте ISO 639-2 (rus, lav, est)
"uilang": "est",
// requests: перечень «изменяющих» и «извлекающих данные» вызовов API,
// Единым массивом. Изменяющие w_* запросы вызываются на сервере
// в порядке, в котором были переданы в массиве actions, «извлекающие»
// запросы будут выполняться в произвольном порядке, на усмотрение сервера
"requests": [
{
// id: строковой ID запроса. В ответе он будет присутствовать в
// имени параметра объекта. Уникальный, должен начинаться с буквы
// и содержать только буквы и цифры (в произвольном регистре)
"id": "Act1",
// func: вызов API, какая функция вызывается. Это у нас «изменяющая» w_
"func": "w_set_updateprofile",
// param: параметры вызова. Содержимое определяется в документации
// к конкретной функции
"param": {
"mail": "my@mail.ru"
}
},
{
"id": "Act2",
"func": "w_set_person_subscr",
"param": {
"persons": [
4565
]
}
},
{
"id": "Act3",
"func": "w_mission_impossible",
"param": {
"whatever": [
"Всё равно не полетит"
]
}
},
{
// В ответе будет один объект с «параметрами»,
// соответствующими этим ID
"id": "GetDat1",
"func": "r_useraccount"
// обратите внимание, что param может отсутствовать
// (если для данной функции это допустимо)
},
{
"id": "GetDat2",
"func": "r_browsebooks",
"param": {
"filter": "best",
"sort": "new"
}
},
{
"id": "GetDat3",
"func": "inexistent"
}
]
}