- route definition
- Url: /api/v1/analytics/payments
- Method: GET
- Request:
PaymentsRequest - Response:
PaymentsResponse
- request definition
type PaymentsRequest struct {
GameId string `form:"gameId,optional"`
Env string `form:"env,optional"`
StartDate string `form:"startDate,optional"`
EndDate string `form:"endDate,optional"`
}
- response definition
type PaymentsResponse struct {
Metrics PaymentsMetrics `json:"metrics"`
Trends interface{} `json:"trends"`
}
type PaymentsMetrics struct {
Revenue float64 `json:"revenue"`
Transactions int `json:"transactions"`
PayingUsers int `json:"payingUsers"`
ARPU float64 `json:"arpu"`
ARPPU float64 `json:"arppu"`
ConversionRate float64 `json:"conversionRate"`
}
- route definition
- Url: /api/v1/analytics/payments/ingest
- Method: POST
- Request:
PaymentsIngestRequest - Response:
PaymentsIngestResponse
- request definition
type PaymentsIngestRequest struct {
GameId string `json:"gameId"`
Env string `json:"env"`
Transactions interface{} `json:"transactions"`
Timestamp string `json:"timestamp,optional"`
}
- response definition
type PaymentsIngestResponse struct {
Accepted int `json:"accepted"`
Rejected int `json:"rejected"`
BatchId string `json:"batchId"`
}
- route definition
- Url: /api/v1/analytics/payments/product-trend
- Method: GET
- Request:
PaymentsProductTrendRequest - Response:
PaymentsProductTrendResponse
- request definition
type PaymentsProductTrendRequest struct {
GameId string `form:"gameId,optional"`
Env string `form:"env,optional"`
StartDate string `form:"startDate,optional"`
EndDate string `form:"endDate,optional"`
Limit int `form:"limit,optional,default=10"`
}
- response definition
type PaymentsProductTrendResponse struct {
Items []ProductTrend `json:"items"`
}
- route definition
- Url: /api/v1/analytics/payments/summary
- Method: GET
- Request:
PaymentsSummaryRequest - Response:
PaymentsSummaryResponse
- request definition
type PaymentsSummaryRequest struct {
GameId string `form:"gameId,optional"`
Env string `form:"env,optional"`
StartDate string `form:"startDate,optional"`
EndDate string `form:"endDate,optional"`
GroupBy string `form:"groupBy,optional,default=day"` // day, week, month
}
- response definition
type PaymentsSummaryResponse struct {
Items []PaymentsSummary `json:"items"`
}
- route definition
- Url: /api/v1/analytics/payments/transactions
- Method: GET
- Request:
PaymentsTransactionsRequest - Response:
PaymentsTransactionsResponse
- request definition
type PaymentsTransactionsRequest struct {
Page int `form:"page,optional,default=1"`
PageSize int `form:"pageSize,optional,default=20"`
GameId string `form:"gameId,optional"`
Env string `form:"env,optional"`
Status string `form:"status,optional"`
StartDate string `form:"startDate,optional"`
EndDate string `form:"endDate,optional"`
}
- response definition
type PaymentsTransactionsResponse struct {
Items []PaymentTransaction `json:"items"`
Total int64 `json:"total"`
Page int `json:"page"`
Size int `json:"pageSize"`
}