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.
pinduoduo/pdd.ddk.rp.prom.url.generat...

83 lines
4.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package pinduoduo
import (
"context"
"encoding/json"
"go.dtapp.net/gorequest"
)
type RpPromUrlGenerateResponse struct {
RpPromotionUrlGenerateResponse struct {
ResourceList []struct {
Desc string `json:"desc"` // 活动描述
Url string `json:"url"` // 活动地址
} `json:"resource_list"`
UrlList []struct {
MobileShortUrl string `json:"mobile_short_url"` // 推广移动短链接对应出参mobile_url的短链接与mobile_url功能一致。
MobileUrl string `json:"mobile_url"` // 推广移动链接用户安装拼多多APP的情况下会唤起APP否则唤起H5页面
MultiGroupMobileShortUrl string `json:"multi_group_mobile_short_url"` // 推广多人团移动短链接
MultiGroupMobileUrl string `json:"multi_group_mobile_url"` // 推广多人团移动链接用户安装拼多多APP的情况下会唤起APP否则唤起H5页面
MultiGroupShortUrl string `json:"multi_group_short_url"` // 推广多人团短链接
MultiGroupUrl string `json:"multi_group_url"` // 推广多人团链接唤起H5页面
QqAppInfo struct {
AppId string `json:"app_id"` // 拼多多小程序id
BannerUrl string `json:"banner_url"` // Banner图
Desc string `json:"desc"` // 描述
PagePath string `json:"page_path"` // 小程序path值
QqAppIconUrl string `json:"qq_app_icon_url"` // 小程序icon
SourceDisplayName string `json:"source_display_name"` // 来源名
Title string `json:"title"` // 小程序标题
UserName string `json:"user_name"` // 用户名
} `json:"qq_app_info"` // qq小程序信息
SchemaUrl string `json:"schema_url"` // schema链接用户安装拼多多APP的情况下会唤起APP需客户端支持schema跳转协议
ShortUrl string `json:"short_url"` // 推广短链接对应出参url的短链接与url功能一致
Url string `json:"url"` // 普通推广长链接唤起H5页面
WeAppInfo struct {
AppId string `json:"app_id"` // 小程序id
BannerUrl string `json:"banner_url"` // Banner图
Desc string `json:"desc"` // 描述
PagePath string `json:"page_path"` // 小程序path值
SourceDisplayName string `json:"source_display_name"` // 来源名
Title string `json:"title"` // 小程序标题
UserName string `json:"user_name"` // 用户名
WeAppIconUrl string `json:"we_app_icon_url"` // 小程序icon
} `json:"we_app_info"` // 拼多多福利券微信小程序信息
} `json:"url_list"`
} `json:"rp_promotion_url_generate_response"`
}
type RpPromUrlGenerateError struct {
ErrorResponse struct {
ErrorMsg string `json:"error_msg"`
SubMsg string `json:"sub_msg"`
SubCode string `json:"sub_code"`
} `json:"error_response"`
}
type RpPromUrlGenerateResult struct {
Result RpPromUrlGenerateResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
Error RpPromUrlGenerateError // 错误结果
}
func newRpPromUrlGenerateResult(result RpPromUrlGenerateResponse, body []byte, http gorequest.Response, err error, error RpPromUrlGenerateError) *RpPromUrlGenerateResult {
return &RpPromUrlGenerateResult{Result: result, Body: body, Http: http, Err: err, Error: error}
}
// RpPromUrlGenerate 生成营销工具推广链接
// https://jinbao.pinduoduo.com/third-party/api-detail?apiName=pdd.ddk.rp.prom.url.generate
func (c *Client) RpPromUrlGenerate(ctx context.Context, notMustParams ...Params) *RpPromUrlGenerateResult {
// 参数
params := NewParamsWithType("pdd.ddk.rp.prom.url.generate", notMustParams...)
params.Set("p_id_list", []string{c.GetPid()})
// 请求
request, err := c.request(ctx, params)
// 定义
var response RpPromUrlGenerateResponse
err = json.Unmarshal(request.ResponseBody, &response)
var responseError RpPromUrlGenerateError
err = json.Unmarshal(request.ResponseBody, &responseError)
return newRpPromUrlGenerateResult(response, request.ResponseBody, request, err, responseError)
}