Skip to content

创建导出模板

在指定项目下新建一个导出模板(同步返回,含服务端生成的 id 和时间戳)。

请求地址

POST {BASE_URL}/api/open/v1/export-templates/create

鉴权 Header

创建翻译任务 完全一样。POST 的 raw body 参与签名:MD5(timestamp + raw_body + appSecret)

请求体(JSON)

json
{
  "type": "project_strings",
  "name": "默认 INI 导出",
  "format": "ini",
  "is_default": false,
  "mode": "single",
  "languages": ["en", "ja", "ko"],
  "field_order": [
    { "type": "language", "value": "en" },
    { "type": "language", "value": "ja" },
    { "type": "language", "value": "ko" }
  ]
}

字段说明

字段类型必填说明
typestring模板类型:project_strings / task_strings,详见 列表接口
namestring模板名称(仅显示用,不构成唯一约束)
formatstring导出格式:csv / json / xlsx / ini / xliff / xml
is_defaultbool是否设为该 type 下的默认模板。true 时自动把同 type 下其它模板的 is_default 置 false(一次原子写入,对并发安全)
modestring单文件 single / 各语言分离 separate(仅在 format 支持时有意义)
fieldsstring[]选中的基础字段列表(如 CSV / Excel 的列)
languagesstring[]默认勾选的目标语言代码列表
field_orderarray字段 / 语言的展示顺序,每个元素 { "type": "field" | "language", "value": "<字段名 / 语言码>" }

idcreated_atupdated_at 由服务端生成,请求体里不要带;服务端会返回一个 tpl-xxxxxxxx 形式的 id

响应

json
{
  "success": true,
  "code": 0,
  "msg": "ok",
  "trace_id": "...",
  "data": {
    "type": "project_strings",
    "template": {
      "id": "tpl-9d3f1a2c",
      "name": "默认 INI 导出",
      "is_default": false,
      "format": "ini",
      "mode": "single",
      "languages": ["en", "ja", "ko"],
      "field_order": [
        { "type": "language", "value": "en" },
        { "type": "language", "value": "ja" },
        { "type": "language", "value": "ko" }
      ],
      "created_at": 1715520000000,
      "updated_at": 1715520000000
    }
  }
}

字段含义与 列表接口 完全一致。

错误码

code说明
400请求体不是合法 JSON 对象 / type / name / format 缺失或非法 / mode 不在 single, separate 内 / fields / languages / field_order 类型不对
401签名校验失败 / 时间戳过期
403App Secret 未配置
404appKey 对应的项目不存在(鉴权层会先报)
500写入失败或系统错误

示例

bash
APP_KEY="5685414646a54423c891d87194d87f3f"
APP_SECRET="<你的 App Secret>"
BASE_URL="https://api.loxily.com"

BODY='{"type":"project_strings","name":"默认 INI 导出","format":"ini","is_default":false,"mode":"single","languages":["en","ja","ko"]}'
TIMESTAMP=$(date +%s)
SIGN=$(printf '%s' "${TIMESTAMP}${BODY}${APP_SECRET}" | md5)

curl -s -X POST "${BASE_URL}/api/open/v1/export-templates/create" \
  -H "Content-Type: application/json" \
  -H "X-Loxily-AppKey: ${APP_KEY}" \
  -H "X-Loxily-Timestamp: ${TIMESTAMP}" \
  -H "X-Loxily-Sign: ${SIGN}" \
  --data "${BODY}"