Записать на сервер свежие версии закладок. Все переданные в запросе закладки (идентифицируются по 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
}