浏览器 API
所有 API 请求均为 REST 式样 URL 标准 HTTP 请求。 回应是 JSON 或图像(在提取结果时)。
身份验证
API 使用标准的 HTTP 基本存取身份验证( 请求header 中加入token )
所有 API
请求将需要包括您的 token 凭据,token有时效性,失效后再次通过接口获取
示例中的token是演示值,其状态会不定时变换,不要用在生产活动中
您可以随时在您的开发者中心上找到自己的 API 凭证和使用信息。
后端与前端
浏览器 API专门为前端设计,请在前端调用
浏览器API 相对于 服务器API有哪些区别?
1.浏览器授权token,可访问的接口范围和权限有限,不会返回敏感信息,且有时效性,在浏览器端使用会更安全;
2.浏览器token 受白名单限制,请在 开发者中心/域名白名单 中配置白名单;
3.通过服务端API调用接口可获得浏览器token;服务端的token是唯一的,浏览器token可生成多个;
4.多个token在有限期内都是有效的;
5.系统不会保存已生成的浏览器token,丢失后可通过接口或开发者中心生成;
JSON 对象错误
我们使用传统的 HTTP 状态,表示 API 请求成功或失败,并在返回的 JSON 对象错误中包括重要的错误信息。
我们努力始终为任何有问题的请求返回 JSON 对象错误。 但是,从理论上来说,总是可能出现内部服务器故障,从而导致非 JSON 错误回应。
属性 |
|
---|---|
status | 回应的 HTTP 状态在此重复,以帮助调试。 |
code | FOXPSD 内部错误代码。 |
msg | 人类可读错误消息,旨在帮助调试。 |
如果您的请求的 HTTP 状态是 200,则不会返回 JSON 对象错误,您可以安全地假设请求总体而言已取得成功。
一些 HTTP 客户端库为 400
-599
范围内的 HTTP 状态引发异常。 您将需要捕获这些异常,并适当处理。
HTTP Status | 表示 |
---|---|
200 -299 |
成功 |
400 -499 |
请求中提供的信息存在问题(例如,缺少一个参数)。 请查看错误消息,了解如何纠错。 |
500 -599 |
出现 FOXPSD 内部错误。 请稍候,然后再重新尝试,如果问题依然存在,请及时联系我们。 |
FOXPSD 内部code 表示的含义
FOXPSD code | 表示 |
---|---|
10000 |
成功 |
10001 |
失败,可能是参数验证错误,权限错误等等,请开发者自行检查 |
10002 |
token 失效,用于重新登录逻辑 |
错误回应示例
- {
- code:10001, //状态码
- msg:'权限不足', //提示信息
- data:null //可能包含的具体内容
- }
json
正确回应示例
- {
- "code": 10000,
- "data": {
- "sku": "1637826540047353433"
- },
- "msg": "请求成功"
- }
json
API: 图片直传POST https://foxpsd.com/browser/upload
为了获得更好的性能,浏览器端可把图片直传到foxpsd服务器进行图片合成,图片会保留两天
参数 |
|
---|---|
file file文件 必传 |
上传图片,file文件,多张图片起名规则为 file1,file2.... |
结果 |
|
---|---|
code 数字 |
取值范围为 10000 :操作成功;10001 :操作失败 |
msg 字符串 |
信息提示 |
data 数组 |
多张图片的数组列表 |
data[].url 字符串
|
图片路径 |
请求演示
- for (let i = 0; i < files.length; i++) {
- var formData = new FormData();
- formData.append('file' + i, files[i]);
- let res = await axios.post('https://foxpsd.com/browser/upload', formData, {
- headers: {
- 'Authorization': 'Basic xxxxxx',
- },
- });
- console.log(res)
- }
js
- {
- "code": 10000,
- "data": [
- {
- "originFileName": "1620635484949.png",
- "fullPath": "",
- "relativePath": "20220618/1655541688517544340.png",
- "pubilcPath": "/upload/20220618/1655541688517544340.png",
- "filename": "1655541688517544340.png",
- "url": "https://foxpsd.com/webps/upload/20220618/1655541688517544340.png"
- }
- ],
- "msg": "请求成功"
- }
json
API: 图片 生成图片POST https://foxpsd.com/browser/shengchengtu/save/:订阅sku
此接口用于生成图片,订阅sku,请在 开发者中心 / API计数 中查看
参数 |
|||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
psd_sku 字符串 必传 |
psd 模板的sku值,选择的psd需要满足订阅产品的最大宽度要求 | ||||||||||||||||
data 数组 必传 |
|
||||||||||||||||
mode 字符串 非必传 |
图片填充模式,当data里配置mode后,优先级大于此处配置
|
||||||||||||||||
callback 字符串 非必传 |
开发者自己的服务器回调地址,生成图片后FOXPSD 会根据这个地址发送一条
GET请求 ,并将生成的结果会以参数'&'拼接的方式返回包含的参数有:
|
结果 |
|
---|---|
code 数字 |
取值范围为 10000 :操作成功;10001 :操作失败 |
msg 字符串 |
信息提示 |
data.sku 字符串 |
图片 的唯一标识,需要自己单独存储,后面可用于查询结果详情 |
data.oss 字符串 可能存在 |
如果订阅的是 500像素-实时预览产品,还会直接返回此结果,可用于展示 |
请求演示
- $.ajax({
- type:'POST',
- url:'https://foxpsd.com/browser/shengchengtu/save/163765136915264690',
- data:JSON.stringify({
- "psd_sku":"1637737947373803488",
- "data":[
- {
- "name":"sucai",
- "content":"https://yourServer.com/1628674835625.jpg"
- },
- {
- "name":"sucai2",
- "content":"https://yourServer.com/1628671976551.jpg"
- }
- ],
- "callback":"https://yourServer.com/test"
- }),
- headers:{
- 'Content-Type': 'application/json',
- // 填写你的token 进行身份识别(下面为演示token,请勿用于生产环境)
- 'Authorization':'Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
- },
- success(res){
- //操作成功
- if (res.code == '10000') {
- console.log(res)
- }else{
- console.log(res)
- }
- },
- error(err){
- console.log(err)
- }
- })
js
- {
- "code": 10000,
- "data": {
- "success": 1,
- "msg": "操作成功",
- "sku": "1637896425191216816",
- //只有支持实时预览的服务才有下面返回值
- "oss": "http://xxxxxxx.com/1637200300570/shengchengtu/20211126/163789642619938254.jpg",
- "fileName": "163789642619938254.jpg",
- "relative": "/163789642619938254.jpg",
- },
- "msg": "请求成功"
- }
json