Skip to content

更新导出模板

(type, id) 部分更新(partial update)一个已存在的导出模板。只更新请求体里出现的字段,其余字段保留原值。

请求地址

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

鉴权 Header

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

请求体(JSON)

json
{
  "type": "project_strings",
  "id": "tpl-9d3f1a2c",
  "name": "默认 INI 导出 (重命名)",
  "is_default": true
}

字段说明

字段类型必填说明
typestring模板类型,仅用于定位(不能改 type),见 列表接口
idstring模板 ID,仅用于定位(不能改 id
namestring新名称(非空)
formatstring新导出格式:csv / json / xlsx / ini / xliff / xml
is_defaultbooltrue 时自动把同 type 下其它模板的 is_default 置 false(一次原子写入,对并发安全)
modestring新模式:single / separate
fieldsstring[]替换字段列表(整体替换,非追加)
languagesstring[]替换默认语言列表(整体替换
field_orderarray替换字段顺序(整体替换),元素结构:{ "type": "field" | "language", "value": "<字段名 / 语言码>" }

数组类字段是整体替换而不是数组追加 —— 如果你只想加一个语言,需要先取出现有 languages,加入新值,再整体提交。

created_at / updated_at 由服务端生成;其中 updated_at 每次更新都会刷新。

响应

json
{
  "success": true,
  "code": 0,
  "msg": "ok",
  "trace_id": "...",
  "data": {
    "type": "project_strings",
    "template": {
      "id": "tpl-9d3f1a2c",
      "name": "默认 INI 导出 (重命名)",
      "is_default": true,
      "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": 1715606400000
    }
  }
}

返回的是更新后的完整模板对象(与 详情接口 同结构)。

错误码

code说明
400请求体不是合法 JSON 对象 / type 缺失或非法 / id 缺失 / 无任何可更新字段 / 字段类型不对
401签名校验失败 / 时间戳过期
403App Secret 未配置
404找不到指定 id 的模板(type 选错也会 404)
500写入失败或系统错误

示例

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

BODY='{"type":"project_strings","id":"tpl-9d3f1a2c","name":"默认 INI 导出 (重命名)","is_default":true}'
TIMESTAMP=$(date +%s)
SIGN=$(printf '%s' "${TIMESTAMP}${BODY}${APP_SECRET}" | md5)

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