翻译狗logo 开放平台
API接口规范
接口规则

上传

接口名称:uploadTranslate

接口路径:/api/uploadTranslate

接口说明:用户调用接口进行 源文件上传,上传完成后会自动进行翻译,通过tid可以查询翻译的进度等数据。注意:

1.上传格式:pdf、doc、docx

2.上传文件最大50M

3. 不支持扫描件、图纸、纯图片文档,加密文件请先去除密码

4.翻译完成后按1分/页从主账号里扣费

5.目前仅支持一条翻译通道(即只能同时进行一个文件的上传翻译)

调用说明:请求方式:post, file参数请以 multipart/form-data 方式的表单 POST 提交

入参列表:

参数名称参数说明参数类型备注是否必填
appid应用的唯一识别标记String
token签名String见token生成规则
nonce_str随机字符串String
from源语言String见语言列表
to目标语言String见语言列表
md5源文件md5String

出参列表:

参数名称参数说明参数类型备注
code状态码int详见状态码列表
msg返回状态说明String
data返回数据结果集StringJson字符串

data结果集:

参数名称参数说明参数类型备注
tid翻译idString通过该id可查询翻译进度等

返回结果:

{"code": 100,"data": {"tid": 14587},"msg": "请求成功"}

下载

接口名称:downloadFile

接口路径:/api/downloadFile

接口说明:根据tid获取翻译后的文件的url,然后下载(可下载原文件(不扣分)及翻译后的文件(pdf-需扣除 2积分/页、word-需扣除 5积分/页),均按照原文件页数扣分)

入参列表:

参数名称参数说明参数类型备注是否必填
appid应用的唯一识别标记String
token签名String见token生成规则
nonce_str随机字符串String
dtype下载的文件类型(0:原文件,1:原文件转换后的pdf文件(若原文为pdf,则无需转换,和原文件一样),2:翻译后的pdf文件,3:翻译后的word文件)String
tid查询状态结果IdString上传源文件后可获取该ID

出参列表:

说明:判断Response Headers 中Content-Type 的值,若为"application/octet-stream" 则可直接进行下载,否则即为以下返回值

参数名称参数说明参数类型备注
code状态码int详见状态码列表
msg返回状态说明String

返回结果:

{"code": 312,"msg": "该翻译不存在"}

翻译记录

接口名称:queryTransList

接口路径:/api/queryTransList

接口说明:用户通过appid查询翻译过的记录。

入参列表:

参数名称参数说明参数类型备注是否必填
appid应用的唯一识别标记String
token签名String见token生成规则
nonce_str随机字符串String
page当前第几页 Int与rows联合使用
rows返回行数 Int与page联合使用

出参列表:

参数名称参数说明参数类型备注
code状态码int详见状态码列表
msg返回状态说明String
data返回数据结果集StringJson字符串

data结果集:

参数名称参数说明参数类型备注
tid查询翻译idint通过该id可查询翻译进度等
title文件名String
docType文件类型String
fromLan源语言String
toLan目标语言String
percent翻译进度String
pageCount文件页数int
status翻译状态int详见文件翻译状态码
msg状态说明String
createTime创建时间String
updateTime更新时间String

返回结果:

{
	"code": 100,
	"data": {
		"total":20,
		"tlist":[
		{
		"createTime": "2018-03-27 16:57:51",
		"docType": "docx",
		"fromLan": "",
		"msg": "正在翻译",
		"pageCount": 1,
		"percent": "99.00",
		"status": 313,
		"tid": 14587,
		"title": "测试",
		"toLan": "中文",
		"updateTime": "2018-03-27 16:58:00"
		},
		{
		"createTime": "2018-03-27 16:57:51",
		"docType": "docx",
		"fromLan": "",
		"msg": "正在翻译",
		"pageCount": 1,
		"percent": "99.00",
		"status": 313,
		"tid": 14588,
		"title": "测试",
		"toLan": "中文",
		"updateTime": "2018-03-27 16:58:00"
		}
	  	]
	},
	"msg": "请求成功"
}
                

获取翻译进度

接口名称:getTransProgress

接口路径:/api/getTransProgress

接口说明:提交翻译完成后可调用此接口实时查询翻译进度

入参列表:

参数名称参数说明参数类型备注是否必填
appid应用的唯一识别标记String
token签名String见token生成规则
nonce_str随机字符串String
tid查询状态结果Id String

出参列表:

参数名称参数说明参数类型备注
code状态码int详见状态码列表
msg返回状态说明String
data返回数据结果集StringJson字符串

data结果集:

参数名称参数说明参数类型备注
tid查询翻译idint通过该id可查询翻译进度等
title文件名String
docType文件类型String
fromLan源语言String
toLan目标语言String
percent翻译进度String
pageCount文件页数int
status翻译状态int详见文件翻译状态码
msg状态说明String
createTime创建时间String
updateTime更新时间String

返回结果:

{
	"code": 100,
	"data": {
		"createTime": "2018-03-27 16:57:51",
		"docType": "docx",
		"fromLan": "",
		"msg": "正在翻译",
		"pageCount": 1,
		"percent": "99.00",
		"status": 313,
		"tid": 14587,
		"title": "测试",
		"toLan": "中文",
		"updateTime": "2018-03-27 16:58:00"
	},
	"msg": "请求成功"
}

                

积分使用列表

接口名称:getScoreList

接口路径:/api/getScoreList

接口说明:用户根据自己的appid查询积分使用状况

入参列表:

参数名称参数说明参数类型备注是否必填
appid应用的唯一识别标记String
token签名String见token生成规则
nonce_str随机字符串String
page当前第几页Int与rows联合使用
rows返回行数Int与page联合使用

出参列表:

参数名称参数说明参数类型备注
code状态码int详见状态码列表
msg返回状态说明String
data返回数据结果集StringJson字符串

data结果集:

参数名称参数说明参数类型备注
createtime积分使用时间或添加积分时间String
score积分数量int
info积分说明String
type表示积分是增加或减少。0:增加,1:减少char

返回结果:

                {
                   "code": 100,
		  "data": {
		     "total": 1,
		    "tlist": [
		      {
		        "createtime": "2017-11-08 15:53:29",
		        "info": "注册成功加积分",
		        "score": 100,
		        "type": "0",
		       }
		    ],
		   },
		   "msg": "请求成功"

                }
                

安全规范

1、签名算法

签名生成的通用步骤如下:

第一步,设所有发送或者接收到的数据为集合M(包括平台生成的privatekey),将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。

特别注意以下重要规则:

◆ 参数名ASCII码从小到大排序(字典序);
◆ 如果参数的值为空不参与签名;
◆ 参数名区分大小写;
◆ 验证调用返回或主动通知签名时,传送的token参数不参与签名,将生成的签名与该token值作校验。
◆ 接口可能增加字段,验证签名时必须支持增加的扩展字段

第二步,对stringA进行MD5运算,再将得到的字符串所有字符转换为大写,得到token值。
◆ privatekey设置路径:翻译狗开发平台(域名XX)-->控制台-->开发者信息-->申请信息

举例:

假设传送的参数如下:

appid:1522125815142
tid:14526
nonce_str:ibuaiVcKdpRxkhJA
from : en
to : zh
md5 : 5b21f2eeda4726c74274fc27a53bac74

第一步:对参数按照key=value的格式(包括privatekey),并按照参数名ASCII字典序排序如下:
                    
stringA="appid=1522125815142&from=en&md5=5b21f2eeda4726c74274fc27a53bac74&nonce_str=ibuaiVcKdpRxkhJA&privatekey=4892ef64ewf5sffdf&tid=14526&to=zh";



第二步:加密:

token=MD5(stringA).toUpperCase()="7D5FA1767E5848472081B448554B39EB" 

最终得到最终发送的数据:
appid:1522125815142
tid:14526
nonce_str:ibuaiVcKdpRxkhJA
from : en
to : zh
md5 : 5b21f2eeda4726c74274fc27a53bac74
token : 7D5FA1767E5848472081B448554B39EB
                

2、生成随机数算法

API接口协议中包含字段nonce_str,主要保证签名不可预测。我们推荐生成随机数算法如下:调用随机数函数生成,将得到的值转换为字符串。

协议规则

用户接入API时,调用API必须遵循以下规则:
提交方式采用POST方法提交
字符编码统一采用UTF-8字符编码
签名算法MD5,后续会兼容SHA1、SHA256等。
签名要求请求和接收数据均需要校验签名,详细方法请参考安全规范-签名算法
判断逻辑先判断协议字段返回,再判断业务返回

语言列表

源语言目标语言
自动检测
zh中文
jp日语
th泰语
fra法语
en英语
spa西班牙语
kor韩语
tr土耳其语
vie越南语
ms马来语
de德语
ru俄语
ara阿拉伯语
est爱沙尼亚语
be白俄罗斯语
bul保加利亚语
hi印地语
is冰岛语
tl菲律宾语
fin芬兰语
nl荷兰语
ca加泰罗尼亚语
cs捷克语
hr克罗地亚语
lv拉脱维亚语
lt立陶宛语
rom罗马尼亚语
no挪威语
pt葡萄牙语
swe瑞典语
sr塞尔维亚语
eo世界语
sk斯洛伐克语
slo斯洛文尼亚语
sw斯瓦希里语
uk乌克兰语
iw希伯来语
el希腊语
hu匈牙利语
hy亚美尼亚语
it意大利语
id印尼语
sq阿尔巴尼亚语
am阿姆哈拉语
az阿塞拜疆语
eu巴斯克语
bn孟加拉语
bs波斯尼亚语
gl加利西亚语
ka格鲁吉亚语
gu古吉拉特语
ig伊博语
ga爱尔兰语
zu祖鲁语
kn卡纳达语
kk哈萨克语
ky吉尔吉斯语
lb卢森堡语
mk马其顿语
mt马耳他语
mi毛利语
mr马拉提语
ne尼泊尔语
pa旁遮普语
si僧加罗语
ta泰米尔语
te泰卢固语
ur乌尔都语
uz乌兹别克语
cy威尔士语
yo约鲁巴语
cht中文繁体

状态码列表

系统状态码:
状态码状态描述
100请求成功
101没有访问权限
102业务停机
103账户不存在
104账户异常
105系统错误
106参数异常
107黑名单管控
108访问地址频率过高
109该应用不存在
110该应用尚未启用
翻译状态码:
状态码状态描述
300参数为空
301文件为空
302文件类型不支持
303文件MD5不匹配
304可用积分不足
305文件加密
306文档不能识别
307文档损坏
309文档无法成功读取或读取超时,请将文件转换成其他版本的word或pdf后再次尝试
310自动翻译超时,等待人工处理
311文件大小超过限制(50M)
312该翻译不存在
313正在翻译
314翻译完成
315正在传递
316翻译超时
317已取消
318该文件不存在
320翻译通道已被占用(不能上传进行翻译,需等待正在翻译的文件翻译结束)