listCatalogCharacters
列出角色
角色来自两条车道之一。q= 非空、带 page=、或 sort 为 popularity、relevance、newest 时走索引车道;否则走登记车道(sort=id,实时 SQL)。索引车道反映夜间搜索索引;登记车道是实时的。q= 且未给 sort 时缺省为 relevance。sort=relevance 需要 q=。popularity 是角色在世 roster 的 log1p,主角按作品 popularity 全额、其余 kind 半额;在 nsfw 不为 true 时只计入没有 r18 分级的作品。可匿名调用,按 IP 地址限流;应用密钥或带 catalog:read 的用户访问令牌各有更高的额度。ids=/refs= 是批量车道,不分页;不能与 q= 或搜索 sort 合用。include=gender,birthday,height_cm,weight_kg,measurements,blood_type,instance_of_id,image,figure,traits,aliases,intros,refs,work_count 在每条车道都填充,view=full 即它们全部;traits 按默认 spoiler 上限截断并遵循 nsfw 门,与详情面完全一致。trait_id= 按特征过滤(含子孙,最多 10 个),由 trait_match=all|any 组合;角色是否命中遵循与其 traits 块相同的 spoiler 与 nsfw 门。给出 trait_id= 时,每条带 matched_trait_ids:该角色自己满足过滤的特征。gender= 按封闭词表 male,female,other 过滤。include=work_count 是该角色在与 /v2/catalog/characters/{id}/appearances 相同 nsfw 门下出现的去重作品数。page= 在索引车道上选择页码模式。
/v2/catalog/characterscatalog:read可匿名调用(不带凭据按 IPv4 地址或 IPv6 /64 限流(默认 30 次/分钟、1,000 次/天);带 nmk_ 应用密钥或带 catalog:read 的用户访问令牌则走各自更高的额度)参数
| 参数 | 类型 | 位置 | 说明 |
|---|---|---|---|
cursor | string | query | 来自先前 next_cursor 的不透明 keyset cursor。必须以 cur_ 开头。 |
limit | string | query | 页大小 1-100,缺省 20。超过 100 为 400 LIMIT_TOO_LARGE,不钳制。 |
view | string | query | basic(默认)或 full。封闭词表。 |
include | string | query | 逗号分隔的块。未知 token 返回 400 UNKNOWN_INCLUDE。 |
fields | string | query | view/include 之后逗号分隔的顶层键。未知 token 返回 400 UNKNOWN_FIELD。object 与 id 始终保留。 |
ids | string | query | 逗号分隔的 id,最多 100 个。批量车道:无分页。 |
refs | string | query | 逗号分隔的 source:external_id,最多 100 个。批量车道:无分页。 |
include_total | string | query | true 则包含 total。仅 true 或 false。 |
facets | string | query | 逗号分隔的 facet 名称。未知 token 返回 400 UNKNOWN_FACET。 |
sort | string | query | 各集合封闭的排序键。 |
nsfw | string | query | true 包含 r18。false 或缺省则隐藏 r18。仅 true 或 false。 |
page | string | query | 从 1 开始的页码。选择 page 模式:响应携带 total 与 total_relation,且无 next_cursor。page 乘 limit 不得超过 10000;最后可到达的页为 min(ceil(total/limit), floor(10000/limit))。不能与 cursor、ids 或 refs 组合。 |
q | string | query | 角色名搜索。把本集合切到搜索索引;sort 缺省为 relevance。不得用作判别条件。 |
trait_id | string | query | 逗号分隔的 catalog 特征 id,最多 10 个。含子孙。匹配遵循与 traits 块相同的 spoiler 与 nsfw 门。点名一条性向特征却不带 nsfw=true 返回 400。未知 id 匹配不到任何内容。 |
trait_match | string | query | 封闭:all(默认)、any。没有 trait_id 时无效果。 |
gender | string | query | 逗号分隔的封闭词表:male、female、other。参数内部为 OR。未知 token 为 400。 |
响应
facetsmap<string, object[]>具名 facet 桶。仅在请求 facets= 时出现。
«key»object[]可空
itemsobject[]必填本页成员。空数组,从不为 null。
aliasesobject[]本角色名的别名拼写。在 include=aliases 时出现。没有则为空数组。
birthdaystringMM-DD。在 view=full 时出现。未记录则为 null。不是日期:没有年份。
blood_typestring在 view=full 时出现。未记录则为 null。
枚举ababodisplay_namestring必填不得用作判别条件。
figureobjectgenderstring在 view=full 时出现。未记录则为 null。
枚举malefemaleotherheight_cmintegerint64在 view=full 时出现。未记录则为 null。
idstring必填catalog 角色 id。
imageobjectinstance_of_idstring本行所实例化的另一角色。在 view=full 时出现。没有则为 null。
introsobject[]角色描述,每种语言一条。在 include=intros 时出现。没有则为空数组。
langstringbcp47 必填 可空display_name 的 BCP-47 语言标签。未记录则为 null。不得用作判别条件。
latinstring必填 可空未记录则为 null。不得用作判别条件。
localizedmap<string, object>必填BCP-47 键。没有则为空对象。不得用作判别条件。
matched_trait_idsstring[]仅当给出 trait_id= 时出现:该角色自己满足该过滤的特征,它们可能是所请求特征的子孙。
measurementsobjectobjectstring必填类型判别字段。恒为 character。
枚举characterrefsobject[]此角色的 exact 上游锚。在 include=refs 时出现。没有则为空数组。
traitsobject[]仅当 include=traits 时出现。没有则为空数组。
weight_kgintegerint64在 view=full 时出现。未记录则为 null。
work_countintegerint64仅当 include=work_count 时出现。该角色登场的不同作品数:即同一 nsfw 下 GET /v2/catalog/characters/{id}/appearances 列出的条目数。
missingstring[]已请求但不可见的 ids。仅出现在 ids=/refs= 批量车道。
next_cursorstring不透明 keyset cursor。末页省略。
objectstring必填类型判别字段。恒为 list。
枚举listtotalintegerint64include_total=true 时出现;页码模式(page=)下恒在。与 items 同一个可见性闸。
total_relationstring仅在 page 模式出现。eq:total 为精确值。gte:total 为下界。
枚举eqgte
请求示例
curl "https://api.nextmoe.dev/v2/catalog/characters"