API

ETSO предоставляет публичный API для запроса произведений и авторов каталога и повторного использования их идентификаторов, названий, атрибуций, стилометрических результатов и ссылок.

Данные возвращаются в формате JSON и могут использоваться для интеграции данных ETSO в каталоги, визуализации, поисковые системы или исследовательские инструменты.

Эндпоинты

GET /api/obras

Возвращает полный каталог произведений с публичными метаданными.

GET /api/obras/{id-publicId-o-slug}

Возвращает одно произведение по его идентификатору или публичному slug.

GET /api/autores

Возвращает полный список авторов с метаданными и пятью категориями связанных произведений.

GET /api/autores/{id-o-key}

Возвращает метаданные и пять категорий произведений одного автора по числовому ID или текстовому ключу.

Выбор полей ответа

Все четыре эндпоинта принимают необязательный параметр fields с именами публичных полей верхнего уровня через запятую. В таблицах ниже описаны поля каждого ресурса. При выборе объекта, например resources, возвращается весь публичный объект.

Без fields возвращаются все публичные поля. Выбор сохраняет оболочки authors, author, works или work и соответствующие сведения meta. Пустой выбор, неизвестные или закрытые поля и вложенные пути вроде resources.work возвращают HTTP 400.

https://etso.es/api/obras/690677?fields=publicId,displayTitle
{
  "meta": {
    "contentPolicy": {
      "includesFullText": false,
      "includesSummaries": false,
      "excludedFields": [
        "fullText",
        "text",
        "shortSummary",
        "summaryText",
        "resumen_breve",
        "resumen_largo"
      ]
    }
  },
  "work": {
    "publicId": 690677,
    "displayTitle": "La francesa Laura"
  }
}

Метаданные произведений

ПолеОписание
idСтабильный идентификатор произведения.
publicIdСтабильный числовой публичный идентификатор произведения.
slugЧитаемый идентификатор, используемый в публичных URL.
titleНазвание в базе данных, включая конечный артикль, если он есть.
displayTitleНазвание, преобразованное тем же способом, что и на сайте ETSO.
titleVariantsДругие названия произведения в базе данных.
displayTitleVariantsДругие названия, преобразованные тем же способом, что и на сайте.
genreЖанр произведения.
originПроисхождение или источник текста, используемого ETSO.
textStateСостояние текста в каталоге.
addedOnДата добавления в каталог, если указана.
bitesoPublishedOnДата публикации в BITESO; null, если неизвестна.
summaryPublishedOnДата публикации краткого содержания; null, если неизвестна.
resultado1Стилометрический результат произведения в виде фразы.
flagsЛогические индикаторы отчета, резюме, проверки авторства и доступа к тексту.
traditionalAttributionTextТрадиционная атрибуция, готовая для отображения.
traditionalAttributionPhraseФраза традиционной атрибуции с текстом, Markdown, HTML и ссылочными частями.
stylometryAttributionTextСтилометрическая атрибуция, готовая для отображения.
traditionalAttributionНормализованная традиционная атрибуция.
stylometryAttributionНормализованная стилометрическая атрибуция.
resourcesСвязанные публичные ссылки внутри ETSO.

В объектах атрибуции authorId — публичный числовой идентификатор автора, а authorKey — текстовый ключ, используемый в URL ETSO. Это свойства атрибуций, а не поля верхнего уровня.

Пример полного ответа

Запрос конкретного произведения и полный ответ:

https://etso.es/api/obras/690677
{
  "meta": {
    "contentPolicy": {
      "includesFullText": false,
      "includesSummaries": false,
      "excludedFields": [
        "fullText",
        "text",
        "shortSummary",
        "summaryText",
        "resumen_breve",
        "resumen_largo"
      ]
    }
  },
  "work": {
    "id": "DESCONOCIDO_FrancesaLaura",
    "publicId": 690677,
    "slug": "la-francesa-laura",
    "title": "Francesa Laura, La",
    "displayTitle": "La francesa Laura",
    "titleVariants": [],
    "displayTitleVariants": [],
    "genre": "Comedia",
    "origin": "El texto procede de la edición crítica de Álvaro Cuéllar y Germán Vega García-Luengos (Gredos, 2023).",
    "textState": "Bueno",
    "addedOn": "2021/03",
    "bitesoPublishedOn": "2026-06-18",
    "summaryPublishedOn": "2026-06-18",
    "resultado1": "Los analisis de estilometria permiten asociar esta obra de forma clara con el perfil autorial de Lope de Vega Carpio.",
    "flags": {
      "inAuthorshipExam": true,
      "hasSummary": true,
      "hasReport": true,
      "hasTextAccess": true
    },
    "traditionalAttributionText": "Lope de Vega Carpio",
    "traditionalAttributionPhrase": {
      "text": "Obra atribuida a Lope de Vega Carpio.",
      "markdown": "Obra atribuida a [Lope de Vega Carpio](https://etso.es/autores/vega_carpio_lope_de).",
      "html": "Obra atribuida a <a href=\"/autores/vega_carpio_lope_de\">Lope de Vega Carpio</a>.",
      "parts": [
        {
          "kind": "text",
          "value": "Obra atribuida a "
        },
        {
          "kind": "author",
          "value": "Lope de Vega Carpio",
          "authorId": 364,
          "authorKey": "vega_carpio_lope_de",
          "href": "/autores/vega_carpio_lope_de",
          "url": "https://etso.es/autores/vega_carpio_lope_de"
        },
        {
          "kind": "text",
          "value": "."
        }
      ]
    },
    "stylometryAttributionText": "Lope de Vega Carpio [Segura]",
    "traditionalAttribution": {
      "groups": [
        {
          "members": [
            {
              "authorId": 364,
              "authorKey": "vega_carpio_lope_de",
              "authorName": "Lope de Vega Carpio"
            }
          ]
        }
      ],
      "connector": "and",
      "rawExpression": "vega_carpio_lope_de"
    },
    "stylometryAttribution": {
      "groups": [
        {
          "members": [
            {
              "authorId": 364,
              "authorKey": "vega_carpio_lope_de",
              "authorName": "Lope de Vega Carpio",
              "confidence": "segura"
            }
          ]
        }
      ],
      "connector": "and",
      "rawExpression": "vega_carpio_lope_de[segura]"
    },
    "resources": {
      "work": "/obras/la-francesa-laura",
      "summary": "/obras/la-francesa-laura/resumen",
      "report": "/informes/analisis-estilometrico-la-francesa-laura",
      "textAccess": [
        {
          "label": "Texto BITESO",
          "href": "/biteso/la-francesa-laura",
          "kind": "biteso"
        }
      ]
    }
  }
}

Авторы и связанные произведения

Числовой id автора — это идентификатор ETSO, совпадающий с authorId в атрибуциях произведений. Текстовый ключ key используется в URL авторов ETSO.

ПолеОписание
idПубличный числовой идентификатор автора; совпадает с authorId в атрибуциях произведений.
keyТекстовый ключ, используемый в URL автора.
nameИмя автора.
nameVariantsВарианты имени автора.
resourcesСсылки на публичную страницу автора: author — путь, url — абсолютный URL.

Произведения по авторам

Каждый автор содержит пять массивов числовых publicId произведений (number[]), соответствующих пяти категориям его профиля в разделе проверки авторства. Включаются только произведения этого раздела по тем же критериям, что и на сайте: допускаются вероятные или возможные атрибуции и соавторство; неразрешённые традиционные или стилометрические атрибуции исключаются с соответствующей стороны. Включение не означает достоверного или единоличного авторства.

Категория без произведений возвращает []. Категории рассчитываются для запрошенного автора. Каждый publicId произведения можно использовать для запроса /api/obras/{publicId} или ссылки https://etso.es/obras/{publicId}, которая перенаправляет на каноническую страницу произведения.

ПолеОписание
relatedWorkPublicIdsПроизведения, связанные с автором: традиционная или стилометрическая атрибуция.
traditionalWorkPublicIdsПроизведения, поддерживаемые традицией.
stylometryWorkPublicIdsПроизведения, поддерживаемые стилометрией.
traditionalOnlyWorkPublicIdsПроизведения, поддерживаемые только традицией: без стилометрической поддержки для этого автора.
newStylometrySupportedWorkPublicIdsНовые атрибуции, поддерживаемые стилометрией: без традиционной атрибуции этому автору.

Все авторы и их пять списков произведений

https://etso.es/api/autores

Один автор и его пять списков произведений

https://etso.es/api/autores/374

Только произведения, связанные с одним автором

https://etso.es/api/autores/374?fields=id,relatedWorkPublicIds

Рекомендуемое использование

Ответы отдаются с публичным кэшем: public, max-age=3600, s-maxage=86400, stale-while-revalidate=604800. Для внешних интеграций рекомендуется кэшировать ответ локально и не вызывать API при каждом рендеринге.

Выбор полей уменьшает размер ответа и объём передаваемых данных. Сам по себе он не сокращает число запросов и не устраняет все обращения к базе данных.