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作品体裁。
originETSO 使用文本的来源或出处。
textState目录中的文本状态。
addedOn加入目录的日期,如有记录。
bitesoPublishedOn在 BITESO 的发布日期;未知时为 null。
summaryPublishedOn摘要的发布日期;未知时为 null。
resultado1作品的文体计量结果,以句子形式提供。
flags关于报告、摘要、作者归属检查和文本访问的布尔标记。
traditionalAttributionText可直接显示的传统归属。
traditionalAttributionPhrase包含文本、Markdown、HTML 和可链接片段的传统归属句。
stylometryAttributionText可直接显示的文体计量归属。
traditionalAttribution规范化的传统归属。
stylometryAttribution规范化的文体计量归属。
resourcesETSO 内部相关的公共链接。

在归属对象中,authorId 是作者的公共数字标识符,authorKey 是 ETSO URL 中使用的文本键。它们属于归属对象的属性,并非顶层字段。

完整响应示例

查询某一具体作品及完整响应:

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 用于 ETSO 作者页面的 URL。

字段说明
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。

选择字段可缩小响应体并减少数据传输,但本身不会减少请求次数,也不会消除所有数据库查询。