sage/wwwroot/API.md
2026-05-06 10:45:02 +08:00

7.4 KiB
Raw Blame History

元境API

手机注册和登录

手机登录,如果账号不存在先注册后登陆

生成短信验证码

  • path /rbac/gen_sms_code.dspy

  • method 'GET'

  • parameters cellphone: 手机号

  • 返回

	{
		"status": "ok",
		"data": {
			"key":					# 密钥,需要在登录时带回
		}
	}
or
	{
		"status": "error",
		"data": {
			"message":
			"key": key				# 登陆需带上的key
		}
	}

登录接口

  • path /rbac/phone_login.dspy
  • method 'POST'
  • data
	{
		"cellphone":
		"key":						# 登陆需带上的key
		"sms_code":
		"selected_id":				# 只有在手机号对应多账号,用户选择某个账号后需要
									# 用户id 当用户选择了多手机号之一的账户需要,
	}
  • 返回
	{
		"status": "ok",
		"data": {
			"user": {
				"id":				# 用户id
				"username":			# 用户名
				"orgid":			# 机构id
				"nick_name"			# 显示名不存在时显示username
				...					#其他用户信息
			}
		}
	}
or 当手机号有多个账号
	{
		"status": "choose",			# 指示前端多账户,需用户选择
		"data": {
			"key":					# 登陆需带上的key
			"users": recs			# 可选账户现实username用户选择后将id返回后台
		}
	}
	{
		"status": "error",
		"data": {
			"message": 				# 错误信息
		}
	}

充值

目前支持支付宝在线充值

发起支付宝充值

  • path /unipay/user_recharge.dspy
  • method "POST"
  • data
	{
		"provider": "alipay",	 # 充值渠道
		"amount": 				# 充值金额
		"currency":	"CNY"			# 币种
	}
  • 返回
	{
		"status": "ok",
		"data": {
			"redirct": url		# 充值url
		}
	}
重要由于此URL来自支付宝需要在新的页签或新window中打开才不会出现跨域错误
or
	{
		"status": "error",
		"data": {
			"message": 出错信息
		}
	}

下游APIkey

获得apikey list

  • path /dapi/downapps.dspy
  • method GET
  • return
	{
		"status": "ok",
		"data": {
			"apikeys": [
				{
					"id":			# 应用id
					"appname":		# 应用名
				}
			]
		}
	}
	or
	{
		"status": "error",
		"data": {
			"message": 				# 出错信息
		}
	}

申请APIkey

  • path /dapi/apply_apikey.dspy
  • method POST
  • headers
{
	"Content-Type": "application/json"
}
  • data
{
	"appname":				# 必须
	"description":			# 可选
}
  • return
	{
		"status": "ok"
	}
	or
	{
		"status": "error",
		"data": {
			"message": 出错信息
		}
	}

查看AKIKEY

  • path /dapi/get_apikey.dspy
  • method GET
  • params
{
	"id":				# "获得apikey list" 返回到id
}
  • return
	{
		"status": "ok",
		"data": {
			"appname":			# app名称
			"aapikey":			# apikey
			"secretkey":		# 加密key
		}
	}
	or
	{
		"status": "error",
		"data": {
			"message": 			# 出错信息
		}
	}

账户管理

查询账户余额

  • path /accounting/mybalance.dspy
  • method 'GET'
  • params 无
  • 返回
	{
		"status": "ok",
		"data": [
			{
				"account": 				# 账号名称
				"balance":				# 余额
			}
		]
	}
or
	{
		"status": "error",
		"data": {
			"message": 错误信息
		}
	}

交易管理

查询产品价格

  • path /platformbiz/product_query_price.dspy
  • method "POST"
  • data
	{
		"product_type": "llm"		# llm大模型
		"product_id": 				# 大模型id
		“config_data				# 不同的模型的配置数据不一样
	}
  • 返回
	{
		"status": "ok",
		"data": {
			"list_price":			# 原价
			"price": 				# 客户价格
			"config_data"			# 与请求相同
		}
	}

查询交易明细

  • path /platformbiz/query_orders.dspy
  • method "GET"
  • params
	{
		"page":						# 当前页,缺省第一页
		"pagerows":					# 每页记录数缺省80
	}
  • 返回
{
	"status": "ok",
	"data": data
}

data={
	"total":						# 总记录数
	"rows": list of d				# 当前页数据数组
}
d = {
	"llmid": 						# 模型id
	"name":							# 模型名称
	"model":						# 模型识别名(可能会不同)
	"use_date":						# 使用日期
	"use_time:						# 使用时间
	"usage":						# 模型用量
	"amount":						# 交易金额
	"userid",						# 用户id
	"userorgid"						# 机构id
	"status":						# 交易状态
	"accounting_status":			# 记账状态
}

文生视频

  • path /llmage/vidu_inference.dspy
  • method "POST"
  • data
	{
		"llmid": 				# vidu的llmid
		"prompt":				# 提示词
		"duration":				# 1 - 15
		"audio":				# 逻辑值,
		"ratio"					# "data":[{"value":"16:9"},{"value":"9:16"},{"value":"4:3"},{"value":"3:4"},{"value":"1:1"}] 
		"resolution":			# 分辨率:"data":[{"value":"540p","text":"540p"},{"value":"720p","text":"720p"},{"value":"1080p","text":"1080p"}]
	}

* 返回
流式数据, 每行一个jsonjson结构

{ "status": # FAILED, SUCCEEDED, 其他 # FAILED失败 error属性中说明失败原因 # SUCCEEDED成功video中保存生成视频url

“error":					# 失败时有效,出错原因
“video”					# 生成的视频,成功时有效
"usage":					# 模型计费信息, 成功时有效
“type”					# 类型?看看值是什么

}

## 图生视频
* path		/llmage/vidu_inference.dspy
* method	"POST"
* data
{
	"llmid": 				# vidu的llmid
	"prompt":				# 提示词
	"duration":				# 1 - 15
	"audio":				# 逻辑值,
	"ratio"					# "data":[{"value":"16:9"},{"value":"9:16"},{"value":"4:3"},{"value":"3:4"},{"value":"1:1"}] 
	"resolution":			# 分辨率:"data":[{"value":"540p","text":"540p"},{"value":"720p","text":"720p"},{"value":"1080p","text":"1080p"}]
}
* 返回
流式数据, 每行一个jsonjson结构

{ "status": # FAILED, SUCCEEDED, 其他 # FAILED失败 error属性中说明失败原因 # SUCCEEDED成功video中保存生成视频url

“error":					# 失败时有效,出错原因
“video”					# 生成的视频,成功时有效
"usage":					# 模型计费信息, 成功时有效
“type”					# 类型?看看值是什么

}


## 获得同类型所有可用模型
* path			/llmage/get_type_llms.dspy
* method		'GET'
* params

{ 'type': # 模型类型: 可选 # 文生视频 # 图生视频 # 参考生视频 }

* response

{ 'status': 'ok', 'data': [ # 返回数组 { id: # 模型id name # 模型名字 model # 模型识别名 description # 模型名字 input_fields: # 输入数据描述 } ] }

{ "status": "error", "data": { "message": # 出错信息 } }

获得当天所有任务列表

  • path /llmage/get_my_asynctasks.dspy
  • method 'GET'
  • params 无
  • return { “status": "ok", "data": [{ "tasks": { "taskid", "ioinfo", # 从这里获得最后一个返回数据如果成功有video的url # 如果失败, 有错误信息可以显示 "status": # SUCCEEDED成功FAILED失败 其他处理中 ... } }] }

获得任务状态

  • path /llmage/get_asynctask_status.dspy
  • method 'GET'
  • params
{
	'taskid': 			# 任务id
}

* return

{ "status": "ok", "data": { "response": # 后台返回信息有状态错误信息或videod url } }

测试定价项目

  • path /pricing/test_pricing_program.dspy
  • method POST
  • params
  • data
{
	"ppid": #定价项目id
	"data": # 模型返回的usage的字典数据
}

return
计价成功

{ "status": "ok", "data": { "ppid": ppid, "data": data, "result": x } }

{ "status": "error", "data": { "message": # 错误信息 } }