Записать на сервер свежие версии выделений/цитат. Все переданные в запросе цитаты (идентифицируются по ID) будут замещены на сервере новой версией. Если цитаты с таким ID не было, она создаётся. Перед вызовом, во избежание коллизий, следует запросить блокировку w_set_bookmark_lock.

См. также:

[r_my_fb3_notes] Получение пользователем своих заметок/закладок на книгу в формате fb3

[r_my_fb3_notes_incremental] Получение пользователем своих свежих заметок/закладок на книгу в формате fb3.

ID функции

w_replace_my_fb3_notes

Кто может вызывать

Авторизованный пользователь.
Авторизованное приложение.

Принимаемые параметры

art* – ID книги, к которой относятся цитаты;
my_notes* – массив выделений/цитат, которые следует перезаписать. По структуре соответствует возвращаемому списку my_notes из метода r_my_fb3_notes;
lock_id* – ID блокировки, полученный в w_set_bookmark_lockВремя блокировки – 20 минут.

Возвращаемые значения

Отсутствуют

Возможные ошибки

error_code

error_message

Описание

101062

Invalid art ID

Книга с таким ID книги не найдена.

101019

Invalid lock ID

Невалидный ID блокировки (или устарел). Следует запросить новую блокировку параллельно получив с сервера свежие закладки, объединить их с локальными (кто-то их уже мог изменить на сервере).

101144

Позиция xpath некорректна

Позиция, описанная в xpath_start и/или xpath_end некорректна: находится за пределами книги, xpath_end раньше xpath_start, соответствующие узлы не существуют и т. п.

101166Invalid XML textВ selection_text или в note встретился невалидный фрагмент XML (битый либо не соответствует подмножеству разрешенных тегов).
101167more than one group=0 quotesПозиция в тексте (параметр group ID=0, см. r_my_fb3_notes) может быть только одна.

Пример запроса на сервер

{
 "app": "1",
 "time": "2014-11-07T16:21:02+03:00",
 "sha": "b79d8e9993d20da6abe78838d3c7fbf640a4c52956569bef3c685d3453316b5c",
 "sid": "78838d3c7fbf640a4c52956569bef3c685",
 "requests": [
         {
               "func": "w_replace_my_fb3_notes",
               "id": "w_replace_my_fb3_notes",
               "param": {
 	             "art": "459822",
 	             "my_notes": [
  	                     {
                           "id": "65830123-26b8-4b07-8098-c18229e5026e",
                           "group": "0",
                           "last_update": "2014-11-07T16:21:02+03:00",
                           "xpath_start": "/1/2/16.5"
  	                       },
  	                       {
                           "id": "65830123-26b8-4b07-8098-c18229e5026f",
                           "group": "1",
                           "last_update": "2014-11-07T16:21:15+03:00",
                           "xpath_start": "/1/2/15.5",
                           "xpath_end": "/1/2/16.35",
                           "title": "Вот я тут выделил че-то",
                           "selection_text": "<p>Книга выдающегося советского ученого Л.&nbsp;С.&#160;Выготского «Психология искусства» вышла первым изданием в 1965&#160;г., вторым – в 1968&#160;г. и&#160;завоевала всеобщее признание. В ней автор резюмирует свои работы 1915–1922 годов и вместе с тем готовит те <strong>новые</strong> психологические идеи, которые составили главный вклад Выготского в науку. «Психология искусства» является одной из фундаментальных работ, характеризующих развитие советской теории и искусства.</p><p>Книга рассчитана на специалистов – эстетиков, психологов, искусствоведов, а также на широкий круг читателей.</p>"
                           "note": "<p>Это место особенно удачное!</p>"
                           }
                 ]
               }
         }
 ]
}

Пример ответа сервера

{
"success": true,
  "time": "2014-11-07T16:21:02+03:00",
  "w_replace_my_fb3_notes": {
  	   "success": true
 }
}

Comments:

UUID обязательно должны быть сформированы по стандарту RFC 4122. Запрещается генерировать UUID упрощенным генератором случайных символов, т.к. это может вызвать коллизии с другими объектами системы.

Posted by kurashova at May 29, 2018 22:52