You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go-library/service/pinduoduo/pdd.ddk.oauth.rp.prom.url.g...

73 lines
3.0 KiB

package pinduoduo
import (
"context"
"github.com/dtapps/go-library/utils/gojson"
"github.com/dtapps/go-library/utils/gorequest"
)
type PddDdkOauthRpPromUrlGenerateResponse struct {
RpPromotionUrlGenerateResponse struct {
ResourceList []struct {
Desc string `json:"desc"`
Url string `json:"url"`
} `json:"resource_list"`
UrlList []struct {
MobileShortUrl string `json:"mobile_short_url"`
MobileUrl string `json:"mobile_url"`
MultiGroupMobileShortUrl string `json:"multi_group_mobile_short_url"`
MultiGroupMobileUrl string `json:"multi_group_mobile_url"`
MultiGroupShortUrl string `json:"multi_group_short_url"`
MultiGroupUrl string `json:"multi_group_url"`
QqAppInfo struct {
AppId string `json:"app_id"`
BannerUrl string `json:"banner_url"`
Desc string `json:"desc"`
PagePath string `json:"page_path"`
QqAppIconUrl string `json:"qq_app_icon_url"`
SourceDisplayName string `json:"source_display_name"`
Title string `json:"title"`
UserName string `json:"user_name"`
} `json:"qq_app_info"`
SchemaUrl string `json:"schema_url"`
ShortUrl string `json:"short_url"`
TzSchemaUrl string `json:"tz_schema_url"`
Url string `json:"url"`
WeAppInfo struct {
AppId string `json:"app_id"`
BannerUrl string `json:"banner_url"`
Desc string `json:"desc"`
PagePath string `json:"page_path"`
SourceDisplayName string `json:"source_display_name"`
Title string `json:"title"`
UserName string `json:"user_name"`
WeAppIconUrl string `json:"we_app_icon_url"`
} `json:"we_app_info"`
} `json:"url_list"`
} `json:"rp_promotion_url_generate_response"`
}
type PddDdkOauthRpPromUrlGenerateResult struct {
Result PddDdkOauthRpPromUrlGenerateResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newPddDdkOauthRpPromUrlGenerateResult(result PddDdkOauthRpPromUrlGenerateResponse, body []byte, http gorequest.Response, err error) *PddDdkOauthRpPromUrlGenerateResult {
return &PddDdkOauthRpPromUrlGenerateResult{Result: result, Body: body, Http: http, Err: err}
}
// PromUrlGenerate 生成营销工具推广链接
// https://jinbao.pinduoduo.com/third-party/api-detail?apiName=pdd.ddk.oauth.rp.prom.url.generate
func (c *PddDdkOauthRpApi) PromUrlGenerate(ctx context.Context, notMustParams ...Params) *PddDdkOauthRpPromUrlGenerateResult {
// 参数
params := NewParamsWithType("pdd.ddk.oauth.rp.prom.url.generate", notMustParams...)
// 请求
request, err := c.client.request(ctx, params)
// 定义
var response PddDdkOauthRpPromUrlGenerateResponse
err = gojson.Unmarshal(request.ResponseBody, &response)
return newPddDdkOauthRpPromUrlGenerateResult(response, request.ResponseBody, request, err)
}