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

52 lines
1.9 KiB

2 years ago
package meituan
import (
2 years ago
"context"
2 years ago
"encoding/json"
"go.dtapp.net/gorequest"
"go.dtapp.net/gotime"
"net/http"
)
type ApiGetQuaLitYsCoreBySidResponse struct {
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"`
}
type ApiGetQuaLitYsCoreBySidResult struct {
Result ApiGetQuaLitYsCoreBySidResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
2 years ago
func newApiGetQuaLitYsCoreBySidResult(result ApiGetQuaLitYsCoreBySidResponse, body []byte, http gorequest.Response, err error) *ApiGetQuaLitYsCoreBySidResult {
2 years ago
return &ApiGetQuaLitYsCoreBySidResult{Result: result, Body: body, Http: http, Err: err}
}
// ApiGetQuaLitYsCoreBySid 优选sid质量分&复购率查询
// 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
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求时刻10位时间戳(秒级)有效期60s
params["ts"] = gotime.Current().Timestamp()
2 years ago
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
// 定义
var response ApiGetQuaLitYsCoreBySidResponse
err = json.Unmarshal(request.ResponseBody, &response)
2 years ago
return newApiGetQuaLitYsCoreBySidResult(response, request.ResponseBody, request, err)
2 years ago
}