/
pdd.ddk.goods.promotion.url.generate.go
71 lines (66 loc) · 3.9 KB
/
pdd.ddk.goods.promotion.url.generate.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package pinduoduo
import (
"context"
"go.dtapp.net/gojson"
"go.dtapp.net/gorequest"
)
type GoodsPromotionUrlGenerateResponse struct {
GoodsPromotionUrlGenerateResponse struct {
GoodsPromotionUrlList []struct {
MobileShortUrl string `json:"mobile_short_url,omitempty"` // 对应出参mobile_url的短链接,与mobile_url功能一致。
MobileUrl string `json:"mobile_url,omitempty"` // 使用此推广链接,用户安装微信的情况下,默认拉起拼多多福利券微信小程序,否则唤起H5页面
QqAppInfo struct {
AppId string `json:"app_id,omitempty"` // 拼多多小程序id
BannerUrl string `json:"banner_url,omitempty"` // Banner图
Desc string `json:"desc,omitempty"` // 描述
PagePath string `json:"page_path,omitempty"` // 小程序path值
QqAppIconUrl string `json:"qq_app_icon_url,omitempty"` // 小程序icon
SourceDisplayName string `json:"source_display_name,omitempty"` // 来源名
Title string `json:"title,omitempty"` // 小程序标题
UserName string `json:"user_name,omitempty"` // 用户名
} `json:"qq_app_info"`
SchemaUrl string `json:"schema_url,omitempty"` // 使用此推广链接,用户安装拼多多APP的情况下会唤起APP(需客户端支持schema跳转协议)
ShortUrl string `json:"short_url,omitempty"` // 对应出参url的短链接,与url功能一致
Url string `json:"url,omitempty"` // 普通推广长链接,唤起H5页面
WeAppInfo struct {
AppId string `json:"app_id,omitempty"` // 小程序id
BannerUrl string `json:"banner_url,omitempty"` // Banner图
Desc string `json:"desc,omitempty"` // 描述
PagePath string `json:"page_path,omitempty"` // 小程序path值
SourceDisplayName string `json:"source_display_name,omitempty"` // 来源名
Title string `json:"title,omitempty"` // 小程序标题
UserName string `json:"user_name,omitempty"` // 用户名
WeAppIconUrl string `json:"we_app_icon_url,omitempty"` // 小程序图片
} `json:"we_app_info"`
WeixinCode string `json:"weixin_code"`
WeAppWebViewUrl string `json:"we_app_web_view_url"`
WeAppWebViewShortUrl string `json:"we_app_web_view_short_url"`
TzSchemaUrl string `json:"tz_schema_url"`
WeixinShortLink string `json:"weixin_short_link"`
} `json:"goods_promotion_url_list"`
} `json:"goods_promotion_url_generate_response"`
}
type GoodsPromotionUrlGenerateResult struct {
Result GoodsPromotionUrlGenerateResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
}
func newGoodsPromotionUrlGenerateResult(result GoodsPromotionUrlGenerateResponse, body []byte, http gorequest.Response) *GoodsPromotionUrlGenerateResult {
return &GoodsPromotionUrlGenerateResult{Result: result, Body: body, Http: http}
}
// GoodsPromotionUrlGenerate 多多进宝推广链接生成
// https://jinbao.pinduoduo.com/third-party/api-detail?apiName=pdd.ddk.goods.promotion.url.generate
func (c *Client) GoodsPromotionUrlGenerate(ctx context.Context, notMustParams ...gorequest.Params) (*GoodsPromotionUrlGenerateResult, error) {
// 参数
params := NewParamsWithType("pdd.ddk.goods.promotion.url.generate", notMustParams...)
params.Set("p_id", c.GetPid())
// 请求
request, err := c.request(ctx, params)
if err != nil {
return newGoodsPromotionUrlGenerateResult(GoodsPromotionUrlGenerateResponse{}, request.ResponseBody, request), err
}
// 定义
var response GoodsPromotionUrlGenerateResponse
err = gojson.Unmarshal(request.ResponseBody, &response)
return newGoodsPromotionUrlGenerateResult(response, request.ResponseBody, request), err
}