翻译狗logo 开放平台
API接口规范
接口规则
提示:API接口已由https://www.fanyigou.net修改为https://www.fanyigou.com

上传

接口名称:uploadTranslate

接口完整路径:https://www.fanyigou.com/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

出参列表:

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

data结果集:

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

返回结果:

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

下载

接口名称:downloadFile

接口完整路径:https://www.fanyigou.com/TranslateApi/api/downloadFile

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

入参列表:

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

出参列表:

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

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

返回结果:

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

翻译记录

接口名称:queryTransList

接口完整路径:https://www.fanyigou.com/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

接口完整路径:https://www.fanyigou.com/TranslateApi/api/queryTransProgress

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

入参列表:

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

                

批量获取翻译进度

接口名称:queryMultiTransProgress

接口完整路径:https://www.fanyigou.com/TranslateApi/api/queryMultiTransProgress

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

入参列表:

参数名称参数说明参数类型备注是否必填
appid应用的唯一识别标记String
token签名String见token生成规则
nonce_str随机字符串String
tidstid拼接的字符串,如:23,24,25,最多不超过10个 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"
		},
		{
		"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": "请求成功"
}

                

积分使用列表

接口名称:getScoreList

接口完整路径:https://www.fanyigou.com/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": "请求成功"

                }
                

自定义上传

接口名称:uploadTranslateCustom

接口完整路径:https://www.fanyigou.com/TranslateApi/api/uploadTranslateCustom

接口说明:用户调用接口进行 源文件上传,上传完成后会自动进行翻译,通过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
uid用户idString
previewUpload上传类型(0,完整文件上传(默认);1:预览上传(最多上传2页)String

出参列表:

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

data结果集:

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

返回结果:

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

语言列表

语言代码语言图片格式支持的源语言
自动检测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文档页数超限