
1、代码
#!/usr/bin/python3# -*- Coding: utf-8 -*-# @Time : 2020/3/29 0021 下午 19:40# @Author : xiaozhi!# @filename: pdd_API# @Software: PyCharmimport timeimport hashlibimport requestsfrom urllib.parse import urlencodeclass PddAPI:host = "https://gw-API.pinduoduo.com/API/router?"headers = {"accept": "application/Json"}def __init__(self, ID=None, token=None, secret=None):"""初始化"""self.clIEnt_ID = IDself.secret = secretself.access_token = tokenself.data_type = "JsON"def sign_md5(self, params):"""对拼接好的字符串进行md5签名"""hl = hashlib.md5()hl.update(params.encode(enCoding='utf-8'))return hl.hexdigest().upper()def splice_str(self):"""升序排序请求参数,连接字符串,并在首尾加上clIEnt_secret"""self.timestamp = f"{time.time()}".split(".")[0]pdd_dict = self.__dict__.copy()secret = self.secretdel pdd_dict["secret"]reverse_List = sorted([(k, str(v)) for k, v in pdd_dict.items()], key=lambda x:x[0])reverse_List.insert(0, ("", secret))reverse_List.append(("", secret))reverse_List_str = List(map(lambda x: "".join(x), reverse_List))params = "".join(reverse_List_str)return params, pdd_dictdef urlencode_data(self, params, pdd_dict):pdd_dict["sign"] = self.sign_md5(params)result = urlencode(pdd_dict)url = f"{self.host}{result}"return urldef pdd_order_List_get(self, **kwargs):"""获取订单列表kwargs: order_status=None, refund_status=None, start_confirm_at=None, end_confirm_at=None,page=None, page_size=None"""res_type = "pdd.order.List.get"self.type = res_typefor k, v in kwargs.items():setattr(self, k, v)params, pdd_dict = self.splice_str()url = self.urlencode_data(params, pdd_dict)return self.response_Json(url=url)def pdd_order_information_get(self, order_sn=None):"""获取订单详情"""res_type = "pdd.order.information.get"self.order_sn = order_snself.type = res_typeparams, pdd_dict = self.splice_str()url = self.urlencode_data(params, pdd_dict)return self.response_Json(url=url)def pdd_order_status_get(self, order_sns=None):"""订单状态"""res_type = "pdd.order.status.get"self.order_sns = order_snsself.type = res_typeparams, pdd_dict = self.splice_str()url = self.urlencode_data(params, pdd_dict)return self.response_Json(url=url)def pdd_erp_order_sync(self, **kwargs):"""erp打单信息同步,kwargs: order_sn=None, order_state=None, waybill_no=None, logistics_ID=None"""res_type = "pdd.erp.order.sync"self.type = res_typefor k, v in kwargs.items():setattr(self, k, v)params, pdd_dict = self.splice_str()url = self.urlencode_data(params, pdd_dict)return self.response_Json(url=url)def pdd_order_number_List_increment_get(self, **kwargs):"""订单增量接口kwargs: is_lucky_flag=None, order_state=None, start_updated_at=None, end_updated_at=None,page_size=None,page=None, refund_status=None"""res_type = "pdd.order.number.List.increment.get"self.type = res_typefor k, v in kwargs.items():setattr(self, k, v)params, pdd_dict = self.splice_str()url = self.urlencode_data(params, pdd_dict)return self.response_Json(url=url)def response_Json(self, url):res = requests.post(url=url, headers=self.headers)return res.Json()
2、调用:
3、结果:
总结以上是内存溢出为你收集整理的python实现拼多多订单接口API全部内容,希望文章能够帮你解决python实现拼多多订单接口API所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)