Skip to content

1. 资源下单(购买)

说明:此接口为非GPU容器云类型的资源下单(购买)

接口路径

地址:https://console.casdao.com:9001/casdao/api/v1.0/expense/customer/recharge/addition

请求方式

POST 方式,请求参数为 JSON 格式

输入说明

请求头

请求头说明
X-Auth-TokenToken 值

请求体

请求参数选项类型说明
userId必选整数型用户ID
username必选字符串用户名称
sale选填字符串销售员账号,可为空
number必选字符串订单号,规则SLHL+年月日时分秒毫秒。示例:SLHL20240401131508214
type必选整数型订单类型,固定值1
status必选整数型订单状态,固定值2
totalContractAmount必选数字型合同总金额
totalRechargeAmount必选数字型充值总金额
expiration必选整数型过期时间(毫秒)
departmentId必选整数型组织ID
departmentName必选字符串组织名称
digest必选字符串MD5值,获取方法见 摘要和信息体的获取方法
body必选字符串信息体,获取方法见 摘要和信息体的获取方法
accountRechargeDetailInfoList必选数组型资源信息,见 下表

资源信息项

资源数组参数选项类型说明
quantity必选数字型资源数量
duration必选数字型使用周期
contractUnitPrice选填数字型合同单价
contractAmount必选数字型本资源合同金额
standardUnitPrice必选数字型标准单价
standardAmount必选数字型本资源标准金额
totalContractAmount必选数字型合同总金额
totalRechargeAmount必选数字型充值总金额
resourceId必选整数型资源id
resourceTypeId必选整数型资源类型id
resourceTypeCategory必选字符串资源类型种类

整体示例

json
{
    "userId": 78,
    "username": "lizhepod200",
    "sale": "",
    "departmentId": 2,
    "departmentName": "算力互联",
    "totalContractAmount": 10003,
    "totalRechargeAmount": 10003,
    "number": "SLHL20240403151518861",
    "type": 1,
    "status": 2,
    "expiration": 1800000,
    "accountRechargeDetailInfoList": [
        {
            "quantity": 1,
            "duration": "100",
            "contractUnitPrice": 100,
            "contractAmount": 10000,
            "standardUnitPrice": 100,
            "standardAmount": 10000,
            "resourceId": 11008,
            "resourceTypeId": 12,
            "resourceTypeCategory": 2
        },
        {
            "quantity": 1,
            "duration": "1",
            "contractUnitPrice": 3,
            "contractAmount": 3,
            "standardUnitPrice": 3,
            "standardAmount": 3,
            "resourceId": 6,
            "resourceTypeId": 5,
            "resourceTypeCategory": 5
        }
    ],
    "digest": "cf2ea71ea791d57cd138ed03e14b2681",
    "body": "eyJ1c2VySWQiOjc4LCJ1c2VybmFtZSI6ImxpemhlcG9kMjAwIiwic2FsZSI6IiIsImRlcGFydG1lbnRJZCI6MiwiZGVwYXJ0bWVudE5hbWUiOiLnrpflipvkupLogZQiLCJ0b3RhbENvbnRyYWN0QW1vdW50IjoxMDAwMywidG90YWxSZWNoYXJnZUFtb3VudCI6MTAwMDMsIm51bWJlciI6IlNMSEwyMDI0MDQwMzE1MTUxODg2MSIsInR5cGUiOjEsInN0YXR1cyI6MiwiZXhwaXJhdGlvbiI6MTgwMDAwMCwiYWNjb3VudFJlY2hhcmdlRGV0YWlsSW5mb0xpc3QiOlt7InF1YW50aXR5IjoxLCJkdXJhdGlvbiI6IjEwMCIsImNvbnRyYWN0VW5pdFByaWNlIjoxMDAsImNvbnRyYWN0QW1vdW50IjoxMDAwMCwic3RhbmRhcmRVbml0UHJpY2UiOjEwMCwic3RhbmRhcmRBbW91bnQiOjEwMDAwLCJyZXNvdXJjZUlkIjoxMTAwOCwicmVzb3VyY2VUeXBlSWQiOjEyLCJyZXNvdXJjZVR5cGVDYXRlZ29yeSI6Mn0seyJxdWFudGl0eSI6MSwiZHVyYXRpb24iOiIxIiwiY29udHJhY3RVbml0UHJpY2UiOjMsImNvbnRyYWN0QW1vdW50IjozLCJzdGFuZGFyZFVuaXRQcmljZSI6Mywic3RhbmRhcmRBbW91bnQiOjMsInJlc291cmNlSWQiOjYsInJlc291cmNlVHlwZUlkIjo1LCJyZXNvdXJjZVR5cGVDYXRlZ29yeSI6NX1dLCJkaWdlc3QiOiJVd3g3Nk55cCJ9"
}

摘要和信息体的获取方法

说明:入参时不带digest和body,通过特定方法追加digest和body,参考方法如下:

js
/**
 * @description MD5 参数加密
 * @param {Object} data 参数
 * @param {String} domString 加密字符串
 * @param {String} placeholder 占位符
 * @return {Object}
 */
export function paramMD5(data, domString, placeholder) {
  let param = {
    ...data,
    digest: placeholder,
  };
  const body = JSON.stringify(param);
  param.digest = domString;
  param.digest = md5(JSON.stringify(param));
  param.body = Base64.encode(body);
  for (let i = 0; i < 12; i++) {
    param.digest = md5(param.digest);
  }
  // digest 用MD5再加密12次
  return param;
}
// 调用方法paramMD5
paramMD5(data,`1FhwI1oj${dayjs().format('YYYYMMDDHH')}`,'Uwx76Nyp');
/**
 * @description 入参说明
 * @param data 为示例json中不带digest和body的json体
 * @param 1FhwI1oj 为固定字符串
 * @param dayjs().format('YYYYMMDDHH') 为格式化的时间,精确到小时,如2024040112
 * @param Uwx76Nyp 为固定字符串
 */

输出说明

请求参数说明
code响应码,成功为 200,非 200 状态码为失败,参考 msg 错误信息
msg响应信息,成功状态下为 null,失败状态下为具体错误信息
data响应数据
json
{
    'code': 200, 
    'msg': null, 
    'data': null
}

2. 账单

说明:此接口需要 Token 调用,需要先调用登录接口换取 Token,只支持查询此 Token 所对应用户的账单数据。

接口路径

地址:https://console.casdao.com:9001/casdao/api/v1.0/expense/customer/bill/list

请求方式

POST 方式,请求参数为 JSON 格式

输入说明

请求头

请求头说明
X-Auth-TokenToken 值

请求体

请求参数选项类型说明
chargePeriodStartTime可选字符串开始时间,格式:2024-03-25 00:00:00(与 year 和 month 二选一)
chargePeriodEndTime可选字符串结束时间,格式:2024-03-25 23:59:59(与 year 和 month 二选一)
pageNum必选整数型此接口为固定每页 20 条记录,此参数为第几页
keyword可选字符串用户名,支持模糊搜索
year可选整数型年份,格式:2024(与 chargePeriodStartTime 和 chargePeriodEndTime 二选一)
month可选整数型月份,格式:1-12(与 chargePeriodStartTime 和 chargePeriodEndTime 二选一)

示例

二选一查询方式

json
{
  "chargePeriodStartTime": "2024-03-25 00:00:00",
  "chargePeriodEndTime": "2024-03-25 23:59:59",
  "keyword": "zhangsan",
  "pageNum": 1
}

json
{
  "year": 2024,
  "month": 3,
  "keyword": "zhangsan",
  "pageNum": 1
}

输出说明

请求参数说明
code响应码,成功为 200,非 200 状态码为失败,参考 msg 错误信息
msg响应信息,成功状态下为 null,失败状态下为具体错误信息
data响应数据

示例

json
{
    "code": 200,
    "msg": null,
    "data": {
        "records": [
            {
                "id": 1037868,
                "standardUnitPrice": null,			   // 忽略
                "standardAmountBill": null,			    // 忽略
                "cpuStandardUnitPrice": 0.00000,	    // cpu标准单价(HPC共享或GPU云容器)
                "cpuStandardAmountBill": 0.00000,	    // cpu使用标准金额(HPC共享或GPU云容器)
                "cpuCore": "7",						  // cpu使用核心数(HPC共享或GPU云容器)
                "memoryStandardUnitPrice": 0.00000,	    // 内存标准单价(HPC共享或GPU云容器)
                "memoryStandardAmountBill": 0.00000,    // 内存使用标准金额(HPC共享或GPU云容器)
                "memory": "56",						  // 内存使用大小,单位为(GB)(HPC共享或GPU云容器)
                "gpuStandardUnitPrice": 2.35000,	    // gpu标准单价(HPC共享或GPU云容器)
                "gpuStandardAmountBill": 0.87406,       // gpu使用标准金额(HPC共享或GPU云容器)
                "gpuCore": "1",                         // gpu使用卡数(HPC共享或GPU云容器)
                "gpuMemoryStandardUnitPrice": 0.00000,  // gpu显存标准单价(HPC共享或GPU云容器)
                "gpuMemoryStandardAmountBill": 0.00000, // gpu显存使用标准金额(HPC共享或GPU云容器)
                "gpuMemory": "0",					   // gpu显存使用大小,单位为(GB)(HPC共享或GPU云容器)
                "partition": "g102",				   // HPC队列名称或容器所在节点名称
                "billTime": "2024-03-19 15:38:36",      // 账单扣费时间
                "accountResourceId": 2197,
                "resourceId": 111000,			       // 资源id
                "resourceName": "N-4090-24",            // 资源名称
                "resourceTypeId": 10,                   // 资源类型id
                "resourceTypeName": "GPU容器云",        // 资源类型名称
                "specification": "GPU:NVIDIA GeForce RTX 4090(显存:24G)\nCPU:AMD EPYC 7542 2.9GHz\n数据盘:SSD(高性能存储)\n共享盘:文件系统(持久化存储)",           // 资源规格
                "quantity": null,
                "resourceUnit": "TB/天",
                "chargePeriodStartTime": "2024-03-19 15:16:17",   // 资源开始时间
                "chargePeriodEndTime": "2024-03-19 15:38:36",     // 资源结束时间
                "resourcePeriodEndTime": "2024-03-19 15:38:36",
                "feeDeductionType": 1,
                "jobId": "keen-island-9234-789c457494-ppfr4",     // HPC作业名称或容器pod名称
                "clusterAccountName": "sl-wuting"
            }
        "total": 1,		// 账单总数量
        "size": 20,		// 每页记录数
        "current": 1,	// 当前页数
        "pages": 1		// 总页数
    }
}

3. 扣费

说明:此接口为容器扣费接口,调用此接口会立即出账单。

接口路径

地址:https://console.casdao.com:9001/casdao/api/v1.0/container/fee/addition

请求方式

POST 方式,请求参数为 JSON 格式

输入说明

请求头

请求头

请求体

请求参数选项类型说明
username必选字符串用户名
type必选字符串固定值 DELETE
status必选整数型固定值 1
namespace必选字符串名称空间
nodeName必选字符串节点名称
cpu必选整数型CPU使用核心数
gpu必选整数型GPU使用卡数
memory必选整数型内存使用大小,单位为(GB)
uid必选字符串Pod UID(metadata.uid)
name必选字符串Pod 名称
ownerUid可选字符串Pod所属UID(metadata.ownerReferences.uid)
ownerName可选字符串Pod所属名称(metadata.ownerReferences.name)
image必选字符串镜像全名称
startTime必选字符串开始时间,格式:2024-03-25 00:00:00
endTime必选字符串结束时间,格式:2024-03-25 23:59:59
departmentId必选整数型组织ID
departmentName必选字符串组织名称

示例

json
{
    'username': 'duxw1143', 
    'type': 'DELETE', 
    'status': 1, 
    'namespace': 'duxw1143', 
    'nodeName': 'g105', 
    'cpu': 14, 
    'gpu': 2, 
    'memory': 112, 
    'uid': '2b49762c-d4b0-4a4e-a1e5-434ab8c0f462', 
    'name': 'objective-lullaby-7994-7cbf8c8b74-hvgfq', 
    'ownerUid': null, 
    'ownerName': null, 
    'image': 'suzhou.harbor.com/userupload/ubuntu:12.1.0-devel-ubuntu22.04-v0.0.1', 
    'startTime': '2024-03-29 16:14:33', 
    'endTime': '2024-03-29 16:15:20', 
    'departmentId': 2, 
    'departmentName': '算力互联'
}

输出说明

请求参数说明
code响应码,成功为 200,非 200 状态码为失败,参考 msg 错误信息
msg响应信息,成功状态下为 null,失败状态下为具体错误信息
data响应数据**(提交参数)**

示例

json
{
    'code': 200, 
    'msg': null, 
    'data': 
    	{
            'username': 'duxw1143', 
            'type': 'DELETE', 
            'status': 1, 
            'namespace': 'duxw1143', 
            'nodeName': 'g105', 
            'cpu': 14, 
            'gpu': 2, 
            'memory': 112, 
            'uid': '2b49762c-d4b0-4a4e-a1e5-434ab8c0f462', 
            'name': 'objective-lullaby-7994-7cbf8c8b74-hvgfq', 
            'ownerUid': null, 
            'ownerName': null, 
            'image': 'suzhou.harbor.com/userupload/ubuntu:12.1.0-devel-ubuntu22.04-v0.0.1', 
            'startTime': '2024-03-29 16:14:33', 
            'endTime': '2024-03-29 16:15:20', 
            'departmentId': 2, 
            'departmentName': '算力互联', 
            'createTime': '2024-03-29 16:15:21', 
            'phase': null
        }
}

算力互联(北京)科技有限公司版权所有