Skip to content

Latest commit

 

History

History
91 lines (81 loc) · 4.88 KB

terms.md

File metadata and controls

91 lines (81 loc) · 4.88 KB

Термины (Букопедия)

Список терминов

Запрос

GET /terms?letter={letter}&sort={sort}

Параметры

letter - первая буква названия, от А до Я, от A до Z (необязательный; по умолчанию любая [пустая строка])
sort - вариант сортировки (необязательный; по умолчанию по названию [title])
    * id - по id термина
    * title - по названию
    * work_count - по количеству привязанных произведений
    * film_count - по количеству привязанных фильмов/сериалов и т.п.

Пример

/terms?letter=А&sort=work_count - термины на букву "А", отсортированные по количеству привязанных произведений

Ответ:

[{
    film_count: Int,              # количество привязанных фильмов
    is_synonym: Boolean,          # 1 - синоним (ссылка на термин), 0 - полноценный термин
    term_id: Int,                 # id термина
    title: String,                # название (синонима, если это синоним, или самого термина в противном случае)
    term_title: String,           # название термина
    work_count: Int               # количество привязанных произведений
}]

Термин

Запрос

GET /term/{id}?sort={sort}

Параметры

sort - вариант сортировки (необязательный; по умолчанию по дате публикации/выхода в прокат [year])
    * rating - по рейтингу (применимо только к произведениям)
    * markcount - по количеству оценок (применимо только к произведениям)
    * rusname - по русскому названию
    * name - по оригинальному названию
    * year - для произведений - по дате публикации , для фильмов - по дате выхода в прокат

Пример

/term/18?sort=rating - термин "Анабиоз", сортировка произведений и фильмов - по русскому названию

Ответ:

{
    film_blocks: { |null                  # блоки связанных фильмов, если есть
        {block_id}: {                     # id блока (см. константы)
            id: Int,                      # id блока (совпадает с block_id)
            list: [{                      # список фильмов в блоке
                country: String,          # страны производства
                director: String,         # режиссеры
                film_id: Int,             # id фильма
                name: String,             # оригинальное название
                rusname: String,          # русское название
                term_comment: String,     # комментарий к связке "термин-фильм"
                type: Int,                # тип (фильм, сериал и тд); фактически совпадает с block_id
                year: Int,                # год выпуска
                year2: Int|null           # год окончания трансляции (для сериалов)
            }]
        }
    },
    related_terms: [{                     # связанные термины
        term_id: Int,                     # id термина
        title: String                     # название
    }],
    source: String,                       # источник описания
    source_link: String,                  # ссылка на источник описания
    synonyms: [{                          # список синонимов
        synonym: String                   # синоним
    }],
    term_id: Int,                         # id термина
    text: String,                         # описание
    title: String,                        # название
    works_blocks: { |null                 # блоки связанных произведений, если есть
        ...                               # см. *
    }
}

* - совпадает с выдачей works_blocks в API автора + term_comment в каждом отдельном произведении