-
Notifications
You must be signed in to change notification settings - Fork 42
/
gray_get.go
54 lines (48 loc) · 1.71 KB
/
gray_get.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package tools
import (
"strconv"
"github.com/bububa/oceanengine/marketing-api/enum"
"github.com/bububa/oceanengine/marketing-api/model"
"github.com/bububa/oceanengine/marketing-api/util"
)
// GrayGetRequest 查询白名单能力 API Request
type GrayGetRequest struct {
// AdvertiserID 广告账户ID
AdvertiserID uint64 `json:"advertiser_id,omitempty"`
// GrayKeys 白名单能力key,目前仅支持单次查询1个白名单能力key
GrayKeys []enum.GrayKey `json:"gray_keys,omitempty"`
// 抖音号id
// gray_keys = comm_roi 时,有效且必填
AwemeIDs []uint64 `json:"aweme_ids,omitempty"`
}
// Encode implement GetRequest interface
func (r GrayGetRequest) Encode() string {
values := util.GetUrlValues()
values.Set("advertiser_id", strconv.FormatUint(r.AdvertiserID, 10))
values.Set("gray_keys", string(util.JSONMarshal(r.GrayKeys)))
if len(r.AwemeIDs) > 0 {
values.Set("aweme_ids", string(util.JSONMarshal(r.AwemeIDs)))
}
ret := values.Encode()
util.PutUrlValues(values)
return ret
}
// GrayGetResponse 查询白名单能力 API Response
type GrayGetResponse struct {
model.BaseResponse
Data struct {
// List 命中白名单请求
List []GrayItem `json:"list,omitempty"`
} `json:"data,omitempty"`
}
// GrayItem 白名单
type GrayItem struct {
// GrayKey 白名单能力的唯一key
GrayKey string `json:"gray_key,omitempty"`
// InGray 当前白名单能力是否已全量,true、false。对于已经全量的key,请不要再次查询
InGray bool `json:"in_gray,omitempty"`
// InWhitelist 是否命中白名单。0代表命中,1代表未命中
InWhitelist model.Bool `json:"in_whitelist,omitempty"`
// AwemeIDs 命中白名单的抖音号列表
AwemeIDs []uint64 `json:"aweme_ids,omitempty"`
}