pdd 0.1.4

拼多多开放平台sdk
Documentation
use crate::Request;

use serde::{Deserialize, Serialize};


/// 多多进宝商品查询
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct RangeList {
    
    /// 区间的开始值
    #[serde(rename = "range_from")]
    pub range_from: Option<i64>,
    
    /// 0,最小成团价 1,券后价 2,佣金比例 3,优惠券价格 4,广告创建时间 5,销量 6,佣金金额 7,店铺描述分 8,店铺物流分 9,店铺服务分 10, 店铺描述分击败同行业百分比 11, 店铺物流分击败同行业百分比 12,店铺服务分击败同行业百分比 13,商品分 17 ,优惠券/最小团购价 18,过去两小时pv 19,过去两小时销量
    #[serde(rename = "range_id")]
    pub range_id: Option<i32>,
    
    /// 区间的结束值
    #[serde(rename = "range_to")]
    pub range_to: Option<i64>,
    
}

/// 多多进宝商品查询
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct PddDdkOauthGoodsSearch {
    
    /// 活动商品标记数组,例:[4,7],4-秒杀,7-百亿补贴,10851-千万补贴,11879-千万神券,10913-招商礼金商品,31-品牌黑标,10564-精选爆品-官方直推爆款,10584-精选爆品-团长推荐,24-品牌高佣,其他的值请忽略
    #[serde(rename = "activity_tags")]
    pub activity_tags: Option<Vec<i32>>,
    
    /// 屏蔽商品类目包:1-拼多多小程序屏蔽的类目&关键词;2-虚拟类目;3-医疗器械;4-处方药;5-非处方药
    #[serde(rename = "block_cat_packages")]
    pub block_cat_packages: Option<Vec<i32>>,
    
    /// 自定义屏蔽一级/二级/三级类目ID,自定义数量不超过20个;使用pdd.goods.cats.get接口获取cat_id
    #[serde(rename = "block_cats")]
    pub block_cats: Option<Vec<i32>>,
    
    /// 商品类目ID,使用pdd.goods.cats.get接口获取
    #[serde(rename = "cat_id")]
    pub cat_id: Option<i64>,
    
    /// 自定义参数,为链接打上自定义标签;自定义参数最长限制64个字节;格式为:  {"uid":"11111","sid":"22222"} ,其中 uid 用户唯一标识,可自行加密后传入,每个用户仅且对应一个标识,必填; sid 上下文信息标识,例如sessionId等,非必填。该json字符串中也可以加入其他自定义的key。(如果使用GET请求,请使用URLEncode处理参数)
    #[serde(rename = "custom_parameters")]
    pub custom_parameters: Option<String>,
    
    /// 是否使用工具商专属推广计划,默认为false
    #[serde(rename = "force_auth_duo_id")]
    pub force_auth_duo_id: Option<bool>,
    
    /// 商品主图类型:1-场景图,2-白底图,默认为0
    #[serde(rename = "goods_img_type")]
    pub goods_img_type: Option<i32>,
    
    /// 商品goodsSign列表,例如:["c9r2omogKFFAc7WBwvbZU1ikIb16_J3CTa8HNN"],支持通过goodsSign查询商品。goodsSign是加密后的goodsId, goodsId已下线,请使用goodsSign来替代。使用说明:https://jinbao.pinduoduo.com/qa-system?questionId=252
    #[serde(rename = "goods_sign_list")]
    pub goods_sign_list: Option<Vec<String>>,
    
    /// 是否为品牌商品
    #[serde(rename = "is_brand_goods")]
    pub is_brand_goods: Option<bool>,
    
    /// 商品关键词,与opt_id字段选填一个或全部填写。可支持goods_id、拼多多链接(即拼多多app商详的链接)、进宝长链/短链(即为pdd.ddk.goods.promotion.url.generate接口生成的长短链)
    #[serde(rename = "keyword")]
    pub keyword: Option<String>,
    
    /// 翻页时建议填写前页返回的list_id值
    #[serde(rename = "list_id")]
    pub list_id: Option<String>,
    
    /// 店铺类型,1-个人,2-企业,3-旗舰店,4-专卖店,5-专营店,6-普通店(未传为全部)
    #[serde(rename = "merchant_type")]
    pub merchant_type: Option<i32>,
    
    /// 店铺类型数组,例如:[1,2]
    #[serde(rename = "merchant_type_list")]
    pub merchant_type_list: Option<Vec<i32>>,
    
    /// 商品标签类目ID,使用pdd.goods.opt.get获取
    #[serde(rename = "opt_id")]
    pub opt_id: Option<i64>,
    
    /// 默认值1,商品分页数
    #[serde(rename = "page")]
    pub page: Option<i32>,
    
    /// 默认100,每页商品数量
    #[serde(rename = "page_size")]
    pub page_size: Option<i32>,
    
    /// 推广位id
    #[serde(rename = "pid")]
    pub pid: Option<String>,
    
    /// 筛选范围列表 样例:[{"range_id":0,"range_from":1,"range_to":1500},{"range_id":1,"range_from":1,"range_to":1500}]
    #[serde(rename = "range_list")]
    pub range_list: Option<Vec<RangeList>>,
    
    /// 排序方式:0-综合排序;1-按佣金比率升序;2-按佣金比例降序;3-按价格升序;4-按价格降序;5-按销量升序;6-按销量降序;7-优惠券金额排序升序;8-优惠券金额排序降序;9-券后价升序排序;10-券后价降序排序;11-按照加入多多进宝时间升序;12-按照加入多多进宝时间降序;13-按佣金金额升序排序;14-按佣金金额降序排序;15-店铺描述评分升序;16-店铺描述评分降序;17-店铺物流评分升序;18-店铺物流评分降序;19-店铺服务评分升序;20-店铺服务评分降序;27-描述评分击败同类店铺百分比升序,28-描述评分击败同类店铺百分比降序,29-物流评分击败同类店铺百分比升序,30-物流评分击败同类店铺百分比降序,31-服务评分击败同类店铺百分比升序,32-服务评分击败同类店铺百分比降序
    #[serde(rename = "sort_type")]
    pub sort_type: Option<i32>,
    
    /// 是否使用个性化推荐,true表示使用,false表示不使用,默认true。
    #[serde(rename = "use_customized")]
    pub use_customized: Option<bool>,
    
    /// 是否只返回优惠券的商品,false返回所有商品,true只返回有优惠券的商品
    #[serde(rename = "with_coupon")]
    pub with_coupon: Option<bool>,
    
}


/// 多多进宝商品查询
impl Request for PddDdkOauthGoodsSearch {
    fn get_type() -> String {
        "pdd.ddk.oauth.goods.search".to_string()
    }

    fn get_response_name() -> String {
        "goods_search_response".to_string()
    }
}