易翻译 API 接入指南 官方文档与示例代码

接入翻译 API 时,超过 60% 的开发对接失败源于鉴权配置错误和请求格式不规范,而非接口本身的问题。易翻译 API 接入文档的核心价值,就是用标准化的 RESTful 接口、清晰的鉴权流程和可直接复制的示例代码,把首次成功调用的时间压缩到 30 分钟以内。本文回答五个关键问题:如何获取 API Key 并完成鉴权?请求和响应的参数结构长什么样?常见错误码怎么排查?多语言示例代码(Python / Java / Node.js)怎么用?以及调用配额和计费规则是怎样的?

关键速览

  • 鉴权采用 API Key + 签名机制,密钥在控制台 1 分钟内生成
  • 单次请求最多支持 5000 字符文本,超出需分批提交
  • 接口响应格式为标准 JSON,平均延迟低于 300 毫秒
  • 提供 Python、Java、Node.js 三种语言的官方示例代码
  • 常见错误码集中在 401 鉴权失败和 429 频率超限两类

易翻译 API 是什么以及适用场景

易翻译 API 是一套通过 HTTP 接口提供机器翻译能力的服务,开发者把待翻译文本发到指定接口,几百毫秒内拿到译文。它支持中、英、日、韩、西、法、德等 100 多个语言对的互译,单次请求文本上限通常为 5000 字符。简单说:你不用自己训练模型,调一个接口就能给网站或 App 加上翻译功能。

翻什么场景最划算?看下面三类典型需求:

  • 网站本地化:把商品标题、详情页批量翻成多语言,适合跨境电商。注意保留品牌词不被乱翻——参考商品关键词保留设置指南
  • App 多语言:用户输入实时翻译,要求低延迟(建议 P99 控制在 800 毫秒内)。
  • 批量文档翻译:合同、说明书等长文本,走异步任务接口更稳。

判断是否适合你:若日翻译量超过 1 万字符且需稳定 API,比人工或浏览器插件更高效。机器翻译(NMT,即神经网络翻译)的质量评估常用 BLEU 分数,可参考 维基百科 BLEU 词条。接下来的接入文档会带你完成账号申请到上线。

易翻译 API 接入文档架构与适用场景示意图
易翻译 API 接入文档架构与适用场景示意图

接入前的准备工作与账号申请

接入易翻译 API 前,你需要完成三件事:注册企业或个人账号、通过实名认证、创建应用拿到 API Key 与 Secret。整个流程在 2026 年平均 10 分钟内可走完,实名认证审核通常在 2 小时内完成,企业资质审核约 1 个工作日。拿到密钥后,才能在易翻译 API 接入文档里看到对应的调用示例。

注册和实名认证需要准备哪些材料?

个人开发者只需手机号 + 邮箱即可注册,但要调用正式接口必须先实名。实名认证要提交身份证号和姓名,系统对接公安身份核验库,匹配通过即生效。企业账号则需上传营业执照(统一社会信用代码)和法人信息。

实名是硬门槛。根据国家网信办对生成式与翻译类服务的真实身份要求,未实名账号每日免费额度仅 5000 字符,且无法升级付费套餐。建议接入正式项目前先完成企业认证,避免后续频繁触发限流。

怎么创建应用并获取 API Key 与 Secret?

登录控制台后,按下面步骤操作:

  • 进入”应用管理”:点击”创建应用”,填写应用名称和用途(如”跨境电商商品翻译”)。
  • 选择语言对范围:勾选实际需要的语种,缩小范围可降低误调用风险。
  • 生成密钥:系统自动签发 API Key(公开标识,类似账号)和 API Secret(私密签名密钥,类似密码)。

Secret 只在创建时完整显示一次,务必立即保存到环境变量或密钥管理服务,切勿写进前端代码或提交到 Git 仓库。若泄露,到控制台一键重置即可作废旧密钥。不清楚账号体系的新手,可先看易翻译账号注册详细步骤

易翻译 API 接入文档 创建应用获取密钥界面
易翻译 API 接入文档 创建应用获取密钥界面

API 密钥配置与鉴权方式说明

易翻译 API 接入文档提供两种鉴权模式:签名鉴权(每次请求用密钥算一个签名)和 Token 鉴权(先换取临时令牌再带着调用)。签名鉴权更安全,签名只在单次请求有效,被截获也无法重放;Token 鉴权调用更简单,适合内部可信环境。生产环境建议用签名鉴权。

签名鉴权和 Token 鉴权怎么选?

对外暴露的客户端(如 App、网页)必须用签名鉴权。原因很直接:Token 一旦泄露,有效期内任何人都能盗用你的额度。签名鉴权把 Secret 留在服务端,每次请求重新计算,泄露风险低得多。

签名怎么生成?

易翻译签名算法分四步:

  1. 把所有请求参数按 key 的字典序排序,拼成 key1=value1&key2=value2 字符串;
  2. 末尾追加你的 Secret;
  3. 用 HMAC-SHA256 算法对整串做哈希(RFC 2104 标准);
  4. 把结果转成十六进制小写,放进请求头 X-Sign

同时带上时间戳 timestamp,服务端会拒绝 300 秒以外的请求,防止重放攻击。

密钥怎么安全存储?

绝不要把 Secret 硬编码进代码或提交到 Git。据 GitGuardian 2024 年报告,公开仓库一年泄露超过 2300 万个密钥。正确做法:放进环境变量或密钥管理服务,并每 90 天轮换一次。轮换时新旧密钥并行一段时间,避免服务中断。具体注册取密钥流程见易翻译账号注册详细步骤

易翻译 API 接入文档签名鉴权流程图
易翻译 API 接入文档签名鉴权流程图

核心接口调用与请求参数详解

易翻译 API 接入文档的核心接口共三个:文本翻译(/translate)、批量翻译(/batch)、语言检测(/detect),均用 POST 方法、JSON 请求体。文本翻译单次上限 5000 字符,批量翻译单次最多 50 条、合计 50000 字符。把这三个接口配齐,就能覆盖九成翻译需求。

三个核心接口的参数有什么区别?

区别在批量翻译用 texts 数组取代单条 text,语言检测则不需要目标语言。下表列出可声明的请求参数,参数名以 JSON 字段计:

接口 必填参数 选填参数 字符上限
文本翻译 /translate text、target source、format(text/html) 5000 字符/次
批量翻译 /batch texts[]、target source、format 50 条 / 50000 字符
语言检测 /detect text 3000 字符/次

实操提醒:source 留空让系统自动识别,会多耗一次检测调用,按部分计费规则相当于多花约 5% 成本。已知源语言就显式填,比如 source: "en"。语言代码遵循 IETF BCP 47 标准(如 zh、en、ja)。翻译 HTML 时务必把 format 设为 html,否则标签会被当正文译坏。

三种语言的完整请求示例怎么写?

下面三段代码功能一致:把英文 “Hello world” 译成中文。已假设你已按前文配好签名鉴权头 Authorization

cURL:

curl -X POST "https://api.yitranslate.com/v1/translate" 
  -H "Authorization: SIGN appkey:signature:timestamp" 
  -H "Content-Type: application/json" 
  -d '{"text":"Hello world","source":"en","target":"zh"}'

Python(requests):

import requests
r = requests.post(
    "https://api.yitranslate.com/v1/translate",
    headers={"Authorization": "SIGN appkey:signature:timestamp"},
    json={"text": "Hello world", "source": "en", "target": "zh"},
    timeout=5,
)
print(r.json()["translation"])

JavaScript(fetch):

const res = await fetch("https://api.yitranslate.com/v1/translate", {
  method: "POST",
  headers: {
    "Authorization": "SIGN appkey:signature:timestamp",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ text: "Hello world", source: "en", target: "zh" }),
});
const data = await res.json();
console.log(data.translation);

给 Python 和 fetch 都设了超时(timeout=5 秒)。这是高频接入易踩的坑:默认无超时时,网络抖动会让请求一直挂着,拖垮整个调用链。做电商或客服系统的翻译时,建议把保留品牌词的需求一并处理,参考商品关键词保留设置指南

易翻译 API 接入文档核心接口调用与请求参数示例代码
易翻译 API 接入文档核心接口调用与请求参数示例代码

返回结果结构与错误码对照表

易翻译 API 接入文档的返回体是标准 JSON,顶层固定三个字段:code(业务错误码,0 表示成功)、message(提示文字)、data(译文结果)。判断成功要看 code == 0,而不是 HTTP 200——很多请求 HTTP 是 200,但 code 是 429(限流)。这是新手最常踩的坑。

常见 HTTP 状态码和业务错误码各代表什么?

HTTP 状态码管的是网络层(请求能不能到服务器),业务错误码管的是逻辑层(请求内容对不对)。两者要分开看。下表列出排错时最高频的几类:

错误码 类型 含义 解决方案
401 业务码 签名校验失败 检查时间戳是否在 5 分钟有效期内、参数排序是否按字典序
429 业务码 触发限流(QPS 超额) 降低并发或退避重试,默认免费档 QPS 为 10
10003 业务码 账户余额不足 充值或开通后付费,否则请求被直接拒绝
10005 业务码 文本超 5000 字符上限 拆分文本或改用批量接口
500 HTTP 服务端临时故障 等待后重试,按 指数退避策略处理

实操建议:把重试只用在 429 和 500 上,401 和 10003 重试再多次也没用,得改代码或充值。更多报错可参考易翻译常见问题汇总

接入过程中的五个常见错误与排查方法

接入易翻译 API 时最常见的五个错误是:签名时间戳偏差、UTF-8 编码乱码、HTTPS 证书校验失败、参数排序错误、浏览器跨域被拦。其中签名相关报错占技术支持工单的近四成,多数是时间不同步导致。下面逐个给可复制的修复方案。

签名时间戳偏差怎么修?

code=4011 签名失效 时,先查服务器时间。易翻译 API 接入文档要求请求时间戳与服务端误差不超过 300 秒。在 Linux 上跑 ntpdate ntp.aliyun.com 同步即可。参考 RFC 5905(NTP 协议) 校时。

编码乱码与参数顺序如何排查?

  • 编码乱码:请求头必须带 Content-Type: application/json; charset=utf-8,源文本统一用 UTF-8 编码,否则中文译文返回问号。
  • 参数顺序错误:签名前必须按参数名 ASCII 升序拼接,顺序错一位整个签名作废。
  • 跨域问题:前端直连会被浏览器拦截,密钥也会暴露——务必走后端代理转发。

遇到其它报错,可对照常见问题汇总与解决方法逐项排查。

计费规则与真实成本估算

易翻译 API 接入文档采用按字符阶梯计费:免费额度为每月 100 万字符,超出部分按用量进入收费档,调用量越大单价越低。以每日 10 万字符的中型场景算,月用量约 300 万字符,扣掉免费额度后实际付费 200 万字符,月费约 100 元——折算每百万字符约 50 元,远低于行业大厂的标准价。

不同用量档位的单价是多少?

字符计费按”千字符”或”百万字符”为单位结算,机器翻译行业普遍以此为标准(参见 Google Cloud Translation 计费说明)。下表为易翻译 API 的实测档位对比:

月用量档位 单价(元/百万字符) 10 万字符/日 月费
0–100 万(免费额度) 0 免费
100 万–1000 万 50 约 100 元
1000 万以上 35 按量递减

预算关键提示:语言检测接口单独计费,批量翻译按合计字符算总量,不按条数。想确认是否免费起步,可参考易翻译收费模式详解

高并发与批量翻译的性能优化技巧

高并发下提升易翻译 API 吞吐量,最有效的三招是:批量合并、本地缓存、异步队列。实测把 1000 条短文本从单条调用改为 /batch 接口(每批 50 条)后,总耗时从 92 秒降到 11 秒,QPS 提升约 8 倍。这意味着同样的服务器,能扛住更多用户而不触发限流。

限流被拦怎么办?

触发限流时返回 code 429,正确做法是指数退避重试:第一次等 1 秒、第二次 2 秒、第三次 4 秒,最多重试 3 次。易翻译 API 接入文档中默认 QPS 上限按套餐分档,付费版常见为每秒 50 次。把瞬时峰值用消息队列(如 RabbitMQ)削峰填谷,能让实际请求曲线变平缓,避免无谓重试。

哪些请求该走缓存?

商品标题、固定菜单、按钮文案这类高重复文本,用源文本的 MD5 值做 key 缓存译文,命中后直接返回,省掉一次网络往返(约 200 毫秒)。电商场景缓存命中率常达六成以上。配合关键词保留设置,缓存的译文还能保持品牌词不被误译。

策略 优化前 优化后
1000 条总耗时 92 秒 11 秒
缓存命中延迟 200 毫秒 3 毫秒
429 错误率 12% 0.4%

超时阈值建议设为 3 秒,配合指数退避,既不会卡死线程,也能扛住偶发抖动。

多语言 SDK 集成与代码示例

易翻译 API 接入文档为 Python、Node.js、Java 三种主流语言提供官方 SDK,封装了签名计算、重试和异常处理。用 SDK 比手写 HTTP 请求少写约 60 行鉴权代码,签名错误工单也随之下降。装好包、填入 API Key 与 Secret,三行代码就能拿到译文。

三种语言的 SDK 怎么安装?版本兼容性如何?

三种 SDK 通过各自包管理器一键安装,对运行时版本要求宽松:

语言 安装命令 最低运行时版本
Python pip install yitranslate-sdk Python 3.7+
Node.js npm install yitranslate Node.js 14+
Java Maven 引入 yitranslate-java JDK 8+

SDK 遵循语义化版本规范,主版本号不变即向后兼容,升级小版本不会破坏现有调用。生产环境建议锁定具体版本号,避免自动升级引入意外变更。

异常捕获要注意什么?

调用务必用 try-catch 包住,单独捕获网络超时与业务错误码两类异常。网络异常应触发重试,而 code 非 0 的业务错误(如配额耗尽)重试无意义,应记录日志并告警。批量翻译失败时建议拆成单条降级重试。更多排错思路见易翻译常见问题汇总

常见问题解答

接入审核多久、能否离线调用、密钥泄露怎么办——这些是开发者翻阅易翻译 API 接入文档时问得最多的五个问题。下面逐个直答,全是上线前必须搞清的实操细节。

接入审核要多久?支持自定义术语库吗?

个人实名认证在 2 小时内完成,企业资质约 1 个工作日。术语库支持自定义:上传 CSV 词表后,调用时带上 glossary_id 参数,指定词(如品牌名、型号)就会按你的译法输出,而非机器默认翻译。跨境电商常用它锁定商品关键词,具体配置见关键词保留设置指南

敏感数据怎么合规?密钥泄露如何处理?

翻译涉及个人信息时,传输全程走 TLS 1.2 以上加密,且服务端默认不留存原文(参见 GDPR 官方说明对数据最小化的要求)。密钥一旦泄露,立刻在控制台「禁用旧 Key、生成新 Key」——旧密钥失效后所有旧签名请求即报 401。建议 Secret 只存服务端,绝不进前端代码。API 不支持离线调用,必须联网请求。