Записать на сервер свежие версии закладок. Все переданные в запросе закладки (идентифицируются по ID) будут замещены на сервере новой версией. Если закладки с таким ID не было, она создаётся. Перед вызовом, во избежание коллизий, следует запросить блокировку w_set_audio_bookmark_lock.
ID функции
w_replace_my_audio_notes
Кто может вызывать
Авторизованный пользователь.
Авторизованное приложение.
Принимаемые параметры
art* – ID аудиокниги, к которой относятся закладки;
my_notes* – массив закладок, которые следует перезаписать. По структуре соответствует ответу метода r_my_audio_notes.
Параметр time_end не будет обязательным, если передан параметр group=0 и будет приниматься равным time_start. Однако, если параметр time_end передан при group=0, то должно выполняться условие time_end=time_start;
lock_id* – ID блокировки, полученный в w_set_audio_bookmark_lock. Время блокировки – 20 минут.
Возвращаемые значения
Отсутствуют.
Возможные ошибки
error_code | error_message | Описание |
---|---|---|
101019 | Invalid lock ID | Невалидный ID блокировки (или устарел). Следует запросить новую блокировку, параллельно получив с сервера свежие заметки/закладки, и объединить их с локальными (кто-то их уже мог изменить на сервере) |
101062 | Invalid art ID | Книга с таким ID книги не найдена |
101167 | more than one group=0 quotes | Позиция прослушивания книги (параметр group=0, см. r_my_audio_notes) может быть только одна |
Пример запроса на сервер
{ "time": "2019-12-30T02:26:29 07:00", "sid": " ", "requests": [ { "func": "w_replace_my_audio_notes", "id": "w_replace_my_audio_notes", "param": { "art": "42538850", "lock_id": "d1f76f16-2a71-11ea-905a-002590591206", "my_notes": [ { "id": "00000030665232260614480000000000", "group": "0", "last_update": "2019-12-30T01:36:04 07:00", "file": "20", "filename": "20.mp3", "time_start": "279", "time_end": "279", "percent": "0" } ] } } ], "mobile_app": "115", "sha": " " }
Пример успешного ответа сервера
{ "success": true, "time": "019-12-30T02:26:29 07:00", "w_replace_my_audio_notes": { "success": true } }
Пример ответа сервера с ошибкой
{ "time":"2019-12-29T22:31:33+03:00", "w_replace_my_audio_notes":{ "success":false, "error_code":101019, "error_message":"wrong time_end for group=0: '279'", "time":"2019-12-29T22:31:33+03:00" }, "success":true }