update meituan

master
李光春 2 years ago
parent 8755bcb726
commit 35b96a04ee

@ -21,7 +21,7 @@ func NewGenerateLinkResult(result GenerateLinkResponse, body []byte, err error)
return &GenerateLinkResult{Result: result, Body: body, Err: err}
}
// GenerateLink 自助取链接口
// GenerateLink 自助取链接口(新版)
// https://union.meituan.com/v2/apiDetail?id=25
func (app *App) GenerateLink(actId int64, sid string, linkType, shortLink int) *GenerateLinkResult {
// 参数

@ -0,0 +1,48 @@
package meituan
import (
"encoding/json"
"gopkg.in/dtapps/go-library.v3/utils/gotime"
"net/http"
)
type GetQuaLitYsCoreBySidResponse 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 GetQuaLitYsCoreBySidResult struct {
Result GetQuaLitYsCoreBySidResponse // 结果
Body []byte // 内容
Err error // 错误
}
func NewGetQuaLitYsCoreBySidResult(result GetQuaLitYsCoreBySidResponse, body []byte, err error) *GetQuaLitYsCoreBySidResult {
return &GetQuaLitYsCoreBySidResult{Result: result, Body: body, Err: err}
}
// GetQuaLitYsCoreBySid 优选sid质量分&复购率查询
// https://union.meituan.com/v2/apiDetail?id=28
func (app *App) GetQuaLitYsCoreBySid(notMustParams ...Params) *GetQuaLitYsCoreBySidResult {
// 参数
params := app.NewParamsWith(notMustParams...)
// 请求时刻10位时间戳(秒级)有效期60s
params["ts"] = gotime.Current().Timestamp()
params["appkey"] = app.AppKey
params["sign"] = app.getSign(app.Secret, params)
// 请求
body, err := app.request("https://openapi.meituan.com/api/getqualityscorebysid", params, http.MethodGet)
// 定义
var response GetQuaLitYsCoreBySidResponse
err = json.Unmarshal(body, &response)
return NewGetQuaLitYsCoreBySidResult(response, body, err)
}

@ -21,7 +21,7 @@ func NewMiniCodeResult(result MiniCodeResponse, body []byte, err error) *MiniCod
return &MiniCodeResult{Result: result, Body: body, Err: err}
}
// MiniCode 小程序二维码生成
// MiniCode 小程序生成二维码(新版)
// https://union.meituan.com/v2/apiDetail?id=26
func (app *App) MiniCode(actId int64, sid string) *MiniCodeResult {
// 参数

@ -0,0 +1,60 @@
package meituan
import (
"encoding/json"
"net/http"
)
type OrderResponse struct {
Status int `json:"status"`
Des string `json:"des"`
Data struct {
BusinessLine int `json:"businessLine"` // 业务线
SubBusinessLine int `json:"subBusinessLine"` // 子业务线
ActId int `json:"actId"` // 活动id可以在联盟活动列表中查看获取
Quantity int `json:"quantity"` // 商品数量
OrderId string `json:"orderId"` // 订单id
Paytime string `json:"paytime"` // 订单支付时间10位时间戳
ModTime string `json:"modTime"` // 订单信息修改时间10位时间戳
Payprice string `json:"payprice"` // 订单用户实际支付金额
Profit string `json:"profit,omitempty"` // 订单预估返佣金额
CpaProfit string `json:"cpaProfit,omitempty"` // 订单预估cpa总收益优选、话费券
Sid string `json:"sid"` // 订单对应的推广位sid
Appkey string `json:"appkey"` // 订单对应的appkey外卖、话费、闪购、优选、酒店订单会返回该字段
Smstitle string `json:"smstitle"` // 订单标题
Status int `json:"status"` // 订单状态,外卖、话费、闪购、优选、酒店订单会返回该字段 1 已付款 8 已完成 9 已退款或风控
TradeTypeList []int `json:"tradeTypeList"` // 订单的奖励类型 3 首购奖励 5 留存奖励 2 cps 3 首购奖励
RiskOrder int `json:"riskOrder"` // 0表示非风控订单1表示风控订单
Refundprofit string `json:"refundprofit,omitempty"` // 订单需要扣除的返佣金额,外卖、话费、闪购、优选、酒店订单若发生退款会返回该字段
CpaRefundProfit interface{} `json:"cpaRefundProfit"` // 订单需要扣除的cpa返佣金额优选、话费券
RefundInfoList interface{} `json:"refundInfoList"` // 退款列表
RefundProfitList interface{} `json:"refundProfitList"`
Extra interface{} `json:"extra"`
} `json:"data"`
}
type OrderResult struct {
Result OrderResponse // 结果
Body []byte // 内容
Err error // 错误
}
func NewOrderResult(result OrderResponse, body []byte, err error) *OrderResult {
return &OrderResult{Result: result, Body: body, Err: err}
}
// Order 单订单查询接口(新版)
// https://union.meituan.com/v2/apiDetail?id=24
func (app *App) Order(notMustParams ...Params) *OrderResult {
// 参数
params := app.NewParamsWith(notMustParams...)
// 请求时刻10位时间戳(秒级)有效期60s
params["appkey"] = app.AppKey
params["sign"] = app.getSign(app.Secret, params)
// 请求
body, err := app.request("https://openapi.meituan.com/api/order", params, http.MethodGet)
// 定义
var response OrderResponse
err = json.Unmarshal(body, &response)
return NewOrderResult(response, body, err)
}

@ -6,35 +6,29 @@ import (
"net/http"
)
// OrderList 请求参数
type OrderList struct {
Type string `json:"type"` // 查询订单类型 0 团购订单 2 酒店订单 4 外卖订单 5 话费&团好货订单 6 闪购订单 8 优选订单
StartTime string `json:"startTime"` // 查询起始时间10位时间戳以下单时间为准
EndTime string `json:"endTime"` // 查询截止时间10位时间戳以下单时间为准
Page string `json:"page"` // 分页参数起始值从1开始
Limit string `json:"limit"` // 每页显示数据条数最大值为100
QueryTimeType string `json:"queryTimeType,omitempty"` // 查询时间类型,枚举值 1 按订单支付时间查询 2 按订单发生修改时间查询
}
type OrderListResponse struct {
DataList []struct {
Orderid string `json:"orderid"` // 订单id
Paytime string `json:"paytime"` // 订单支付时间10位时间戳
Payprice string `json:"payprice"` // 订单用户实际支付金额
Profit string `json:"profit"` // 订单预估返佣金额
CpaProfit string `json:"cpaProfit"` // 订单预估cpa总收益优选、话费券
Sid string `json:"sid"` // 订单对应的推广位sid
Appkey string `json:"appkey,omitempty"` // 订单对应的appkey外卖、话费、闪购、优选订单会返回该字段
Smstitle string `json:"smstitle"` // 订单标题
Refundprice string `json:"refundprice,omitempty"` // 订单实际退款金额,外卖、话费、闪购、优选、酒店订单若发生退款会返回该字段
Refundtime string `json:"refundtime,omitempty"` // 订单退款时间10位时间戳外卖、话费、闪购、优选、酒店订单若发生退款会返回该字段
Refundprofit string `json:"refundprofit,omitempty"` // 订单需要扣除的返佣金额,外卖、话费、闪购、优选、酒店订单若发生退款会返回该字段
CpaRefundProfit string `json:"cpaRefundProfit"` // 订单需要扣除的cpa返佣金额优选、话费券
Status string `json:"status,omitempty"` // 订单状态,外卖、话费、闪购、优选、酒店订单会返回该字段 1 已付款 8 已完成 9 已退款或风控
TradeTypeList []interface{} `json:"tradeTypeList,omitempty"` // 订单的奖励类型 话费订单类型返回该字段 3 首购奖励 5 留存奖励 优选订单类型返回该字段 2 cps 3 首购奖励
TradeTypeBusinessTypeMapStr string `json:"tradeTypeBusinessTypeMapStr"` // 奖励类型对应平台类型的映射 格式:{3:[3,5]} value的枚举值1 外卖 2 分销酒店 3 平台 4 券类型酒店 5 团好货 6 优选
RiskOrder string `json:"riskOrder,omitempty"` // 0表示正常退款1表示风控退款订单状态为退款时有效
} `json:"dataList"` // 订单列表
Orderid string `json:"orderid"` // 订单id
Paytime string `json:"paytime"` // 订单支付时间10位时间戳
Payprice string `json:"payprice"` // 订单用户实际支付金额
Sid string `json:"sid"` // 订单对应的推广位sid
Smstitle string `json:"smstitle"` // 订单标题
Appkey string `json:"appkey"` // 订单对应的appkey外卖、话费、闪购、优选订单会返回该字段
Status int `json:"status"` // 订单状态,外卖、话费、闪购、优选、酒店订单会返回该字段 1 已付款 8 已完成 9 已退款或风控
Profit string `json:"profit"` // 订单预估返佣金额
CpaProfit string `json:"cpaProfit"` // 订单预估cpa总收益优选、话费券
Refundtime string `json:"refundtime"` // 订单退款时间10位时间戳外卖、话费、闪购、优选、酒店订单若发生退款会返回该字段(退款时间为最近的一次退款)
Refundprice string `json:"refundprice"` // 订单实际退款金额,外卖、话费、闪购、优选、酒店订单若发生退款会返回该字段
Refundprofit string `json:"refundprofit"` // 订单需要扣除的返佣金额,外卖、话费、闪购、优选、酒店订单若发生退款会返回该字段
CpaRefundProfit string `json:"cpaRefundProfit"` // 订单需要扣除的cpa返佣金额优选、话费券
Extra string `json:"extra"`
TradeTypeList []int `json:"tradeTypeList"` // 订单的奖励类型 3 首购奖励 5 留存奖励 2 cps 3 首购奖励
TradeTypeBusinessTypeMapStr string `json:"tradeTypeBusinessTypeMapStr"`
RiskOrder int `json:"riskOrder"` // 0表示非风控订单1表示风控订单
BusinessLine int `json:"businessLine"` // 业务线
SubBusinessLine int `json:"subBusinessLine"` // 子业务线
ActId int `json:"actId"` // 活动id可以在联盟活动列表中查看获取
} `json:"dataList"`
Total int `json:"total"` // 查询条件命中的总数据条数,用于计算分页参数
}
@ -48,16 +42,17 @@ func NewOrderListResult(result OrderListResponse, body []byte, err error) *Order
return &OrderListResult{Result: result, Body: body, Err: err}
}
// OrderList 订单列表查询(新)
// https://union.meituan.com/v2/apiDetail?id=1
// OrderList 订单列表查询接口(新版)
// https://union.meituan.com/v2/apiDetail?id=23
func (app *App) OrderList(notMustParams ...Params) *OrderListResult {
// 参数
params := app.NewParamsWith(notMustParams...)
// 请求时刻10位时间戳(秒级)有效期60s
params["ts"] = gotime.Current().Timestamp()
params["key"] = app.AppKey
params["appkey"] = app.AppKey
params["sign"] = app.getSign(app.Secret, params)
body, err := app.request("https://runion.meituan.com/api/orderList", params, http.MethodGet)
// 请求
body, err := app.request("https://openapi.meituan.com/api/orderList", params, http.MethodGet)
// 定义
var response OrderListResponse
err = json.Unmarshal(body, &response)

@ -11,6 +11,8 @@ import (
"strconv"
)
// 签名(sign)生成逻辑(新版)
// https://union.meituan.com/v2/apiDetail?id=27
func (app *App) getSign(Secret string, params map[string]interface{}) string {
// 参数按照参数名的字典升序排列
var keys []string

Loading…
Cancel
Save