API:ShortURL - 短网址
概览
Shorturl
是 SUBMAIL 的短网址 API。
使用 Shorturl API 可以获取、创建、编辑或删除您的短网址。
shorturl API
使用 HTTP
规范中的 GET
, POST
, PUT
, DELETE
方法对短网址进行操作,使用 GET
方法获取单个或全部短网址、POST
方法创建新的短网址并提交至 SUBMAIL 人工审核、PUT
方法更新或编辑一个短网址,或使用 DELETE
方法删除一个短网址。
短网址引擎支持 SUBHOOK
异步推送状态,短网址在后台人工审核后,会使用 SUBHOOK
进行主动推送状态。
URL
<主> https://service.mysubmail.com/shorturl
支持格式
格式 | URL |
---|---|
json | https://service.mysubmail.com/shorturl.json (默认) |
xml | https://service.mysubmail.com/shorturl.xml |
http 请求方式
GET | 获取全部短网址,或获取指定的单个短网址 |
---|---|
POST | 创建一个新的短网址 |
PUT | 编辑或更新一个短网址 |
DELETE | 删除一个短网址 |
是否需要授权
是
参阅 API 授权和验证机制
ShortURl GET 方法(获取短网址列表)请求参数
参数 | 类型 | 必需/可选 | 默认 | 描述 |
---|---|---|---|---|
appid | string | 必需 | 无 | 在 SUBMAIL 应用集成中创建的短网址应用ID |
short_url | string | 必需 | 无 | 短网址 要获取单个模板,请将在此参数中提交您要查询的具体短网址。为空则获取所有的短网址。 |
rows | int | 可选 | 100 | 单次返回数据的行数 请将该值控制在10-1000之间,若指定了一个无效的 rows 参数,API 将默认返回 100行数据 |
offset | int | 可选 | 0 | 数据偏移指针 该值可以指定返回数据的偏移指针,例:假如单次请求包含150条数据,rows参数采用50行,此时需要查询第51-100行的数据,请将 offset 参数设为1(即数据偏移50行)即可得到第51-100行的数据,offset=2时,将返回第101-150行数据,以此类推 |
group | string | 可选 | 无 | 短网址群组ID |
timestamp | UNIX 时间戳 | 可选 | 无 | 参阅 API 授权与验证机制 > Timestamp UNIX 时间戳 |
sign_type | string | 可选 | normal | API 授权模式( md5 or sha1 or normal )参阅 API 授权与验证机制 > 授权和验证方式 |
signature | string | 必需 | 无 | 应用密匙 或 数字签名 参阅 API 授权与验证机制 > 授权和验证方式 |
ShortURl POST 方法(创建短网址)请求参数
参数 | 类型 | 必需/可选 | 默认 | 描述 |
---|---|---|---|---|
appid | string | 必需 | 无 | 在 SUBMAIL 应用集成中创建的短网址应用ID |
model | string | 可选 | url | 设置 URL 访问模式 *设置 URL 参数为 url-scheme 为 App 内链模式(或微信小程序); 设置参数为 mp-wechat 为微信公众号模式,需授权 SUBMAIL 小程序 ,smpp-wechat为微信小程序模式 (请谨慎使用此模式) |
sapp_id | string | 条件可选 | 无 | 小程序id,model=sapp-wechat时必填 |
sapp_key | string | 条件可选 | 无 | 小程序key, model=sapp-wechat时必填 |
url | string | 必需 | 无 | 默认目标网址。 您需要处理成短网址的长网址。 |
group | string | 可选 | 无 | 短网址群组ID |
item | string | 可选 | 无 | 自定义标记。 手机号码,国际手机号码,邮件地址,或任意字符串,此参数通常配合 短网址群组功能使用。(最大长度不能超过32位) |
domain | string | 可选 | link.wiki | 域名选择。 SUBMAIL提供的域名选择:link.wiki、suburl.cn、s1k.cn、3s6.cn 企业版支持自定义域名设置。 |
access_password | string | 可选 | 无 | 访问密码。 |
access_limit | int | 可选 | 无 | 访问次数限制。 |
expire | int | 可选 | 无 | 设置短链接过期时间,按小时计算,默认过期时间为当前套餐的最大时长。 |
routes | jsonString | 可选 | 无 | 短网址路由。 此参数支持对桌面端,移动端,app,机器人的路由跳转操作 具体参数示列请参考ShortUrl Routes参数说明 |
tag | string | 可选 | 无 | 此参数用于标记一次 API 请求(最大长度不超过 64 位) 添加了 tag 参数的 API 请求,会在所有的 SUBHOOK 事件中携带此参数。 |
timestamp | UNIX 时间戳 | 可选 | 无 | 参阅 API 授权与验证机制 > Timestamp UNIX 时间戳 |
sign_type | string | 可选 | normal | API 授权模式( md5 or sha1 or normal )参阅 API 授权与验证机制 > 授权和验证方式 |
signature | string | 必需 | 无 | 应用密匙 或 数字签名 参阅 API 授权与验证机制 > 授权和验证方式 |
ShortURl PUT 方法(更新短链接)请求参数
参数 | 类型 | 必需/可选 | 默认 | 描述 |
---|---|---|---|---|
appid | string | 必需 | 无 | 在 SUBMAIL 应用集成中创建的短网址的应用 ID |
model | string | 可选 | url | 设置 URL 访问模式 *设置 URL 参数为 url-scheme 为 App 内链模式(或微信小程序); 设置参数为 mp-wechat 为微信公众号模式,需授权 SUBMAIL 小程序 ,smpp-wechat为微信小程序模式 (请谨慎使用此模式) |
sapp_id | string | 条件可选 | 无 | 小程序id,model=sapp-wechat时必填 |
sapp_key | string | 条件可选 | 无 | 小程序key, model=sapp-wechat时必填 |
short_url | string | 必需 | 无 | 目标短网址 |
url | string | 可选 | 无 | 目标网址 |
pause | string | 可选 | 无 | 短网址模板是否暂停使用。 参数为true或者false |
item | string | 可选 | 无 | 自定义标记。 手机号码,国际手机号码,邮件地址,或任意字符串,此参数通常配合 短网址群组功能使用。(最大长度不能超过32位) |
access_password | string | 可选 | 无 | 访问密码 |
access_limit | int | 可选 | 无 | 访问次数限制 |
expire | int | 可选 | 无 | 设置短网址过期时间,按小时计算,默认过期时间为当前套餐的最大时长。 |
tag | string | 可选 | 无 | 此参数用于标记一次 API 请求(最大长度不超过 32 位) 添加了 tag 参数的 API 请求,会在所有的 SUBHOOK 事件中携带此参数。 |
timestamp | UNIX 时间戳 | 可选 | 无 | 参阅 API 授权与验证机制 > Timestamp UNIX 时间戳 |
sign_type | string | 可选 | normal | API 授权模式( md5 or sha1 or normal )参阅 API 授权与验证机制 > 授权和验证方式 |
signature | string | 必需 | 无 | 应用密匙 或 数字签名 参阅 API 授权与验证机制 > 授权和验证方式 |
ShortURL DELETE 方法(删除短网址)请求参数
参数 | 类型 | 必需/可选 | 默认 | 描述 |
---|---|---|---|---|
appid | string | 必需 | 无 | 在 SUBMAIL 应用集成中创建的短网址应用 ID |
short_url | string | 必需 | 无 | 需要删除的目标短网址 |
timestamp | UNIX 时间戳 | 可选 | 无 | 参阅 API 授权与验证机制 > Timestamp UNIX 时间戳 |
sign_type | string | 可选 | normal | API 授权模式( md5 or sha1 or normal )参阅 API 授权与验证机制 > 授权和验证方式 |
signature | string | 必需 | 无 | 应用密匙 或 数字签名 参阅 API 授权与验证机制 > 授权和验证方式 |
ShortURL Routes参数说明
routes参数json结构说明
routes
desktop :可选参数。设置桌面端操作系统点击跳转的目标url,如果此参数不传则跳转到默认设置目标url。
windows :可选参数。设置windows操作系统点击跳转的目标url,如果此参数不传则跳转到默认设置目标url。
mac :可选参数。设置mac操作系统点击跳转的目标url,如果此参数不传则跳转到默认设置目标url。
linux :可选参数。设置linux操作系统点击跳转目标url,如果此参数不传则跳转到默认设置目标url。
mobile:可选参数。设置移动端操作系统点击跳转目标url,如果此参数不传则跳转到默认设置目标url。
device:可选参数。如果此参数不传则跳转到默认设置目标url。
ios:可选参数。设置ios操作系统点击跳转目标url,如果此参数不传则跳转到默认设置目标url。
android:可选参数。设置android操作系统点击跳转目标url,如果此参数不传则跳转到默认设置目标url。
others:可选参数。设置除ios,android操作系统外点击跳转目标url,如果此参数不传则跳转到默认设置目标url。
app:可选参数。设置微信以及支付宝点击跳转目标url,如果此参数不传则跳转到对应手机操作系统设置的目标跳转url。
wechat:可选参数。设置微信app内点击跳转目标url,如果此参数不传则跳转到对应手机操作系统设置的目标跳转url。
alipay:可选参数。设置支付宝app内点击跳转目标url,如果此参数不传则跳转到对应手机操作系统设置的目标跳转url。
robot:可选参数。设置机器人点击跳转目标地址,如果此参数不传则跳转到默认设置目标url。
routes参数json字符串示列
{
"desktop": {
"windows": {"url":"https://www.mysubmail.com/windows","model":"url"},
"mac": {"url":"https://www.mysubmail.com/mac","model":"url"},
"linux": {"url":"https://www.mysubmail.com/linux","model":"url"},
"other": {"url":"https://www.mysubmail.com/other","model":"url"}
},
"mobile": {
"device": {
"ios": {"url":"weixin://dl/business/?ticket=***","model":"url-scheme"},
"android": {"url":"https://www.mysubmail.com/android","model":"url"},
"others": {"url":"https://www.mysubmail.com/others","model":"url"}
},
"app": {
"wechat":{"url":"https://www.mysubmail.com/wechat","model":"url"},
"alipay": {"url":"https://www.mysubmail.com/alipay","model":"url"},
"others": {"url":"https://www.mysubmail.com/others","model":"url"}
}
},
"robot": {"url":"https://www.mysubmail.com/robot","model":"url"}
}
代码示例
使用 CURL
GET方法获取模板列表
发送 CURL
curl -s "https://service.mysubmail.com/shorturl?appid=your_appid&signature=your_appkey"
返回
{
"status": "success",
"urls": [
{
"short_url": "http://link.wiki/anPi5G",
"long_url": "http://mysubmail.cn/developer",
"items": "",
"access_password": "0",
"access_limit": "0",
"pause": "false",
"routes": {
"desktop": {
"windows": {"url":"https://www.mysubmail.com/windows","model":"url"},
"mac": {"url":"https://www.mysubmail.com/mac","model":"url"},
"linux": {"url":"https://www.mysubmail.com/linux","model":"url"},
"other": {"url":"https://www.mysubmail.com/other","model":"url"}
},
"mobile": {
"device": {
"ios": {"url":"weixin://dl/business/?ticket=***","model":"url-scheme"},
"android": {"url":"https://www.mysubmail.com/android","model":"url"},
"others": {"url":"https://www.mysubmail.com/others","model":"url"}
},
"app": {
"wechat":{"url":"https://www.mysubmail.com/wechat","model":"url"},
"alipay": {"url":"https://www.mysubmail.com/alipay","model":"url"},
"others": {"url":"https://www.mysubmail.com/others","model":"url"}
}
},
"robot": {"url":"https://www.mysubmail.com/robot","model":"url"}
},
"qrcode": "http://suburl.cn/qrcode?url=httxxxink.wiki/KSWfb5",
"tag": "test2",
"create_at": "2019-07-17 10:28:11",
"review_status": "2",
"review_status_description": "通过审核",
"expire_by_hours": "168",
"expire_at": "2019-07-24 10:28:11"
},
{
"short_url": "http://sw2.co/bTOCOG",
"long_url": "http://www.baidu.com",
"items": "",
"access_password": "0",
"access_limit": "0",
"pause": "false",
"routes": {
"desktop": {
"windows": "https://www.mysubmail.com/windows",
"mac": "https://www.mysubmail.com/mac",
"linux": "https://www.mysubmail.com/linux"
},
"mobile": {
"device": {
"ios": "https://www.mysubmail.com/ios",
"android": "https://www.mysubmail.com/android",
"others": "https://www.mysubmail.com/others"
},
"app": {
"wechat": "https://www.mysubmail.com/chs/store",
"alipay": "https://www.mysubmail.com/slinks"
}
},
"robot": "https://www.mysubmail.com/robot"
},
"qrcode": "http://suburl.cn/qrcode?url=httxxxink.wiki/KSWfb5",
"tag": "",
"create_at": "2019-07-17 09:57:47",
"review_status": "2",
"review_status_description": "通过审核",
"expire_by_hours": "168",
"expire_at": "2019-07-24 09:57:47"
}
]
}
使用 CURL
POST方法提交短网址
发送 CURL
curl -d "appid=your_appid&signature=your_appkey&url=https://www.api.submail.cn&group=09ae645ddd5200915&item=test&routes={"desktop":{"windows":"https://www.mysubmail.com/windows","mac":"https://www.mysubmail.com/mac","linux":"https://www.mysubmail.com/linux"},"mobile":{"device":{"ios":"https://www.mysubmail.com/ios","android":"https://www.mysubmail.com/android","others":"https://www.mysubmail.com/others"},"app":{"wechat":"https://www.mysubmail.com/wechat","alipay":"https://www.mysubmail.com/alipay"}},"robot":"https://www.mysubmail.com/robot"}"。" https://service.mysubmail.com/shorturl.json
返回
{
"status": "success",
"short_url": "http://link.wiki/KSWfb5",
"long_url": "https://blog.csdn.net/fdipzone/article/details/42463727/32132131、321///23123/32132133213",
"routes": {
"desktop": {
"windows": {"url":"https://www.mysubmail.com/windows","model":"url"},
"mac": {"url":"https://www.mysubmail.com/mac","model":"url"},
"linux": {"url":"https://www.mysubmail.com/linux","model":"url"},
"other": {"url":"https://www.mysubmail.com/other","model":"url"}
},
"mobile": {
"device": {
"ios": {"url":"weixin://dl/business/?ticket=***","model":"url-scheme"},
"android": {"url":"https://www.mysubmail.com/android","model":"url"},
"others": {"url":"https://www.mysubmail.com/others","model":"url"}
},
"app": {
"wechat":{"url":"https://www.mysubmail.com/wechat","model":"url"},
"alipay": {"url":"https://www.mysubmail.com/alipay","model":"url"},
"others": {"url":"https://www.mysubmail.com/others","model":"url"}
}
},
"robot": {"url":"https://www.mysubmail.com/robot","model":"url"}
},
"qrcode": "http://suburl.cn/qrcode?url=httxxxink.wiki/KSWfb5",
"expire_at": "2021-04-01 16:33:42"
}
qrcode:为目标短网址生成的二维码地址。
使用 CURL
PUT 方法修改短网址
发送 CURL
curl --data "appid=your_appid&signature=your_appkey&short_url=http://link.wiki/iM/GuvPeD&url=https://www.mysubmail.com&pause=true&item=submail&expire=100" -X put https://service.mysubmail.com/shorturl.json
返回
{
"status":"success"
}
使用 CURL
DELETE 方法删除短网址
发送 CURL
curl --data "appid=your_appid&signature=your_appkey&short_url=http://link.wiki/iM/GuvPeD" -X delete https://service.mysubmail.com/shorturl.json
返回
{
"status":"success"
}
review_status 短网址状态描述
review_status : 0 | 未提交审核 |
---|---|
review_status : 1 | 正在审核 |
review_status : 2 | 审核通过 |
review_status : 3 | 未通过审核 |
返回值
请求成功
{
"status":"success"
}
请求失败
{
"status":"error",
"code":"1xx",
"msg":"error message"
}