Documentation
¶
Index ¶
- Constants
- Variables
- func ToJsonForLog(data interface{}) string
- func ToUrlValues(in interface{}) (values url.Values)
- type BillDetail
- type BillDetailList
- type BillOverviewByCategory
- type BillOverviewByCategoryMap
- type BillOverviewByProd
- type BillOverviewByProdList
- type Billing
- func (b *Billing) GetAPIInfo(api string) *base.ApiInfo
- func (b *Billing) GetServiceInfo() *base.ServiceInfo
- func (b *Billing) ListBillDetail(req *ListBillDetailRequest) (*ListBillDetailResp, int, error)
- func (b *Billing) ListBillOverviewByCategory(req *ListBillOverviewByCategoryRequest) (*ListBillOverviewByCategoryResp, int, error)
- func (b *Billing) ListBillOverviewByProd(req *ListBillOverviewByProdRequest) (*ListBillOverviewByProdResp, int, error)
- func (b *Billing) ListSplitBillDetail(req *ListSplitBillDetailRequest) (*ListSplitBillDetailResp, int, error)
- func (b *Billing) SetHeader(k string, v []string)
- func (b *Billing) SetHost(host string)
- func (b *Billing) SetRegion(region string)
- func (b *Billing) SetSchema(schema string)
- type ListBillDetailRequest
- type ListBillDetailResp
- type ListBillOverviewByCategoryRequest
- type ListBillOverviewByCategoryResp
- type ListBillOverviewByProdRequest
- type ListBillOverviewByProdResp
- type ListSplitBillDetailRequest
- type ListSplitBillDetailResp
- type SplitBillDetail
- type SplitBillDetailList
Constants ¶
View Source
const ( DefaultRegion = base.RegionApSingapore ServiceHost = "open.byteplusapi.com" ServiceVersion = "2022-01-01" ServiceName = "billing" )
Variables ¶
View Source
var ( ActionListBillDetail = "ListBillDetail" ActionListSplitBillDetail = "ListSplitBillDetail" ActionListBillOverviewByProd = "ListBillOverviewByProd" ActionListBillOverviewByCategory = "ListBillOverviewByCategory" )
View Source
var ApiInfoList = map[string]*base.ApiInfo{ ActionListBillDetail: { Method: http.MethodPost, Path: "/", Query: url.Values{ "Action": []string{ActionListBillDetail}, "Version": []string{ServiceVersion}, }, }, ActionListSplitBillDetail: { Method: http.MethodPost, Path: "/", Query: url.Values{ "Action": []string{ActionListSplitBillDetail}, "Version": []string{ServiceVersion}, }, }, ActionListBillOverviewByProd: { Method: http.MethodPost, Path: "/", Query: url.Values{ "Action": []string{ActionListBillOverviewByProd}, "Version": []string{ServiceVersion}, }, }, ActionListBillOverviewByCategory: { Method: http.MethodPost, Path: "/", Query: url.Values{ "Action": []string{ActionListBillOverviewByCategory}, "Version": []string{ServiceVersion}, }, }, }
View Source
var DefaultInstance = NewInstance()
DefaultInstance Package level default instance
View Source
var ( ServiceInfo = &base.ServiceInfo{ Host: ServiceHost, Timeout: 1 * time.Minute, Header: http.Header{ "Accept": []string{"application/json"}, "Content-Type": []string{"application/json"}, }, } )
Functions ¶
func ToJsonForLog ¶
func ToJsonForLog(data interface{}) string
func ToUrlValues ¶
Types ¶
type BillDetail ¶
type BillDetail struct {
BillPeriod string `json:"BillPeriod"`
ExpenseDate string `json:"ExpenseDate"`
PayerID string `json:"PayerID"`
PayerUserName string `json:"PayerUserName"`
PayerCustomerName string `json:"PayerCustomerName"`
SellerID string `json:"SellerID"`
SellerUserName string `json:"SellerUserName"`
SellerCustomerName string `json:"SellerCustomerName"`
OwnerID string `json:"OwnerID"`
OwnerUserName string `json:"OwnerUserName"`
OwnerCustomerName string `json:"OwnerCustomerName"`
BusinessMode string `json:"BusinessMode"`
Product string `json:"Product"`
ProductZh string `json:"ProductZh"`
BillingMode string `json:"BillingMode"`
ExpenseBeginTime string `json:"ExpenseBeginTime"`
ExpenseEndTime string `json:"ExpenseEndTime"`
UseDuration string `json:"UseDuration"`
UseDurationUnit string `json:"UseDurationUnit"`
TradeTime string `json:"TradeTime"`
BillID string `json:"BillID"`
BillCategory string `json:"BillCategory"`
InstanceNo string `json:"InstanceNo"`
InstanceName string `json:"InstanceName"`
ConfigName string `json:"ConfigName"`
Element string `json:"Element"`
Region string `json:"Region"`
Zone string `json:"Zone"`
Factor string `json:"Factor"`
ExpandField string `json:"ExpandField"`
Price string `json:"Price"`
PriceUnit string `json:"PriceUnit"`
Count string `json:"Count"`
Unit string `json:"Unit"`
DeductionCount string `json:"DeductionCount"`
OriginalBillAmount string `json:"OriginalBillAmount"`
PreferentialBillAmount string `json:"PreferentialBillAmount"`
DiscountBillAmount string `json:"DiscountBillAmount"`
CouponAmount string `json:"CouponAmount"`
PaidAmount string `json:"PaidAmount"`
UnpaidAmount string `json:"UnpaidAmount"`
Currency string `json:"Currency"`
SettlementType string `json:"SettlementType"`
Project string `json:"Project"`
Tag string `json:"Tag"`
SellingMode string `json:"SellingMode"`
SolutionZh string `json:"SolutionZh"`
ReservationInstance string `json:"ReservationInstance"`
BillDetailId string `json:"BillDetailId"`
ElementCode string `json:"ElementCode"`
RegionCode string `json:"RegionCode"`
ZoneCode string `json:"ZoneCode"`
FactorCode string `json:"FactorCode"`
ConfigurationCode string `json:"ConfigurationCode"`
DeductionUseDuration string `json:"DeductionUseDuration"`
Tax string `json:"Tax"`
PosttaxAmount string `json:"PosttaxAmount"`
PretaxAmount string `json:"PretaxAmount"`
CountryRegion string `json:"CountryRegion"`
}
type BillDetailList ¶
type BillDetailList struct {
List []*BillDetail `json:"List"`
Total int `json:"Total"`
Limit int `json:"Limit"`
Offset int `json:"Offset"`
}
type BillOverviewByCategory ¶
type BillOverviewByCategory struct {
PayerID string `json:"PayerID"`
PayerUserName string `json:"PayerUserName"`
PayerCustomerName string `json:"PayerCustomerName"`
BusinessMode string `json:"BusinessMode"`
BillPeriod string `json:"BillPeriod"`
BillCategoryParent string `json:"BillCategoryParent"`
SubjectNo string `json:"SubjectNo"`
SellerID string `json:"SellerID"`
SellerUserName string `json:"SellerUserName"`
SellerCustomerName string `json:"SellerCustomerName"`
OwnerID string `json:"OwnerID"`
OwnerUserName string `json:"OwnerUserName"`
OwnerCustomerName string `json:"OwnerCustomerName"`
SettlementType string `json:"SettlementType"`
SubjectName string `json:"SubjectName"`
OriginalBillAmount string `json:"OriginalBillAmount"`
DiscountBillAmount string `json:"DiscountBillAmount"`
CouponAmount string `json:"CouponAmount"`
PaidAmount string `json:"PaidAmount"`
UnpaidAmount string `json:"UnpaidAmount"`
CreditCarriedAmount string `json:"CreditCarriedAmount"`
Currency string `json:"Currency"`
Tax string `json:"Tax"`
PosttaxAmount string `json:"PosttaxAmount"`
PretaxAmount string `json:"PretaxAmount"`
CountryRegion string `json:"CountryRegion"`
}
type BillOverviewByCategoryMap ¶
type BillOverviewByCategoryMap struct {
Map map[int64][]*BillOverviewByCategory
}
type BillOverviewByProd ¶
type BillOverviewByProd struct {
BillPeriod string `json:"BillPeriod"`
PayerID string `json:"PayerID"`
PayerUserName string `json:"PayerUserName"`
PayerCustomerName string `json:"PayerCustomerName"`
SellerID string `json:"SellerID"`
SellerUserName string `json:"SellerUserName"`
SellerCustomerName string `json:"SellerCustomerName"`
OwnerID string `json:"OwnerID"`
OwnerUserName string `json:"OwnerUserName"`
OwnerCustomerName string `json:"OwnerCustomerName"`
BusinessMode string `json:"BusinessMode"`
Product string `json:"Product"`
ProductZh string `json:"ProductZh"`
BillingMode string `json:"BillingMode"`
BillCategoryParent string `json:"BillCategoryParent"`
OriginalBillAmount string `json:"OriginalBillAmount"`
PreferentialBillAmount string `json:"PreferentialBillAmount"`
RoundBillAmount string `json:"RoundBillAmount"`
DiscountBillAmount string `json:"DiscountBillAmount"`
CouponAmount string `json:"CouponAmount"`
PaidAmount string `json:"PaidAmount"`
UnpaidAmount string `json:"UnpaidAmount"`
CreditCarriedAmount string `json:"CreditCarriedAmount"`
SettlementType string `json:"SettlementType"`
Currency string `json:"Currency"`
Tax string `json:"Tax"`
PosttaxAmount string `json:"PosttaxAmount"`
PretaxAmount string `json:"PretaxAmount"`
CountryRegion string `json:"CountryRegion"`
SubjectName string `json:"SubjectName"`
}
type BillOverviewByProdList ¶
type BillOverviewByProdList struct {
List []*BillOverviewByProd `json:"List"`
Total int `json:"Total"`
Limit int `json:"Limit"`
Offset int `json:"Offset"`
}
type Billing ¶
func NewInstance ¶
func NewInstance() *Billing
func (*Billing) GetServiceInfo ¶
func (b *Billing) GetServiceInfo() *base.ServiceInfo
func (*Billing) ListBillDetail ¶
func (b *Billing) ListBillDetail(req *ListBillDetailRequest) (*ListBillDetailResp, int, error)
func (*Billing) ListBillOverviewByCategory ¶
func (b *Billing) ListBillOverviewByCategory(req *ListBillOverviewByCategoryRequest) (*ListBillOverviewByCategoryResp, int, error)
func (*Billing) ListBillOverviewByProd ¶
func (b *Billing) ListBillOverviewByProd(req *ListBillOverviewByProdRequest) (*ListBillOverviewByProdResp, int, error)
func (*Billing) ListSplitBillDetail ¶
func (b *Billing) ListSplitBillDetail(req *ListSplitBillDetailRequest) (*ListSplitBillDetailResp, int, error)
type ListBillDetailRequest ¶
type ListBillDetailRequest struct {
Offset int64 `json:"Offset"`
Limit int64 `json:"Limit"`
BillPeriod string `json:"BillPeriod"`
GroupTerm int64 `json:"GroupTerm"`
GroupPeriod int64 `json:"GroupPeriod"`
Product string `json:"Product,omitempty"` // 当该字段的值为该字段类型的零值时,忽略该字段
BillingMode string `json:"BillingMode,omitempty"`
BillCategory string `json:"BillCategory,omitempty"`
InstanceNo string `json:"InstanceNo,omitempty"`
IgnoreZero int64 `json:"IgnoreZero"`
NeedRecordNum int64 `json:"NeedRecordNum"`
}
func (*ListBillDetailRequest) ToQuery ¶
func (r *ListBillDetailRequest) ToQuery() url.Values
type ListBillDetailResp ¶
type ListBillDetailResp struct {
ResponseMetadata *base.ResponseMetadata
Result *BillDetailList `json:"Result,omitempty"`
}
type ListBillOverviewByCategoryRequest ¶
type ListBillOverviewByCategoryRequest struct {
Offset int64 `json:"Offset"`
Limit int64 `json:"Limit"`
BillPeriod string `json:"BillPeriod"`
BillingMode string `json:"BillingMode,omitempty"`
BillCategoryParent string `json:"BillCategoryParent,omitempty"`
}
func (*ListBillOverviewByCategoryRequest) ToQuery ¶
func (r *ListBillOverviewByCategoryRequest) ToQuery() url.Values
type ListBillOverviewByCategoryResp ¶
type ListBillOverviewByCategoryResp struct {
ResponseMetadata *base.ResponseMetadata
Result *BillOverviewByCategoryMap `json:"Result,omitempty"`
}
type ListBillOverviewByProdRequest ¶
type ListBillOverviewByProdRequest struct {
Offset int64 `json:"Offset"`
Limit int64 `json:"Limit"`
BillPeriod string `json:"BillPeriod"`
Product string `json:"Product,omitempty"` // 当该字段的值为该字段类型的零值时,忽略该字段
BillingMode string `json:"BillingMode,omitempty"`
BillCategoryParent string `json:"BillCategoryParent,omitempty"`
IgnoreZero int64 `json:"IgnoreZero"`
NeedRecordNum int64 `json:"NeedRecordNum"`
}
func (*ListBillOverviewByProdRequest) ToQuery ¶
func (r *ListBillOverviewByProdRequest) ToQuery() url.Values
type ListBillOverviewByProdResp ¶
type ListBillOverviewByProdResp struct {
ResponseMetadata *base.ResponseMetadata
Result *BillOverviewByProdList `json:"Result,omitempty"`
}
type ListSplitBillDetailRequest ¶
type ListSplitBillDetailRequest struct {
Offset int64 `json:"Offset"`
Limit int64 `json:"Limit"`
BillPeriod string `json:"BillPeriod"`
GroupPeriod int64 `json:"GroupPeriod"`
Product string `json:"Product,omitempty"`
BillingMode string `json:"BillingMode,omitempty"`
BillCategory string `json:"BillCategory,omitempty"`
InstanceNo string `json:"InstanceNo,omitempty"`
SplitItemID string `json:"SplitItemID,omitempty"`
IgnoreZero int64 `json:"IgnoreZero"`
NeedRecordNum int64 `json:"NeedRecordNum"`
}
func (*ListSplitBillDetailRequest) ToQuery ¶
func (r *ListSplitBillDetailRequest) ToQuery() url.Values
type ListSplitBillDetailResp ¶
type ListSplitBillDetailResp struct {
ResponseMetadata *base.ResponseMetadata
Result *SplitBillDetailList `json:"Result,omitempty"`
}
type SplitBillDetail ¶
type SplitBillDetail struct {
BillPeriod string `json:"BillPeriod"`
ExpenseTime string `json:"ExpenseTime"`
PayerUserName string `json:"PayerUserName"`
SellerUserName string `json:"SellerUserName"`
OwnerUserName string `json:"OwnerUserName"`
Product string `json:"Product"`
ProductZh string `json:"ProductZh"`
BusinessMode string `json:"BusinessMode"`
BillingMode string `json:"BillingMode"`
UseDuration string `json:"UseDuration"`
UseDurationUnit string `json:"UseDurationUnit"`
TradeTime string `json:"TradeTime"`
BillID string `json:"BillID"`
BillCategory string `json:"BillCategory"`
SettlementType string `json:"SettlementType"`
InstanceNo string `json:"InstanceNo"`
InstanceName string `json:"InstanceName"`
ConfigName string `json:"ConfigName"`
Element string `json:"Element"`
Region string `json:"Region"`
Zone string `json:"Zone"`
Factor string `json:"Factor"`
ExpandField string `json:"ExpandField"`
SplitItemID string `json:"SplitItemID"`
SplitItemName string `json:"SplitItemName"`
Price string `json:"Price"`
PriceUnit string `json:"PriceUnit"`
SplitItemAmount string `json:"SplitItemAmount"`
Unit string `json:"Unit"`
SplitItemRatio string `json:"SplitItemRatio"`
DeductionCount string `json:"DeductionCount"`
SolutionZh string `json:"SolutionZh"`
OriginalBillAmount string `json:"OriginalBillAmount"`
PreferentialBillAmount string `json:"PreferentialBillAmount"`
DiscountBillAmount string `json:"DiscountBillAmount"`
CouponDeductionAmount string `json:"CouponDeductionAmount"`
PaidAmount string `json:"PaidAmount"`
UnpaidAmount string `json:"UnpaidAmount"`
Currency string `json:"Currency"`
Project string `json:"Project"`
Tag string `json:"Tag"`
SellingMode string `json:"SellingMode"`
SubjectName string `json:"SubjectName"`
ReservationInstance string `json:"ReservationInstance"`
SplitBillDetailId string `json:"SplitBillDetailId"`
ElementCode string `json:"ElementCode"`
RegionCode string `json:"RegionCode"`
ZoneCode string `json:"ZoneCode"`
FactorCode string `json:"FactorCode"`
ConfigurationCode string `json:"ConfigurationCode"`
Tax string `json:"Tax"`
PosttaxAmount string `json:"PosttaxAmount"`
PretaxAmount string `json:"PretaxAmount"`
CountryRegion string `json:"CountryRegion"`
}
type SplitBillDetailList ¶
type SplitBillDetailList struct {
List []*SplitBillDetail `json:"List"`
Total int `json:"Total"`
Limit int `json:"Limit"`
Offset int `json:"Offset"`
}
Click to show internal directories.
Click to hide internal directories.