跳至主要內容

UIGF API

UIGF-orgAPI大约 5 分钟

UIGF API

介绍

在统一可交换祈愿记录标准2.3版本中,我们将item_id的优先度提高,成为必填的字段。 这将允许 UIGF / SRGF 标准支持国际服的多语言环境,进而将更多的原神工具连接在一起。

但是,一些程序运行于受限的环境中,在将祈愿获取物品名称转化为物品 ID 的过程中有困难。所以 UIGF-Org 提供了一个用于翻译物品文本的 API, 供需要该资源的任何开源程序使用。

本 API 已开源于 UIGF-org/UIGF-APIopen in new window

本 API 适用于原神和崩坏:星穹铁道的数据

使用

UIGF API 有三个常用接口,示例如下

翻译接口 POST

翻译接口会将指定语言的文本文字转义为原神内置的物品 ID 或通过反向翻译将指定的物品 ID 翻译成指定语言

  • 接口地址:https://api.uigf.org/translate/
  • Body Json
    {
      "lang": "language",
      "type": "normal|reverse",
      "game": "genshin|starrail",
      "item_name": "str | str[]",
      "item_id": "int | int[]"
    }
    

请求参数

  • lang 必填
    • 需要翻译的文本的原始语言
    • 可接受的语言参数包括 chs, cht, de, en, es, fr, id, jp, kr, pt, ru, th, vi
  • type 必填
    • 翻译接口的方法
      • type 值为 normal 时,接口将文本翻译成物品 ID
      • type 值为 reverse 时,接口将物品 ID 翻译成文本
  • game 必填
    • 指定的游戏名称,支持原神(genshin)和崩坏:星穹铁道(starrail)
  • item_name type: normal 时必填
    • 需要翻译的文本或文本列表
      • 需要翻译的文本(单条数据查询时)
        • 比如:神里绫华
      • 或者一个包含翻译文本的列表(多条数据查询时)
        • 由方括号包裹字串符,以英文半角逗号间隔,不需要包含空格和引号
          • 比如:[神里绫华,神里绫人]
  • item_id type: reverse 时必填
    • 需要翻译的物品 ID
    • 数据规则和item_name一致,支持单个整数或一个整数列表

返回格式

  • 当请求单个文本翻译
    • 成功时,将返回一个Json
      • item_id键的值为对应物品 ID
      • item_name键的值为对应物品名称
    • 失败时,将返回 HTTP 404 NOT FOUND 错误
  • 当请求多个文本翻译
    • 成功时,将返回一个Json
      • item_iditem_name的值为一个列表
      • 当列表中有文本不存在于数据库中,则会为该记录返回值为0的 ID
      • 当列表中有 ID 不存在于数据库中,则会为该记录返回值为""的名称
      • 使用该方法请求 API 时需要检验请求的列表长度是否等于返回的列表的长度
    • 失败时,将返回 HTTP 404 NOT FOUND 错误
单条翻译查询

Request Body

{
  "lang": "chs",
  "item_name": "珊瑚宫心海",
  "type": "normal",
  "game": "genshin"
}

Response

{
"item_id": 10000054
}

语言判断接口 GET

该接口用于当无法判断原始文本语言时使用,不应该依赖其作为物品文本和物品 ID 之间的批量转换

  • 接口 URL
    • https://api.uigf.org/identify/{game}/{text}

请求参数

  • game
    • 指定的游戏名称
  • text
    • 单个需要翻译的文本
      • 比如:神里绫华

返回格式

  • 成功时,将返回一个Json
    • item_id键的值即为对应物品 ID
    • lang键的值为一个列表,其包含找到的对应语言。通常情况,该列表仅会有一个语言代码。但在少数情况下,一个文本可能在多个语言下代表同一个物品。 这种情况下,列表中会有多个语言代码。
  • 失败时,将返回 HTTP 404 NOT FOUND 错误
样例

https://api.uigf.org/identify/genshin/神里绫华

字典下载接口 GET

对于有能力在服务端或用户端进行物品文本和物品 ID 转换的工具,我们推荐减少对 UIGF 在线翻译 API 的依赖。

你可以通过字典下载接口获取到各个语言的物品文本和物品 ID 转换关系的 Json 文件

  • 接口 URL
    • https://api.uigf.org/dict/{game}/{lang}.json

请求参数

  • game
    • 指定的游戏名称
  • lang
    • 语言代码,目前可接受的语言包含 chs, cht, de, en, es, fr, id, jp, kr, pt, ru, th, vi
    • 如需下载所有语言混合的语言包,可以使用 all 作为值
    • 如需下载语言包的 MD5 校验包,可以使用 md5 作为值

返回格式

  • Json 文件的下载
样例

https://api.uigf.org/dict/genshin/jp.json

MD5 校验接口 GET

UIGF-API 提供 Json 语言包文件的 MD5 校验码。开发者可以通过比对本地和云端值来判断语言包的更新状态。

开发者可以通过 HTTP 请求动态接口或下载 MD5 Json 文件来获取最新的 MD5 校验码。

动态接口

接口地址:https://api.uigf.org/md5/{game}

请求参数

  • game
    • 指定的游戏名称

样例返回值

https://api.uigf.org/md5/genshin

{
  "chs": "51b02a0b306ec0a60b1756eb5ea8d96f",
  "cht": "53cd815f3129cdfc71c57d799675df8f",
  "de": "86c03e498df8da34c7028e4ee227e611",
  "en": "8b8e9c58145fd611d19e799a24e5846f",
  "es": "063b164b1bbeacdaa75e33915ccf7db9",
  "fr": "2de4e073f727b91d0b5ad8320c6476f9",
  "id": "bb22a8b0e53443b7f278c701664a3d9e",
  "jp": "06615f9a59d2119b6d4df4d07b744191",
  "kr": "f3f011bfa125e96823f7717d5def52a6",
  "pt": "7b14a8994fe93254fa8eef9eb19dbf8d",
  "ru": "c1e83580ef442a35d9d7bda7f066b083",
  "th": "5181ef5ef7f73306162dea66a54c7c0c",
  "vi": "40424f1785ea1cc2476756c80e17b069",
  "all": "722b2514d8409214282ee16de306a898"
}