boosty
/
stats.go
51 строка · 1.6 Кб
1package boosty
2
3import (
4"fmt"
5"net/http"
6"net/url"
7)
8
9type Point struct {
10Day int `json:"day"`
11Year int `json:"year"`
12Count int `json:"count"`
13Month int `json:"month"`
14}
15type Stats struct {
16PostSaleMoney []Point `json:"postSaleMoney"`
17UpSubscribers []Point `json:"upSubscribers"`
18MessagesSale []Point `json:"messagesSale"`
19DecSubscribers []Point `json:"decSubscribers"`
20PostsSale []Point `json:"postsSale"`
21DonationsMoney []Point `json:"donationsMoney"`
22GiftsSaleSaleMoney []Point `json:"giftsSaleSaleMoney"`
23MessagesSaleMoney []Point `json:"messagesSaleMoney"`
24TotalMoney []Point `json:"totalMoney"`
25DecFollowers []Point `json:"decFollowers"`
26IncSubscribersMoney []Point `json:"incSubscribersMoney"`
27RecurrentsMoney []Point `json:"recurrentsMoney"`
28Recurrents []Point `json:"recurrents"`
29ReferalMoney []Point `json:"referalMoney"`
30ReferalMoneyOut []Point `json:"referalMoneyOut"`
31IncFollowers []Point `json:"incFollowers"`
32Referal []Point `json:"referal"`
33Donations []Point `json:"donations"`
34IncSubscribers []Point `json:"incSubscribers"`
35GiftsSale []Point `json:"giftsSale"`
36UpSubscribersMoney []Point `json:"upSubscribersMoney"`
37Holds []Point `json:"holds"`
38}
39
40func (b *Boosty) Stats(values url.Values) (*Stats, error) {
41u := fmt.Sprintf("v1/blog/%s/stat/data/?%s", b.blog, values.Encode())
42
43m := Method[Stats]{
44request: b.request,
45method: http.MethodGet,
46url: u,
47values: url.Values{},
48}
49
50return m.Call(Stats{})
51}
52