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

上传

接口名称:uploadTranslate

接口完整路径:http://dev.open.fanyigou.net/TranslateApi/api/uploadTranslate

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

1.上传格式:pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg、bmp

2.上传文件最大50M

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

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

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

6.图片格式(png、jpg、jpeg、bmp)源语言仅支持部分语言,详见语言列表

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

入参列表:

参数名称参数说明参数类型备注是否必填
appid应用的唯一识别标记String
token签名String见token生成规则
nonce_str随机字符串String
from源语言(图片格式不支持自动检测)String见语言列表
to目标语言(不支持自动检测)String见语言列表
md5源文件md5String
industryId行业代码int见行业列表
transEngine指定翻译引擎String如,XUNFEI
transImg文档内图片翻译int0:不翻译文档内图片(默认),1:翻译文档内图片
excelMode指定excel翻译模式int0:只翻译当前打开sheet(默认),1:翻译全部sheet(页数按全部sheet字符数来计算)
bilingualControl指定翻译模式int0:译文单独为一个文档(默认),1:双语对照(原文和译文在一个文档)

出参列表:

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

data结果集:

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

返回结果:

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

下载

接口名称:downloadFile

接口完整路径:http://dev.open.fanyigou.net/TranslateApi/api/downloadFile

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

入参列表:

参数名称参数说明参数类型备注是否必填
appid应用的唯一识别标记String
token签名String见token生成规则
nonce_str随机字符串String
dtype下载的文件类型(new):
2:翻译后的pdf文件,支持格式:word、pdf、img。
3:翻译后的word文件(支持格式:word、pdf);ppt文件(支持格式:img、ppt);excel文件(支持格式:excel)
6:转换后的文档
int
tid查询状态结果IdString上传源文件后可获取该ID

出参列表:

说明:1.判断Response Headers 中 detectLanguage 的值,若存在且不为空即为自动检测出的语言(可能为多种语言),仅供参考

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

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

返回结果:

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

翻译记录

接口名称:queryTransList

接口完整路径:http://dev.open.fanyigou.net/TranslateApi/api/queryTransList

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

入参列表:

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

出参列表:

参数名称参数说明参数类型备注
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": "请求成功"
}
                

获取任务进度

接口名称:queryTransProgress

接口完整路径:http://dev.open.fanyigou.net/TranslateApi/api/queryTransProgress

接口说明:提交翻译完成后可调用此接口实时查询任务进度(建议调用间隔在2s及以上)

入参列表:

参数名称参数说明参数类型备注是否必填
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
detectLan检测的语言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

接口完整路径:http://dev.open.fanyigou.net//TranslateApi/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": "1",
		       }
		    ],
		   },
		   "msg": "请求成功"

                }
                

获取账户信息

接口名称:getAccount

接口完整路径:http://dev.open.fanyigou.net//TranslateApi/api/getAccount

接口说明:获取账户信息

入参列表:

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

出参列表:

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

data结果集:

参数名称参数说明参数类型备注
deductType0:按积分计费,1:按页计费int
balance余额int

返回结果:

{"code":100,"data":{"deductType":1,"balance":137684},"msg":"请求成功"}

文档转换

接口名称:convert

接口完整路径:http://dev.open.fanyigou.net/TranslateApi/api/convert

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

1.上传格式:pdf、doc、docx、ppt、pptx、xls、xlsx、hwp、caj

2.上传文件最大50M

3.加密文件请先去除密码

4.转换完成后按页从主账号里扣费

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

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

入参列表:

参数名称参数说明参数类型备注是否必填
appid应用的唯一识别标记String
token签名String见token生成规则
nonce_str随机字符串String
from源文件的语言代码(扫描件需设置语言)String见语言列表
conversionFormat转换的目标格式(目前支持pdf到其它格式的转换(excel,ppt,word),及其它格式(excel,ppt,word)到pdf的转换)
-1:word;-3:pptx;-6:excel。
int
md5源文件md5String

出参列表:

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

data结果集:

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

返回结果:

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

回调通知

回调说明:翻译任务、转换任务,失败或成功时会发起回调

目前回调地址需要后台设置,后续会开放设置

请求方式:post, application/json

回调接口处理完成后须返回“success”字符串

回调参数列表:

参数名称参数说明参数类型备注
tid查询任务idint通过该id可查询任务进度等
title文件名String
docType文件类型String
fromLan源语言String
toLan目标语言String
detectLan检测的语言String不为空即为自动检测出的主要语言,仅供参考
percent任务进度String
pageCount文件页数int
status任务状态int详见文件任务状态码
msg状态说明String
createTime创建时间String
updateTime更新时间String

回调JSON示例:

{"createTime":"2021-08-25 14:27:47","detectLan":"","docType":"pdf","fromLan":"中文","msg":"完成","pageCount":1,"percent":"100.00","status":314,"tid":19432525,"title":"test","toLan":"英语","updateTime":"2021-08-25 14:27:47"}

安全规范

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等。
签名要求请求和接收数据均需要校验签名,详细方法请参考安全规范-签名算法
判断逻辑先判断协议字段返回,再判断业务返回

语言列表

语言代码语言图片格式支持的源语言
自动检测x
zh中文
jp日语
th泰语x
fra法语
en英语
spa西班牙语
kor韩语
tr土耳其语
vie越南语x
ms马来语x
de德语
ru俄语
ara阿拉伯语x
est爱沙尼亚语
be白俄罗斯语x
bul保加利亚语
hi印地语x
is冰岛语x
tl菲律宾语x
fin芬兰语
nl荷兰语
ca加泰罗尼亚语
cs捷克语
hr克罗地亚语
lv拉脱维亚语
lt立陶宛语
rom罗马尼亚语
no挪威语
pt葡萄牙语
swe瑞典语
sr塞尔维亚语
eo世界语x
sk斯洛伐克语
slo斯洛文尼亚语
sw斯瓦希里语x
uk乌克兰语
iw希伯来语
el希腊语
hu匈牙利语
hy亚美尼亚语x
it意大利语
id印尼语x
sq阿尔巴尼亚语x
am阿姆哈拉语x
az阿塞拜疆语x
eu巴斯克语x
bn孟加拉语x
bs波斯尼亚语x
gl加利西亚语x
ka格鲁吉亚语x
gu古吉拉特语x
ig伊博语x
ga爱尔兰语x
zu祖鲁语x
kn卡纳达语x
kk哈萨克语x
ky吉尔吉斯语x
lb卢森堡语x
mk马其顿语x
mt马耳他语x
mi毛利语x
mr马拉提语x
ne尼泊尔语x
pa旁遮普语x
si僧加罗语x
ta泰米尔语x
te泰卢固语x
ur乌尔都语x
uz乌兹别克语x
cy威尔士语x
yo约鲁巴语x
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通道已被占用(不能上传,需等待正在进行的文件任务结束)
321没有读取到需要翻译的内容
322图片文件大小超过限制(20M)
323图片文件像素超过限制(1000万)
324图片文件解析失败
325正在人工处理
326重复翻译
327文档页数超限
328图片生成失败

行业列表

行业代码行业
1法律
2金融
3农林牧渔
4医药卫生
5建筑建材
6冶金矿产
7石油化工
8水利水电
9交通运输
10信息产业
11机械机电
12轻工食品
13服装纺织
14专业服务
15安全防护
16环保绿化
17旅游休闲
18办公文教
19电子电工
20玩具礼品
21家居用品
22物资
23包装
24体育
25办公
26其他