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

101167more 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
}