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/meituan/api.getqualityscorebysid.go

52 lines
2.0 KiB

2 years ago
package meituan
import (
2 years ago
"context"
1 year ago
"github.com/dtapps/go-library/utils/gojson"
2 years ago
"github.com/dtapps/go-library/utils/gorequest"
"github.com/dtapps/go-library/utils/gotime"
2 years ago
"net/http"
)
2 years ago
type ApiGetQuaLitYsCoreBySidResponse struct {
2 years ago
Status int `json:"status"`
Des string `json:"des"`
Data struct {
DataList []struct {
Appkey string `json:"appkey"` // appkey
Sid string `json:"sid"` // 推广位sid
Date string `json:"date"` // 质量分归属日期
QualityGrade string `json:"qualityGrade"` // 质量分
RepurchaseRate string `json:"repurchaseRate"` // sid维度的七日复购率
} `json:"dataList"`
Total int `json:"total"`
} `json:"data"`
}
2 years ago
type ApiGetQuaLitYsCoreBySidResult struct {
Result ApiGetQuaLitYsCoreBySidResponse // 结果
Body []byte // 内容
2 years ago
Http gorequest.Response // 请求
2 years ago
Err error // 错误
2 years ago
}
func newApiGetQuaLitYsCoreBySidResult(result ApiGetQuaLitYsCoreBySidResponse, body []byte, http gorequest.Response, err error) *ApiGetQuaLitYsCoreBySidResult {
return &ApiGetQuaLitYsCoreBySidResult{Result: result, Body: body, Http: http, Err: err}
2 years ago
}
2 years ago
// ApiGetQuaLitYsCoreBySid 优选sid质量分&复购率查询
2 years ago
// https://union.meituan.com/v2/apiDetail?id=28
2 years ago
func (c *Client) ApiGetQuaLitYsCoreBySid(ctx context.Context, notMustParams ...gorequest.Params) *ApiGetQuaLitYsCoreBySidResult {
2 years ago
// 参数
2 years ago
params := gorequest.NewParamsWith(notMustParams...)
2 years ago
// 请求时刻10位时间戳(秒级)有效期60s
params["ts"] = gotime.Current().Timestamp()
params["appkey"] = c.GetAppKey()
params["sign"] = c.getSign(c.GetSecret(), params)
2 years ago
// 请求
2 years ago
request, err := c.request(ctx, apiUrl+"/api/getqualityscorebysid", params, http.MethodGet)
2 years ago
// 定义
2 years ago
var response ApiGetQuaLitYsCoreBySidResponse
1 year ago
err = gojson.Unmarshal(request.ResponseBody, &response)
return newApiGetQuaLitYsCoreBySidResult(response, request.ResponseBody, request, err)
2 years ago
}