Skip to content

Latest commit

 

History

History
256 lines (203 loc) · 6.67 KB

third.md

File metadata and controls

256 lines (203 loc) · 6.67 KB

第三方接口文档

###准备

1、线下付款,获取可上传图片次数
2、申请请求接口所需的third_code和secret_key
3、根据接口文档,接入服务

###说明

1、按照图片上传次数扣费,上传失败不扣费
2、获取到的secret_key请妥善保管,不可外传
3、所有修复成功的图片本站将保留1小时后自动删除,如需持久化存储请下载至自有系统

###接口说明

1、code=200固定为成功,code=9000固定为失败
2、code=9000时,如需进一步业务判断,可根据errno参数

接口url:http://sdkphoto.fangtangtv.com

1、图片上传接口

  • URL /api/third/uploads
  • Method POST
  • Header token: 加密生成的token,加密规则见附1
  • Params
field type required commit
third_code string Y 线下申请的第三方标识third_code
seq str Y 任务参数, 多值以英文逗号连接, 可选参数: repair, colour, sr, bg, scratch, defogging
type str N 图像类型, 默认 people, 可选参数: people, cortoon, landscape, portrait, text
file file Y 图像文件, 可传多次
rate int N 超分倍数, 默认 0, 可选参数: 2, 4, 8
rgb str N 底色值, bg in seq 时必传, 可选参数: -1, 1, 235,51,35(红), 85,142,213(蓝), 255,255,255(白)
dpi int N 分辨率, 300DPI则传300
platform str Y 平台, 可选参数: pc, h5, mp, ios, baidu, zijie, douyin, alipay
clientip str N 客户端IP
mdf str N 再次处理, 必传, 可传多次

参数描述

type : people(人物), cortoon(卡通), landscape(景物), portrait(遗像), text(文本)
seq  : repair(优化), colour(上色), sr(超分放大), bg(去背景), scratch(去划痕), defogging(去雾化)
rate : 0(自动超分), 2、4、8()
rgb  : -1(抠图、透明), 1(渐进灰-遗照), 235,51,35(), 85,142,213(), 255,255,255()
  • Response

正常时

{
    "code": 200,
    "data": {
        "mdf": [
            "1fbe935269facebfb3edf2fe7e257914"  # 文件唯一标识
        ]
    }
}

失败时

errno commit
9999 请求参数token不合法
9101 剩余下载次数为0
9001 传入参数错误
9005 文件上传类型不支持
9006 上传失败
9009 图片异常,处理失败
{
    "code": 9000,
    "errno": 9005,
    "msg": "文件上传类型不支持"
}

2、图片修复状态查询

  • URL /api/third/status
  • Method POST
  • Header token: 加密生成的token,加密规则见附1
  • Params
field type required commit
third_code string Y 线下申请的第三方标识third_code
mdf str Y 文件唯一标识, 可传多次
platform str Y 平台, 可选参数: pc, h5, mp, ios, baidu, zijie, douyin, alipay
  • Response

Task Code

    2001 -> 任务正在队列中等待处理
    2002 -> 任务处理完成
    2003 -> 图像超分中
    2004 -> 图像换底色中
    2005 -> 图像抠图中
    2006 -> 图像划痕修复中
    2007 -> 图像去雾化中
    2008 -> 图像修复中
    2009 -> 图像上色中
{
    "code": 200,
    "data": {
        "status": 200,
        "msg": "获取任务状态成功",
        "mdfs": [
            {
                "mdf": "9804b4cb5b4740fb26afde5f2831c0f5",  # 文件唯一标识
                "code": 1,                                  # 任务状态, 0 处理中、1 成功、2 失败
                "task": 2002,
                "state": "任务处理完成",
                "src_url": "http://192.168.10.90:8500/api/toc/download/input/9804b4cb5b4740fb26afde5f2831c0f5.jpg",         # 原图
                "wmk_url": "http://192.168.10.90:8500/api/toc/download/output/wmk_9804b4cb5b4740fb26afde5f2831c0f5.jpg",    # 修复水印图
                "icon_url": "http://192.168.10.90:8500/api/toc/download/output/icon_9804b4cb5b4740fb26afde5f2831c0f5.jpg",  # 修复水印缩略图
                "res_size": "1080x1366px 146KB"
            }
        ]
    }
}

失败时

errno说明

errno commit
9002 图片不存在
500 其他错误
{
    "code": 9000,
    "errno": 9002,
    "msg": "图片不存在,请确认图片是否上传成功"
}

3、图片下载

  • URL /api/third/download
  • Method POST
  • Header token: 加密生成的token,加密规则见附1
  • Params
field type required commit
third_code string Y 线下申请的第三方标识third_code
mdf string Y 文件唯一标识
  • Response

正常时

field commit
url 图片下载地址
{
    "code": 200,
    "data": {
        "url": "http://sdkphoto.fangtangtv.com/api/hiliad/download/res_red_b342067e7719213d0d06a2e835b2ae6c.jpg"
    }
}

失败时

errno说明

errno commit
9002 图片不存在
500 其他错误
{
    "code": 9000,
    "errno": 9002,
    "msg": "数据已失效,请重新上传"
}

4、剩余上传次数查询

  • URL /api/third/company/nums
  • Method POST
  • Header token: 加密生成的token,加密规则见附1
  • Params
field type required commit
third_code string Y 线下申请的第三方标识third_code
  • Response

正常时

field commit
code 第三方标识third_code
nums 剩余上传次数
{
    "code": 200,
    "data": {
        "code": "hiliad",
        "nums": 98
    }
}

失败时

errno说明

errno commit
9002 数据未找到
500 其他错误
{
    "code": 9000,
    "errno": 9002,
    "msg": "数据未找到"
}

附1、token生成规则

1、拿到服务方提供的secret_key,再生成一个当前时间戳time
    secret_key = 'hiliad'
    time = '1629962357'
2、secret_key + time,两字符串拼接,再md5,得到参数mds
    mds = hashlib.md5((secret_key + time).encode("utf8")).hexdigest()
    mds = '5484490c8e797dabe52af90ab8bd1e50'
3、最终的token等于 mds + ',' + time
    token = '5484490c8e797dabe52af90ab8bd1e50,1629962357'

注:生成的时间戳会在2分钟后失效,请每次请求接口都重新生成时间戳