Положить книгу в цикл
Тома одной серии: голоса героев и словарь общие.
PUT /books/{book_id}/series · всё
В цикле голоса героев переходят из тома в том (если книга ещё не озвучена), а правила ударений книги действуют во всех
томах. Пустое тело {} — убрать книгу из цикла.
Параметры пути
| Параметр | Что это |
|---|---|
book_id |
Id книги |
Тело запроса
JSON, заголовок content-type: application/json.
| Поле | Тип | Обязательно | Что это |
|---|---|---|---|
series_id |
строка | нет | Существующий цикл |
title |
строка | нет | Или новый цикл по названию |
no |
число | нет | Номер тома (по умолчанию — следующий) |
carry |
true/false | нет | Взять голоса героев из других томов |
Что в ответе
| Поле | Что это |
|---|---|
series |
Цикл и его тома |
carried |
Герои, получившие голоса из других томов |
same_no |
Том с тем же номером, если есть |
curl -X PUT "https://golosar-kniga.tech/api/v1/books/$BOOK_ID/series" \
-H "x-api-key: $KEY" \
-H "content-type: application/json" \
-d '{"title": "Сад", "no": 1}'
import os, requests
API = "https://golosar-kniga.tech/api/v1"
H = {"x-api-key": os.environ["GOLOSAR_KEY"]}
book_id = "01a134d0-dd73-77be-aa8d-0944ffb2b5e3"
r = requests.put(f"{API}/books/{book_id}/series", headers=H, json={"title": "Сад", "no": 1})
r.raise_for_status()
print(r.json())
const API = "https://golosar-kniga.tech/api/v1";
const H = { "x-api-key": process.env.GOLOSAR_KEY, "content-type": "application/json" };
const bookId = "01a134d0-dd73-77be-aa8d-0944ffb2b5e3";
const r = await fetch(`${API}/books/${bookId}/series`, { method: "PUT", headers: H, body: JSON.stringify({"title": "Сад", "no": 1}) });
if (!r.ok) throw new Error(await r.text());
console.log(await r.json());
json Ответ 200
{
"series": {
"id": "01a134d0-e768-79a0-b295-7652d50df60a",
"title": "Сад",
"no": 1,
"total": 1,
"volumes": [
{
"id": "01a134d0-dd73-77be-aa8d-0944ffb2b5e3",
"title": "Вечер в саду",
"no": 1
}
]
},
"carried": [],
"can_carry": [],
"same_no": null
}