Записать на сервер свежие версии выделений/цитат. Все переданные в запросе цитаты (идентифицируются по ID) будут замещены на сервере новой версией. Если цитаты с таким ID не было, она создаётся. Перед вызовом, во избежание коллизий, следует запросить блокировку w_set_epub_bookmark_lock.
ID функции
w_replace_my_epub_notes
Кто может вызывать
Авторизованный пользователь.
Авторизованное приложение.
Принимаемые параметры
art* – ID книги, к которой относятся цитаты;
my_notes* – массив выделений/цитат, которые следует перезаписать. По структуре соответствует возвращаемому списку my_notes из метода r_my_epub_notes;
lock_id* – ID блокировки, полученный в w_set_epub_bookmark_lock. Время блокировки – 20 минут.
Возвращаемые значения
Отсутствуют.
Возможные ошибки
error_code | error_message | Описание |
---|---|---|
101062 | Invalid art ID. | Книга с таким ID книги не найдена. |
101019 | Invalid lock ID. | Невалидный ID блокировки (или устарел). Следует запросить новую блокировку параллельно получив с сервера свежие закладки, объединить их с локальными (кто-то их уже мог изменить на сервере). |
101144 | Позиция xpath некорректна. | Позиция, описанная в xpath_start и/или xpath_end (или же offset_start и offset_end) некорректна: находится за пределами книги, xpath_end раньше xpath_start, соответствующие узлы не существуют и т. п. |
101166 | Invalid XML text. | В selection_text или в note встретился невалидный фрагмент XML (битый либо не соответствует подмножеству разрешенных тегов). |
101167 | more than one group=0 quotes. | Позиция в тексте (параметр group ID=0, см. r_my_epub_notes) может быть только одна. |
Пример запроса на сервер
{ "app": "1", "time": "2014-11-07T16:21:02+03:00", "sha": "b79d8e9993d20da6abe78838d3c7fbf640a4c52956569bef3c685d3453316b5c", "sid": "78838d3c7fbf640a4c52956569bef3c685", "requests": [ { "func": "w_replace_my_epub_notes", "id": "w_replace_my_epub_notes", "param": { "art": "459822", "my_notes": [ { "id": "65830123-26b8-4b07-8098-c18229e5026e", "group": "0", "last_update": "2014-11-07T16:21:02+03:00", "part": "content2", "xpath_start": "DIV[1]/P[28]/text()[1]", "offset_start": "0" }, { "id": "65830123-26b8-4b07-8098-c18229e5026f", "group": "1", "last_update": "2014-11-07T16:21:15+03:00", "part": "content2", "xpath_start": "DIV[1]/P[44]/text()[1]", "offset_start": "7", "xpath_end": "DIV[1]/P[44]/text()[1]", "offset_end": "362", "title": "Вот моё выделение", "note": "<p>обожал ее раньше, когда она притворялась сплошным галдящим базаром – ему казалось, что на этом базаре он сможет купить себе любое будущее. Он приезжал тогда в Москву из своей Лобни электричкой – в университет, в клубы, на концерты – и каждый раз воображал себе себя москвичом. Надо было только доучиться, найти работу в центре и снять с друзьями квартиру.</p>" } ] } } ] }
Пример ответа сервера
{ "success": true, "time": "2014-11-07T16:21:02+03:00", "w_replace_my_epub_notes": { "success": true } }