文档首页 > > 接入指南> API类商品接入指南> 业务计量数据推送

业务计量数据推送

分享
更新时间: 2020/05/25 GMT+08:00

功能介绍

ISV在云市场发布按量计费API产品后,租户购买(开通)按量计费API产品,并调用API进行消费,对于调用API产生的业务使用量,以视频服务的点播流量和视频转码的输出视频时长为例,业务按照流量(字节)和转码视频的时长(秒)进行计费,ISV通过接口推送使用量数据给云市场,云市场对租户账户进行扣费。

调用流程图如下:

URI

POST/v1.0/{partner_id}/billing/bill-mgr/push-usage-data

参数说明请参见表1

表1 参数说明

参数

是否必选

取值范围

描述

partner_id

M

最大长度:64

合作伙伴(ISV)的ID(华为分配)。

业务计量数据推送接口仅支持https协议。

请求消息

表2 请求参数

参数

是否必选

参数类型

取值范围

描述

usageRecords

M

List<UsageRecord>

-

业务使用量纪录集合,UsageRecord个数不得超过100。

表3 UsageRecord

参数

是否必选

参数类型

取值范围

描述

instanceId

M

String

64

产品实例ID

recordTime

M

String

17

使用量记录生成时间(UTC),格式为:

yyyyMMdd'T'HHmmss'Z'

beginTime

M

String

17

计量开始时间(UTC),格式为:

yyyyMMdd'T'HHmmss'Z'

endTime

M

String

17

计量结束时间(UTC),格式为:

yyyyMMdd'T'HHmmss'Z'

usageEntity

M

UsageEntity

-

计费实体集合

表4 UsageEntity

参数

是否必选

参数类型

取值范围

描述

Duration

O

Long

8

时长(单位:秒):

  • 按时长计费产品必选
  • 取值>0
  • 最多12位整数

downStream

O

Long

8

下行流量(单位:字节):

  • 按流量计费产品必选
  • 取值>0
  • 最多12位整数

quantity

O

Long

8

使用数量(单位:个):

在费用中心消费明细页面,以个为单位展示用户单位时间使用量

times

O

Long

8

使用次数(单位:次):

在费用中心消费明细页面,以次为单位展示用户单位时间使用量

pieces

O

Long

8

使用张数(单位:次):

在费用中心消费明细页面,以张为单位展示用户单位时间使用量

peakBandwidth

O

Long

8

峰值带宽(单位:bps):

每日峰值带宽速度,在费用中心消费明细页面,以bps为单位展示用户单位时间(日)使用量。

storage

O

Long

8

存储空间(单位:Byte):

在费用中心消费明细页面,以Byte为单位展示用户单位时间使用量。

VODTranscodeSmooth

O

Long

8

点播转码-普通-流畅(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

VODTranscodeSD

O

Long

8

点播转码-普通-标清(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

VODTranscodeHD

O

Long

8

点播转码-普通-高清(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

VODTranscodeUC

O

Long

8

点播转码-普通-超清(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

VODTranscodeSmoothEP

O

Long

8

点播转码-感知增强-流畅(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

VODTranscodeSDEP

O

Long

8

点播转码-感知增强-标清(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

VODTranscodeHDEP

O

Long

8

点播转码-感知增强-高清(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

VODTranscodeUCEP

O

Long

8

点播转码-感知增强-超清(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

externalNetworkTraffic

O

Long

8

外网流量(单位:Byte):

在费用中心消费明细页面,以Byte为单位展示用户单位时间使用量。

liveVideoTranscodeSmooth

O

Long

8

直播转码-普通-流畅(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

liveVideoTranscodeSD

O

Long

8

直播转码-普通-标清(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

liveVideoTranscodeHD

O

Long

8

直播转码-普通-高清(单位:秒):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

liveVideoTranscodeUC

O

Long

8

直播转码-普通-超清(单位:秒):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

liveVideoTranscodeSmoothEP

O

Long

8

直播转码-感知增强-流畅(单位:秒):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

liveVideoTranscodeSDEP

O

Long

8

直播转码-感知增强-标清(单位:秒):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

liveVideoTranscodeHDEP

O

Long

8

直播转码-感知增强-高清(单位:秒):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

liveVideoTranscodeUCEP

O

Long

8

直播转码-感知增强-超清(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

microphoneUsageDur

O

Long

8

上麦时长(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

streamMixDurSD

O

Long

8

混流时长-标清(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

streamMixDurHD

O

Long

8

混流时长-高清(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

screenShot

O

Long

8

截图(单位:张):

在费用中心消费明细页面,以张为单位展示用户单位时间使用量。

pornIdentifyByAlgorithm

O

Long

8

鉴黄-算法确定(单位:张):

在费用中心消费明细页面,以张为单位展示用户单位时间(日)使用量。

pornIdentifyByHuman

O

Long

8

鉴黄-待用户确认(单位:张):

在费用中心消费明细页面,以张为单位展示用户单位时间(日)使用量。

metadata

O

Long

8

元信息(单位:次):

在费用中心消费明细页面,以次为单位展示用户单位时间使用量。

watermark

O

Long

8

鉴黄-待用户确认(单位:次):

在费用中心消费明细页面,以次为单位展示用户单位时间使用量。

videoTransEncaps

O

Long

8

转封装(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoToAudio

O

Long

8

转音频(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

liveStreamEdit

O

Long

8

流拆条(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

cloudBroadcast

O

Long

8

云轮播(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

cloudSwitchboard

O

Long

8

云导播(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

cloudFastVideoEdit

O

Long

8

云快编(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

otherRequests

O

Long

8

其他请求(单位:次):

在费用中心消费明细页面,以次为单位展示用户单位时间使用量。

videoTranscode_H264_4k

O

Long

8

普通-H.264-4K(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H264_2k

O

Long

8

普通-H.264-2K(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscodeH264_HD

O

Long

8

普通-H.264-HD(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H264_SD

O

Long

8

普通-H.264-SD(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H264_LD

O

Long

8

普通-H.264-LD(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H265_4k

O

Long

8

普通-H.265-4K(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H265_2k

O

Long

8

普通-H.265-2K(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscodeH265_HD

O

Long

8

普通-H.265-HD(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H265_SD

O

Long

8

普通-H.265-SD(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H265_LD

O

Long

8

普通-H.265-LD(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H264_4k_EP

O

Long

8

感知增强-H.264-4K(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H264_2k_EP

O

Long

8

感知增强-H.264-2K(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscodeH264_HD_EP

O

Long

8

感知增强-H.264-HD(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H264_SD_EP

O

Long

8

感知增强-H.264-SD(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H264_LD_EP

O

Long

8

感知增强-H.264-LD(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H265_4k_EP

O

Long

8

感知增强-H.265-4K(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H265_2k_EP

O

Long

8

感知增强-H.265-2K(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscodeH265_HD_EP

O

Long

8

感知增强-H.265-HD(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H265_SD_EP

O

Long

8

感知增强-H.265-SD(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H265_LD_EP

O

Long

8

感知增强-H.265-LD(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H264_4k_Accel

O

Long

8

倍速-H.264-4K(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscode_H264_2k_Accel

O

Long

8

倍速-H.264-2K(单位:秒):

在费用中心消费明细页面,以秒为单位展示用户单位时间使用量。

videoTranscodeH264_HD_Accel

O

Long

8

倍速-H.264-HD(单位:分钟):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

videoTranscode_H264_SD_ Accel

O

Long

8

倍速-H.264-SD(单位:分钟):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

videoTranscode_H264_LD_ Accel

O

Long

8

倍速-H.264-LD(单位:分钟):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

videoTranscode_H265_4k_ Accel

O

Long

8

倍速-H.265-4K(单位:分钟):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

videoTranscode_H265_2k_ Accel

O

Long

8

倍速-H.265-2K(单位:分钟):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

videoTranscodeH265_HD_ Accel

O

Long

8

倍速-H.265-HD(单位:分钟):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

videoTranscode_H265_SD_ Accel

O

Long

8

倍速-H.265-SD(单位:分钟):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

videoTranscode_H265_LD_ Accel

O

Long

8

倍速-H.265-LD(单位:分钟):

在费用中心消费明细页面,以分钟为单位展示用户单位时间使用量。

请求注意事项

  • 需要对mkt.myhuaweicloud.com HTTPS证书进行强校验,不能忽略证书校验,从而保证调用的是真实而非伪造的云市场服务。
  • 华为云云市场以instanceId为维度,对计量数据推送接口进行流控(对于单个instanceId,请求频次要求1次/分钟),每次请求最大计量记录数100条。
  • 计量记录的周期(endTime减去startTime的差值)必须=1小时,endTime和startTime必须是整点,例如:20170107T090000Z。
  • startTime必须大于API类产品发布上架时间,recordTime必须大于endTime,endTime必须小于当前时间。

请求示例

POST /v1.0/{partner_id}/billing/bill-mgr/push-usage-data 
Host: Host Server    
Content-Type: application/json 
X-Sdk-Date: request time   
Authorization: authorization  
 
{ 
 “usageRecords”:[{ 
“instanceId”:” 455be31e-6771-4d6f-b8c1-7e8bdb10c21f”, 
“recordTime”:”20170107T153030Z”, 
“beginTime”:”20170107T090000Z”, 
“endTime”:”20170107T110000Z”, 
    “usageEntity”: 
       {
         “Duration”:3524
       }
  },{ 
“instanceId”:” f98081a9-8254-41fd-a489-bb74dac3c9a5”, 
“recordTime”:”20170107T155031Z”, 
“beginTime”:”20170107T130000Z”, 
“endTime”:”20170107T140000Z”,  
    “usageEntity”:
        {
            “DownStream”: 1073741824
        }
  }, 
  …] 
}

响应消息

表5 响应参数

参数

是否必选

参数类型

取值范围

描述

resultCode

M

String

16

结果码。

具体请参考表7

resultMsg

M

String

1024

结果消息。

具体请参考表7

extra_info

O

ExtraInfo

4096

附加信息。

具体请参考表6

结构体

表6 ExtraInfo

参数

是否必选

参数类型

取值范围

描述

usageRecord

O

UsageRecord

-

业务使用量记录。

具体请参考表3

productUrl

O

String

1024

业务使用量记录对应的产品链接。当产品在售时,返回产品链接。产品链接不需要登录即可查看。

snapshotUrl

O

String

1024

业务使用量记录对应的产品快照链接。当产品下架时,返回产品快照链接。产品快照链接需要登录才能查看。

错误码

表7 错误码

http状态码

error_code

error_msg

描述

200

CBC.0000

Success.

请求成功

500

CBC.0999

System internal error.

其它服务内部错误

500

CBC.0100

Failure of input parameter

输入参数校验失败

参数范围超限,非法值或格式错误

400

CBC.0101

Invalid parameter

参数无效

输入非接口定义的参数,多参数或少必选参数

400

CBC.0199

Request parameter error

请求参数错误

其它参数错误

401

CBC.0150

Illegal operation

通常是进行了不被授权的操作,例如instanceId对应的产品不是AK/SK对应的ISV发布的

401

CBC.0151

No authority

无API访问权限

token非ISV角色

401

CBC.0154

Illegal token

鉴权失败

token无效

406

CBC. 0250

Access frequency overlimit

访问频率超限

500

CBC.9001

Instance ID not found.

实例ID不存在(商品续费、过期、资源释放接口可能返回)

500

CBC.9002

Invalid usage enties.

计量实体无效

500

CBC.9003

Usage records extends size limit.

计量记录数超出限制(100条)

500

CBC.9004

Record beginTime extends Limit.

计量记录的起始时间超出有效期(当前时间21天以内)

其中,仅在resultCode为CBC.0100、CBC.0150、CBC.0250、CBC.9001、CBC.9002、CBC.9004、CBC.9005时,失败响应中包含extra_info字段。失败响应中resultMsg除字段描述,还包含响应失败详情。您可以结合失败详情和extra_info内容定位并解决问题。

成功响应示例

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: length
Date: response time 

{
"resultCode": "CBC.0000",
"resultMsg": "success"
}

失败响应示例

HTTP/1.1 401 UnauthorizedContent-Type: application/json;charset=UTF-8Content-Length: lengthDate: response time {
    "resultCode": "CBC.0150",
    "resultMsg": "Illegal operation. param[isvId] and param[instanceId] does not match.",
    "extraInfo": {
        "usageRecord": {
            "instanceId": "xxxxxxxxxxxxxxxxxxxxxxxxxx",
            "recordTime": "20180906T083929Z",
            "beginTime": "20180906T060000Z",
            "endTime": "20180906T070000Z",
            "usageEntity": {
                "times": "2"
            }
        },
        "productUrl": "https://market.huaweicloud.com/product/00301-196117-0--0"
    }
}
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问