李莎 2 years ago
parent
commit
0d4b38cc5e
100 changed files with 1958 additions and 0 deletions
  1. 57 0
      DingTalk.py
  2. 147 0
      Hik.py
  3. 29 0
      dingtalk/__init__.py
  4. 2 0
      dingtalk/api/__init__.py
  5. 324 0
      dingtalk/api/base.py
  6. 15 0
      dingtalk/api/rest/CcoserviceServicegroupAddmemberRequest.py
  7. 14 0
      dingtalk/api/rest/CcoserviceServicegroupGetRequest.py
  8. 13 0
      dingtalk/api/rest/CorpBlazersGetbinddataRequest.py
  9. 13 0
      dingtalk/api/rest/CorpBlazersGetbizidRequest.py
  10. 14 0
      dingtalk/api/rest/CorpBlazersRemovemappingRequest.py
  11. 13 0
      dingtalk/api/rest/CorpBlazersUnbindRequest.py
  12. 14 0
      dingtalk/api/rest/CorpCalendarCreateRequest.py
  13. 17 0
      dingtalk/api/rest/CorpChatbotAddchatbotinstanceRequest.py
  14. 14 0
      dingtalk/api/rest/CorpChatbotCreateorgbotRequest.py
  15. 14 0
      dingtalk/api/rest/CorpChatbotInstallRequest.py
  16. 14 0
      dingtalk/api/rest/CorpChatbotListbychatbotidsRequest.py
  17. 15 0
      dingtalk/api/rest/CorpChatbotListorgbotRequest.py
  18. 15 0
      dingtalk/api/rest/CorpChatbotListorgbotbytypeandbottypeRequest.py
  19. 20 0
      dingtalk/api/rest/CorpChatbotUpdatebychatbotidRequest.py
  20. 16 0
      dingtalk/api/rest/CorpChatbotUpdateorgbotRequest.py
  21. 14 0
      dingtalk/api/rest/CorpConversationCorpconversionGetconversationRequest.py
  22. 16 0
      dingtalk/api/rest/CorpConversationCorpconversionListmemberRequest.py
  23. 15 0
      dingtalk/api/rest/CorpDeptgroupSyncuserRequest.py
  24. 15 0
      dingtalk/api/rest/CorpDeviceManageGetRequest.py
  25. 14 0
      dingtalk/api/rest/CorpDeviceManageHasbinddeviceRequest.py
  26. 16 0
      dingtalk/api/rest/CorpDeviceManageQuerylistRequest.py
  27. 15 0
      dingtalk/api/rest/CorpDeviceManageUnbindRequest.py
  28. 16 0
      dingtalk/api/rest/CorpDeviceNickUpdateRequest.py
  29. 19 0
      dingtalk/api/rest/CorpDingCreateRequest.py
  30. 17 0
      dingtalk/api/rest/CorpDingReceiverstatusListRequest.py
  31. 14 0
      dingtalk/api/rest/CorpDingTaskCreateRequest.py
  32. 16 0
      dingtalk/api/rest/CorpEmpSearchRequest.py
  33. 13 0
      dingtalk/api/rest/CorpEncryptionKeyListRequest.py
  34. 14 0
      dingtalk/api/rest/CorpExtAddRequest.py
  35. 15 0
      dingtalk/api/rest/CorpExtListRequest.py
  36. 15 0
      dingtalk/api/rest/CorpExtListlabelgroupsRequest.py
  37. 14 0
      dingtalk/api/rest/CorpExtUpdateRequest.py
  38. 14 0
      dingtalk/api/rest/CorpExtcontactCreateRequest.py
  39. 14 0
      dingtalk/api/rest/CorpExtcontactDeleteRequest.py
  40. 14 0
      dingtalk/api/rest/CorpExtcontactGetRequest.py
  41. 15 0
      dingtalk/api/rest/CorpExtcontactListRequest.py
  42. 15 0
      dingtalk/api/rest/CorpExtcontactListlabelgroupsRequest.py
  43. 14 0
      dingtalk/api/rest/CorpExtcontactUpdateRequest.py
  44. 14 0
      dingtalk/api/rest/CorpHealthStepinfoGetuserstatusRequest.py
  45. 16 0
      dingtalk/api/rest/CorpHealthStepinfoListRequest.py
  46. 15 0
      dingtalk/api/rest/CorpHealthStepinfoListbyuseridRequest.py
  47. 21 0
      dingtalk/api/rest/CorpHrmEmployeeAddresumerecordRequest.py
  48. 15 0
      dingtalk/api/rest/CorpHrmEmployeeDelemployeedismissionandhandoverRequest.py
  49. 14 0
      dingtalk/api/rest/CorpHrmEmployeeGetRequest.py
  50. 16 0
      dingtalk/api/rest/CorpHrmEmployeeGetdismissionlistRequest.py
  51. 15 0
      dingtalk/api/rest/CorpHrmEmployeeModjobinfoRequest.py
  52. 15 0
      dingtalk/api/rest/CorpHrmEmployeeSetuserworkdataRequest.py
  53. 13 0
      dingtalk/api/rest/CorpInvoiceGettitleRequest.py
  54. 13 0
      dingtalk/api/rest/CorpLivenessGetRequest.py
  55. 19 0
      dingtalk/api/rest/CorpMessageCorpconversationAsyncsendRequest.py
  56. 20 0
      dingtalk/api/rest/CorpMessageCorpconversationAsyncsendbycodeRequest.py
  57. 15 0
      dingtalk/api/rest/CorpMessageCorpconversationGetsendprogressRequest.py
  58. 15 0
      dingtalk/api/rest/CorpMessageCorpconversationGetsendresultRequest.py
  59. 18 0
      dingtalk/api/rest/CorpMessageCorpconversationSendmockRequest.py
  60. 19 0
      dingtalk/api/rest/CorpReportListRequest.py
  61. 15 0
      dingtalk/api/rest/CorpRoleAddrolesforempsRequest.py
  62. 14 0
      dingtalk/api/rest/CorpRoleDeleteroleRequest.py
  63. 14 0
      dingtalk/api/rest/CorpRoleGetrolegroupRequest.py
  64. 15 0
      dingtalk/api/rest/CorpRoleListRequest.py
  65. 15 0
      dingtalk/api/rest/CorpRoleRemoverolesforempsRequest.py
  66. 16 0
      dingtalk/api/rest/CorpRoleSimplelistRequest.py
  67. 16 0
      dingtalk/api/rest/CorpSearchCorpcontactBaseinfoRequest.py
  68. 14 0
      dingtalk/api/rest/CorpSmartdeviceAddfaceRequest.py
  69. 14 0
      dingtalk/api/rest/CorpSmartdeviceGetfaceRequest.py
  70. 14 0
      dingtalk/api/rest/CorpSmartdeviceHasfaceRequest.py
  71. 16 0
      dingtalk/api/rest/CorpSmartdeviceReceptionistPushinfoRequest.py
  72. 14 0
      dingtalk/api/rest/CorpUserPersonainfoGetRequest.py
  73. 15 0
      dingtalk/api/rest/IsvBlazersGeneratecodeRequest.py
  74. 16 0
      dingtalk/api/rest/IsvCallCalluserRequest.py
  75. 15 0
      dingtalk/api/rest/IsvCallGetuserlistRequest.py
  76. 14 0
      dingtalk/api/rest/IsvCallRemoveuserlistRequest.py
  77. 14 0
      dingtalk/api/rest/IsvCallSetuserlistRequest.py
  78. 16 0
      dingtalk/api/rest/OapiAiMtTranslateRequest.py
  79. 14 0
      dingtalk/api/rest/OapiAlitripBtripAddressGetRequest.py
  80. 14 0
      dingtalk/api/rest/OapiAlitripBtripApplyGetRequest.py
  81. 14 0
      dingtalk/api/rest/OapiAlitripBtripApplySearchRequest.py
  82. 14 0
      dingtalk/api/rest/OapiAlitripBtripApprovalModifyRequest.py
  83. 14 0
      dingtalk/api/rest/OapiAlitripBtripApprovalNewRequest.py
  84. 14 0
      dingtalk/api/rest/OapiAlitripBtripApprovalUpdateRequest.py
  85. 14 0
      dingtalk/api/rest/OapiAlitripBtripBindTaobaoGetRequest.py
  86. 14 0
      dingtalk/api/rest/OapiAlitripBtripCategoryAddressGetRequest.py
  87. 14 0
      dingtalk/api/rest/OapiAlitripBtripCostCenterDeleteRequest.py
  88. 14 0
      dingtalk/api/rest/OapiAlitripBtripCostCenterEntityAddRequest.py
  89. 14 0
      dingtalk/api/rest/OapiAlitripBtripCostCenterEntityDeleteRequest.py
  90. 14 0
      dingtalk/api/rest/OapiAlitripBtripCostCenterEntitySetRequest.py
  91. 14 0
      dingtalk/api/rest/OapiAlitripBtripCostCenterModifyRequest.py
  92. 14 0
      dingtalk/api/rest/OapiAlitripBtripCostCenterNewRequest.py
  93. 14 0
      dingtalk/api/rest/OapiAlitripBtripCostCenterQueryRequest.py
  94. 14 0
      dingtalk/api/rest/OapiAlitripBtripCostCenterTransferRequest.py
  95. 14 0
      dingtalk/api/rest/OapiAlitripBtripFlightCitySuggestRequest.py
  96. 14 0
      dingtalk/api/rest/OapiAlitripBtripFlightOrderSearchRequest.py
  97. 14 0
      dingtalk/api/rest/OapiAlitripBtripHotelOrderSearchRequest.py
  98. 14 0
      dingtalk/api/rest/OapiAlitripBtripInvoiceSearchRequest.py
  99. 14 0
      dingtalk/api/rest/OapiAlitripBtripInvoiceSettingAddRequest.py
  100. 0 0
      dingtalk/api/rest/OapiAlitripBtripInvoiceSettingDeleteRequest.py

+ 57 - 0
DingTalk.py

@@ -0,0 +1,57 @@
+import dingtalk.api
+
+
+class DingTalk():
+	def __init__(self,appkey,appsecret,mobile):
+		self.appkey = appkey
+		self.appsecret = appsecret
+		self.mobile = mobile
+
+	def access_token(self):
+		path = "https://oapi.dingtalk.com/gettoken"
+		req= dingtalk.api.rest.OapiGettokenRequest(path)
+
+		req.appkey=self.appkey
+		req.appsecret=self.appsecret
+		try:
+			resp= req.getResponse()
+			return resp["access_token"]
+		except Exception as e:
+			print(e)
+
+
+	def getuserid_bymobile(self):
+		path = "https://oapi.dingtalk.com/topapi/v2/user/getbymobile"
+		req = dingtalk.api.OapiV2UserGetbymobileRequest(path)
+		req.mobile = self.mobile
+		try:
+			resp = req.getResponse(self.access_token())
+			userid = resp["result"]["userid"]
+			return userid
+		except Exception as e:
+			print(e)
+
+
+	def username(self,userid):
+		path = "https://oapi.dingtalk.com/topapi/v2/user/get"
+		req = dingtalk.api.OapiV2UserGetRequest(path)
+		req.userid = userid
+		try:
+			resp = req.getResponse(self.access_token())
+			user_name = resp["result"]["name"]
+			return user_name
+		except Exception as e:
+			print(e)
+
+
+
+
+if __name__ == '__main__':
+	appkey = "dinglmkgry6mibab7tgs"
+	appsecret = "DiJEEMHDt7Mk9X1eb_oFT4Vh-OIeRqN36HtIAbxD8M5Q6VGUvgsfzGRayRkpWO1t"
+	mobile = "15727360513"
+	Ding_Talk = DingTalk(appkey,appsecret,mobile)
+	userid = Ding_Talk.getuserid_bymobile()
+	username = Ding_Talk.username(userid)
+	print(username,userid)
+

+ 147 - 0
Hik.py

@@ -0,0 +1,147 @@
+# coding=utf-8
+import base64
+import hmac
+import json
+import sys
+import threading
+import time
+import uuid
+from hashlib import sha256
+import ssl
+import math
+import random
+# 调用https必须导入
+ssl._create_default_https_context = ssl._create_unverified_context
+
+if (sys.version_info.major == 3):
+    import urllib.request as urllib2
+else:
+    import urllib2
+
+class Hik_iSecure():
+    def __init__(self, host, appKey, appSecret):
+        self.host = host  # 代理API网关nginx服务器ip端口
+        self.appKey = appKey  # 秘钥appkey
+        self.appSecret = appSecret  # 秘钥appSecret
+        self.get_token()
+        # # self.token = ""
+        # flushTokenThread = threading.Thread(target=self.update_token)
+        # flushTokenThread.start()
+        # while 1:  # 等待第一次刷新token完成
+        #     if self.token:
+        #         break
+        #     time.sleep(1)
+
+    def update_token(self):
+        while 1:
+            try:
+                print("Hik_iSecure update token every 11 hours")
+                self.get_token()
+                time.sleep(3600 * 11)
+            except Exception as e:
+                print("update token error: wait for 60 seconds")
+                time.sleep(60)
+
+    ###获取token  12小时需要更新一次
+    def get_token(self):
+        path = "/artemis/api/v1/oauth/token"
+        base_headers = {
+            "Accept": "*/*",
+            "Content-Type": "application/json",
+        }
+        headers = self.build_signature("POST", path, base_headers)
+        # print(headers)
+        post1 = self.post(self.host + path, "", headers)
+        self.token = json.loads(post1)["data"]["access_token"]
+        # print(self.token)
+    def build_signature(self, httpType, url, headers):
+        text = httpType + "\n"
+        for header in sorted(headers):
+            value = str(headers[header])
+            if "x-ca-" in header:
+                value = header + ":" + value
+            text += value
+            text += "\n"
+        text += url
+        sha_ = self.get_sha256(text, self.appSecret)
+        headers["x-ca-signature"] = sha_
+        headers["x-ca-key"] = self.appKey
+        headers["x-ca-nonce"] = str(uuid.uuid4())
+        return headers
+    def post(self, url, postData, headers):  #
+        if isinstance(postData, dict):
+            postData = json.dumps(postData)
+
+        postData = postData.encode("utf-8")
+        req = urllib2.Request(url, data=postData,
+                              headers=headers)
+        res = urllib2.urlopen(req, timeout=60).read().decode("utf-8")
+        # res = urllib2.urlopen(req, timeout=60).read()
+        return res
+    # 获取13位时间戳
+    def get_millisecond(self):
+        millis = int(round(time.time() * 1000))
+        return millis
+
+    def get_sha256(self, data, key):
+        key = key.encode("utf-8")
+        data = data.encode("utf-8")
+        return base64.b64encode(hmac.new(key, data, digestmod=sha256).digest()).decode("utf-8")
+
+
+    def add_user(self,user_name,user_id):
+        url = "/artemis/api/resource/v1/person/single/add"
+        headers = {
+            "access_token": self.token,
+            "Content-Type": "application/json"
+        }
+        certificateNo = ''.join(random.sample("0123456789121234222212312",20))
+        data = {
+        "personName": user_name,
+        "orgIndexCode": "12390179471245",
+        "personId": user_id,
+        "certificateNo": certificateNo,
+        "certificateType": "111"
+        }
+        resp = self.post(self.host + url ,data ,headers)
+        resp = json.loads(resp)["msg"]
+        if resp == "success":
+            print("用户 %s 添加成功,user_id为 %s"%(user_name,user_id))
+            return resp
+        else:
+            print(resp)
+
+    def create_card(self,startDate,endDate,user_id):
+        url = "/artemis/api/cis/v1/card/bindings"
+        headers = {
+            "access_token": self.token,
+            "Content-Type": "application/json"
+        }
+        cardNo = ''.join(random.sample("0123456789121234222212312", 16))
+        data = {
+            "startDate": startDate,
+            "endDate": endDate,
+            "cardList": [
+                {
+                "cardNo": cardNo,
+                "personId": user_id
+                }
+            ]
+        }
+        resp = self.post(self.host + url, data, headers)
+        resp = json.loads(resp)["msg"]
+        if resp == "success":
+            print("用户%s的卡片添加成功"%user_id)
+        else:
+            print(resp)
+
+
+
+
+if __name__ == '__main__':
+    host = "https://192.168.64.44:443"
+    appKey = "25227103"
+    appSecret = "LMGm1LNhAE7zF6Alzqdz"
+    Hik_iSecure = Hik_iSecure(host,appKey,appSecret)
+    Hik_iSecure.add_user("test11","123321")
+

+ 29 - 0
dingtalk/__init__.py

@@ -0,0 +1,29 @@
+'''
+Created on 2018-9-17
+
+@author: xiaoxuan.lp
+'''
+from dingtalk.api.base import sign
+
+
+
+class appinfo(object):
+    def __init__(self,appkey,secret):
+        self.appkey = appkey
+        self.secret = secret
+        
+def getDefaultAppInfo():
+    pass
+
+     
+def setDefaultAppInfo(appkey,secret):
+    default = appinfo(appkey,secret)
+    global getDefaultAppInfo 
+    getDefaultAppInfo = lambda: default
+    
+
+
+
+
+    
+

+ 2 - 0
dingtalk/api/__init__.py

@@ -0,0 +1,2 @@
+from dingtalk.api.rest import *
+from dingtalk.api.base import FileItem

+ 324 - 0
dingtalk/api/base.py

@@ -0,0 +1,324 @@
+# -*- coding: utf-8 -*-
+'''
+Created on 2018-9-17
+
+@author: xiaoxuan.lp
+'''
+
+try: import http.client
+except ImportError:
+    import http.client as httplib
+import urllib.request, urllib.parse, urllib.error
+import time
+import hashlib
+import json
+import dingtalk
+import itertools
+import mimetypes
+import hmac
+import base64
+
+'''
+定义一些系统变量
+'''
+
+SYSTEM_GENERATE_VERSION = "taobao-sdk-python-dynamicVersionNo"
+
+P_APPKEY = "app_key"
+P_API = "method"
+P_ACCESS_TOKEN = "access_token"
+P_VERSION = "v"
+P_FORMAT = "format"
+P_TIMESTAMP = "timestamp"
+P_SIGN = "sign"
+P_SIGN_METHOD = "sign_method"
+P_PARTNER_ID = "partner_id"
+
+P_CODE = 'errcode'
+P_MSG = 'errmsg'
+
+def sign(secret, parameters):
+    #===========================================================================
+    # '''签名方法
+    # @param secret: 签名需要的密钥
+    # @param parameters: 支持字典和string两种
+    # '''
+    #===========================================================================
+    # 如果parameters 是字典类的话
+    if hasattr(parameters, "items"):
+        keys = list(parameters.keys())
+        keys.sort()
+        
+        parameters = "%s%s%s" % (secret,
+            str().join('%s%s' % (key, parameters[key]) for key in keys),
+            secret)
+    sign = hashlib.md5(parameters.encode("utf-8")).hexdigest().upper()
+    return sign
+
+def mixStr(pstr):
+    if(isinstance(pstr, str)):
+        return pstr
+    elif(isinstance(pstr, str)):
+        return pstr.encode('utf-8')
+    else:
+        return str(pstr)
+    
+class FileItem(object):
+    def __init__(self,filename=None,content=None):
+        self.filename = filename
+        self.content = content
+
+class MultiPartForm(object):
+    """Accumulate the data to be used when posting a form."""
+
+    def __init__(self):
+        self.form_fields = []
+        self.files = []
+        self.boundary = "PYTHON_SDK_BOUNDARY"
+        return
+    
+    def get_content_type(self):
+        return 'multipart/form-data;charset=UTF-8; boundary=%s' % self.boundary
+
+    def add_field(self, name, value):
+        """Add a simple field to the form data."""
+        self.form_fields.append((name, str(value)))
+        return
+
+    def add_file(self, fieldname, filename, fileHandle, mimetype=None):
+        """Add a file to be uploaded."""
+        body = fileHandle.read()
+        if mimetype is None:
+            mimetype = mimetypes.guess_type(filename)[0] or 'application/octet-stream'
+        self.files.append((mixStr(fieldname), mixStr(filename), mixStr(mimetype), mixStr(body)))
+        return
+    
+    def __str__(self):
+        """Return a string representing the form data, including attached files."""
+        # Build a list of lists, each containing "lines" of the
+        # request.  Each part is separated by a boundary string.
+        # Once the list is built, return a string where each
+        # line is separated by '\r\n'.  
+        parts = []
+        part_boundary = '--' + self.boundary
+        
+        # Add the form fields
+        parts.extend(
+            [ part_boundary,
+              'Content-Disposition: form-data; name="%s"' % name,
+              'Content-Type: text/plain; charset=UTF-8',
+              '',
+              value,
+            ]
+            for name, value in self.form_fields
+            )
+        
+        # Add the files to upload
+        parts.extend(
+            [ part_boundary,
+              'Content-Disposition: form-data; name="%s"; filename="%s"' % \
+                 (field_name, filename),
+              'Content-Type: %s' % content_type,
+              'Content-Transfer-Encoding: binary',
+              '',
+              body,
+            ]
+            for field_name, filename, content_type, body in self.files
+            )
+        
+        # Flatten the list and add closing boundary marker,
+        # then return CR+LF separated data
+        flattened = list(itertools.chain(*parts))
+        flattened.append('--' + self.boundary + '--')
+        flattened.append('')
+        return '\r\n'.join(flattened)
+
+class TopException(Exception):
+    #===========================================================================
+    # 业务异常类
+    #===========================================================================
+    def __init__(self):
+        self.errcode = None
+        self.errmsg = None
+        self.application_host = None
+        self.service_host = None
+    
+    def __str__(self, *args, **kwargs):
+        sb = "errcode=" + mixStr(self.errcode) +\
+            " errmsg=" + mixStr(self.errmsg) +\
+            " application_host=" + mixStr(self.application_host) +\
+            " service_host=" + mixStr(self.service_host)
+        return sb
+       
+class RequestException(Exception):
+    #===========================================================================
+    # 请求连接异常类
+    #===========================================================================
+    pass
+
+class RestApi(object):
+    #===========================================================================
+    # Rest api的基类
+    #===========================================================================
+    
+    def __init__(self, url=None):
+        #=======================================================================
+        # 初始化基类
+        # Args @param domain: 请求的域名或者ip
+        #      @param port: 请求的端口
+        #=======================================================================
+        if(url == None):
+            raise RequestException("domain must not be empty.")
+        if(url.find('http://') >= 0):
+            self.__port = 80
+            pathUrl = url.replace('http://','')
+        elif(url.find('https://') >= 0):
+            self.__port = 443
+            pathUrl = url.replace('https://','')
+        else:
+            raise RequestException("http protocol is not validate.")
+        
+        index = pathUrl.find('/')
+        if(index > 0):
+            self.__domain = pathUrl[0:index]
+            self.__path = pathUrl[index:]
+        else:
+            self.__domain = pathUrl
+            self.__path = ''
+
+        # print("domain:" + self.__domain + ",path:" + self.__path + ",port:" + str(self.__port))
+        
+    def get_request_header(self):
+        return {
+            'Content-type': 'application/json;charset=UTF-8',
+            "Cache-Control": "no-cache",
+            "Connection": "Keep-Alive",
+        }
+
+    def getHttpMethod(self):
+        return "GET"
+        
+    def getapiname(self):
+        return ""
+    
+    def getMultipartParas(self):
+        return [];
+
+    def getTranslateParas(self):
+        return {};
+    
+    def _check_requst(self):
+        pass
+    
+    def getResponse(self, authrize='',accessKey='',accessSecret='',suiteTicket='',corpId='', timeout=30):
+        #=======================================================================
+        # 获取response结果
+        #=======================================================================
+        if(self.__port == 443):
+            connection = http.client.HTTPSConnection(self.__domain, self.__port, None, None, timeout)
+        else:
+            connection = http.client.HTTPConnection(self.__domain, self.__port, timeout)
+        sys_parameters = {
+            P_PARTNER_ID: SYSTEM_GENERATE_VERSION,
+        }
+        if authrize is not None:
+            sys_parameters[P_ACCESS_TOKEN] = authrize
+        application_parameter = self.getApplicationParameters()
+        sign_parameter = sys_parameters.copy()
+        sign_parameter.update(application_parameter)
+        
+        header = self.get_request_header();
+        if(self.getMultipartParas()):
+            form = MultiPartForm()
+            for key, value in list(application_parameter.items()):
+                form.add_field(key, value)
+            for key in self.getMultipartParas():
+                fileitem = getattr(self,key)
+                if(fileitem and isinstance(fileitem,FileItem)):
+                    form.add_file(key,fileitem.filename,fileitem.content)
+            body = str(form)
+            header['Content-type'] = form.get_content_type()
+        else:
+            body = urllib.parse.urlencode(application_parameter)
+        
+        if(accessKey != ''):
+            timestamp = str(int(round(time.time()))) + '000'
+            print(("timestamp:" + timestamp))
+            canonicalString = self.getCanonicalStringForIsv(timestamp, suiteTicket)
+            print(("canonicalString:" + canonicalString))
+            print(("accessSecret:" + accessSecret))
+            signature = self.computeSignature(accessSecret, canonicalString)
+            print(("signature:" + signature))
+            ps = {}
+            ps["accessKey"] = accessKey
+            ps["signature"] = signature
+            ps["timestamp"] = timestamp
+            if(suiteTicket != ''):
+                ps["suiteTicket"] = suiteTicket
+            if(corpId != ''):
+                ps["corpId"] = corpId
+            queryStr = urllib.parse.urlencode(ps)
+            if (self.__path.find("?") > 0):
+                fullPath = self.__path + "&" + queryStr
+            else:
+                fullPath = self.__path + "?" + queryStr
+            print(("fullPath:" + fullPath))
+        else:
+            if (self.__path.find("?") > 0):
+                fullPath = (self.__path + "&access_token=" + str(authrize)) if len(str(authrize)) > 0 else self.__path
+            else:
+                fullPath = (self.__path + "?access_token=" + str(authrize)) if len(str(authrize)) > 0 else self.__path
+
+        if(self.getHttpMethod() == "GET"):
+            if (fullPath.find("?") > 0):
+                fullPath = fullPath + "&" + body
+            else:
+                fullPath = fullPath + "?" + body
+            connection.request(self.getHttpMethod(), fullPath, headers=header)
+        else:
+            if (self.getMultipartParas()):
+                body = body
+            else:
+                body = json.dumps(application_parameter)
+            connection.request(self.getHttpMethod(), fullPath, body=body, headers=header)
+        response = connection.getresponse()
+        if response.status != 200:
+            raise RequestException('invalid http status ' + str(response.status) + ',detail body:' + response.read())
+        result = response.read()
+        # print("result:" + result)
+        jsonobj = json.loads(result)
+        if P_CODE in jsonobj and jsonobj[P_CODE] != 0:
+            error = TopException()
+            error.errcode = jsonobj[P_CODE]
+            error.errmsg = jsonobj[P_MSG]
+            error.application_host = response.getheader("Application-Host", "")
+            error.service_host = response.getheader("Location-Host", "")
+            raise error
+        return jsonobj
+    
+    def getCanonicalStringForIsv(self, timestamp, suiteTicket):
+        if(suiteTicket != ''):
+            return timestamp + '\n' + suiteTicket
+        else:
+            return timestamp
+
+    def computeSignature(self, secret, canonicalString):
+        message = canonicalString.encode(encoding="utf-8")
+        sec = secret.encode(encoding="utf-8")
+        return str(base64.b64encode(hmac.new(sec, message, digestmod=hashlib.sha256).digest()))
+    
+    def getApplicationParameters(self):
+        application_parameter = {}
+        for key, value in self.__dict__.items():
+            if not key.startswith("__") and not key in self.getMultipartParas() and not key.startswith("_RestApi__") and value is not None :
+                if(key.startswith("_")):
+                    application_parameter[key[1:]] = value
+                else:
+                    application_parameter[key] = value
+        #查询翻译字典来规避一些关键字属性
+        translate_parameter = self.getTranslateParas()
+        for key, value in application_parameter.items():
+            if key in translate_parameter:
+                application_parameter[translate_parameter[key]] = application_parameter[key]
+                del application_parameter[key]
+        return application_parameter

+ 15 - 0
dingtalk/api/rest/CcoserviceServicegroupAddmemberRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CcoserviceServicegroupAddmemberRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.open_group_id = None
+		self.userid = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.ccoservice.servicegroup.addmember'

+ 14 - 0
dingtalk/api/rest/CcoserviceServicegroupGetRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CcoserviceServicegroupGetRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.open_group_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.ccoservice.servicegroup.get'

+ 13 - 0
dingtalk/api/rest/CorpBlazersGetbinddataRequest.py

@@ -0,0 +1,13 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpBlazersGetbinddataRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.blazers.getbinddata'

+ 13 - 0
dingtalk/api/rest/CorpBlazersGetbizidRequest.py

@@ -0,0 +1,13 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpBlazersGetbizidRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.blazers.getbizid'

+ 14 - 0
dingtalk/api/rest/CorpBlazersRemovemappingRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpBlazersRemovemappingRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.biz_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.blazers.removemapping'

+ 13 - 0
dingtalk/api/rest/CorpBlazersUnbindRequest.py

@@ -0,0 +1,13 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpBlazersUnbindRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.blazers.unbind'

+ 14 - 0
dingtalk/api/rest/CorpCalendarCreateRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpCalendarCreateRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.create_vo = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.calendar.create'

+ 17 - 0
dingtalk/api/rest/CorpChatbotAddchatbotinstanceRequest.py

@@ -0,0 +1,17 @@
+'''
+Created by auto_sdk on 2020.09.18
+'''
+from dingtalk.api.base import RestApi
+class CorpChatbotAddchatbotinstanceRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.chatbot_id = None
+		self.icon_media_id = None
+		self.name = None
+		self.open_conversation_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.chatbot.addchatbotinstance'

+ 14 - 0
dingtalk/api/rest/CorpChatbotCreateorgbotRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpChatbotCreateorgbotRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.create_chat_bot_model = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.chatbot.createorgbot'

+ 14 - 0
dingtalk/api/rest/CorpChatbotInstallRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2020.08.17
+'''
+from dingtalk.api.base import RestApi
+class CorpChatbotInstallRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.chatbot_vo = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.chatbot.install'

+ 14 - 0
dingtalk/api/rest/CorpChatbotListbychatbotidsRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2020.09.18
+'''
+from dingtalk.api.base import RestApi
+class CorpChatbotListbychatbotidsRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.chatbot_ids = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.chatbot.listbychatbotids'

+ 15 - 0
dingtalk/api/rest/CorpChatbotListorgbotRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpChatbotListorgbotRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.agent_id = None
+		self.type = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.chatbot.listorgbot'

+ 15 - 0
dingtalk/api/rest/CorpChatbotListorgbotbytypeandbottypeRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2020.09.18
+'''
+from dingtalk.api.base import RestApi
+class CorpChatbotListorgbotbytypeandbottypeRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.bot_type = None
+		self.type = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.chatbot.listorgbotbytypeandbottype'

+ 20 - 0
dingtalk/api/rest/CorpChatbotUpdatebychatbotidRequest.py

@@ -0,0 +1,20 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpChatbotUpdatebychatbotidRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.breif = None
+		self.chatbot_id = None
+		self.description = None
+		self.icon = None
+		self.name = None
+		self.preview_media_id = None
+		self.update_type = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.chatbot.updatebychatbotid'

+ 16 - 0
dingtalk/api/rest/CorpChatbotUpdateorgbotRequest.py

@@ -0,0 +1,16 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpChatbotUpdateorgbotRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.chatbot_id = None
+		self.icon = None
+		self.name = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.chatbot.updateorgbot'

+ 14 - 0
dingtalk/api/rest/CorpConversationCorpconversionGetconversationRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2020.09.21
+'''
+from dingtalk.api.base import RestApi
+class CorpConversationCorpconversionGetconversationRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.open_conversation_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.conversation.corpconversion.getconversation'

+ 16 - 0
dingtalk/api/rest/CorpConversationCorpconversionListmemberRequest.py

@@ -0,0 +1,16 @@
+'''
+Created by auto_sdk on 2020.09.21
+'''
+from dingtalk.api.base import RestApi
+class CorpConversationCorpconversionListmemberRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.count = None
+		self.offset = None
+		self.open_conversation_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.conversation.corpconversion.listmember'

+ 15 - 0
dingtalk/api/rest/CorpDeptgroupSyncuserRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpDeptgroupSyncuserRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.dept_id = None
+		self.userid = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.deptgroup.syncuser'

+ 15 - 0
dingtalk/api/rest/CorpDeviceManageGetRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpDeviceManageGetRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.device_id = None
+		self.device_service_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.device.manage.get'

+ 14 - 0
dingtalk/api/rest/CorpDeviceManageHasbinddeviceRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpDeviceManageHasbinddeviceRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.device_service_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.device.manage.hasbinddevice'

+ 16 - 0
dingtalk/api/rest/CorpDeviceManageQuerylistRequest.py

@@ -0,0 +1,16 @@
+'''
+Created by auto_sdk on 2019.08.14
+'''
+from dingtalk.api.base import RestApi
+class CorpDeviceManageQuerylistRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.cursor = None
+		self.device_service_id = None
+		self.size = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.device.manage.querylist'

+ 15 - 0
dingtalk/api/rest/CorpDeviceManageUnbindRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpDeviceManageUnbindRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.device_id = None
+		self.device_service_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.device.manage.unbind'

+ 16 - 0
dingtalk/api/rest/CorpDeviceNickUpdateRequest.py

@@ -0,0 +1,16 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpDeviceNickUpdateRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.device_id = None
+		self.device_service_id = None
+		self.new_nick = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.device.nick.update'

+ 19 - 0
dingtalk/api/rest/CorpDingCreateRequest.py

@@ -0,0 +1,19 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpDingCreateRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.attachment = None
+		self.creator_userid = None
+		self.receiver_userids = None
+		self.remind_time = None
+		self.remind_type = None
+		self.text_content = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.ding.create'

+ 17 - 0
dingtalk/api/rest/CorpDingReceiverstatusListRequest.py

@@ -0,0 +1,17 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpDingReceiverstatusListRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.confirmed_status = None
+		self.ding_id = None
+		self.page_no = None
+		self.page_size = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.ding.receiverstatus.list'

+ 14 - 0
dingtalk/api/rest/CorpDingTaskCreateRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpDingTaskCreateRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.task_send_v_o = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.ding.task.create'

+ 16 - 0
dingtalk/api/rest/CorpEmpSearchRequest.py

@@ -0,0 +1,16 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpEmpSearchRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.keyword = None
+		self.offset = None
+		self.size = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.emp.search'

+ 13 - 0
dingtalk/api/rest/CorpEncryptionKeyListRequest.py

@@ -0,0 +1,13 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpEncryptionKeyListRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.encryption.key.list'

+ 14 - 0
dingtalk/api/rest/CorpExtAddRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpExtAddRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.contact = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.ext.add'

+ 15 - 0
dingtalk/api/rest/CorpExtListRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpExtListRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.offset = None
+		self.size = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.ext.list'

+ 15 - 0
dingtalk/api/rest/CorpExtListlabelgroupsRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpExtListlabelgroupsRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.offset = None
+		self.size = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.ext.listlabelgroups'

+ 14 - 0
dingtalk/api/rest/CorpExtUpdateRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpExtUpdateRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.contact = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.ext.update'

+ 14 - 0
dingtalk/api/rest/CorpExtcontactCreateRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpExtcontactCreateRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.contact = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.extcontact.create'

+ 14 - 0
dingtalk/api/rest/CorpExtcontactDeleteRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpExtcontactDeleteRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.userid = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.extcontact.delete'

+ 14 - 0
dingtalk/api/rest/CorpExtcontactGetRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpExtcontactGetRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.user_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.extcontact.get'

+ 15 - 0
dingtalk/api/rest/CorpExtcontactListRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpExtcontactListRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.offset = None
+		self.size = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.extcontact.list'

+ 15 - 0
dingtalk/api/rest/CorpExtcontactListlabelgroupsRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpExtcontactListlabelgroupsRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.offset = None
+		self.size = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.extcontact.listlabelgroups'

+ 14 - 0
dingtalk/api/rest/CorpExtcontactUpdateRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpExtcontactUpdateRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.contact = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.extcontact.update'

+ 14 - 0
dingtalk/api/rest/CorpHealthStepinfoGetuserstatusRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpHealthStepinfoGetuserstatusRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.userid = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.health.stepinfo.getuserstatus'

+ 16 - 0
dingtalk/api/rest/CorpHealthStepinfoListRequest.py

@@ -0,0 +1,16 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpHealthStepinfoListRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.object_id = None
+		self.stat_dates = None
+		self.type = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.health.stepinfo.list'

+ 15 - 0
dingtalk/api/rest/CorpHealthStepinfoListbyuseridRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpHealthStepinfoListbyuseridRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.stat_date = None
+		self.userids = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.health.stepinfo.listbyuserid'

+ 21 - 0
dingtalk/api/rest/CorpHrmEmployeeAddresumerecordRequest.py

@@ -0,0 +1,21 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpHrmEmployeeAddresumerecordRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.content = None
+		self.k_v_content = None
+		self.pc_url = None
+		self.phone_url = None
+		self.record_time_stamp = None
+		self.title = None
+		self.userid = None
+		self.web_url = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.hrm.employee.addresumerecord'

+ 15 - 0
dingtalk/api/rest/CorpHrmEmployeeDelemployeedismissionandhandoverRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpHrmEmployeeDelemployeedismissionandhandoverRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.dismission_info_with_hand_over = None
+		self.op_userid = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.hrm.employee.delemployeedismissionandhandover'

+ 14 - 0
dingtalk/api/rest/CorpHrmEmployeeGetRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpHrmEmployeeGetRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.userid = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.hrm.employee.get'

+ 16 - 0
dingtalk/api/rest/CorpHrmEmployeeGetdismissionlistRequest.py

@@ -0,0 +1,16 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpHrmEmployeeGetdismissionlistRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.current = None
+		self.op_userid = None
+		self.page_size = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.hrm.employee.getdismissionlist'

+ 15 - 0
dingtalk/api/rest/CorpHrmEmployeeModjobinfoRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpHrmEmployeeModjobinfoRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.hrm_api_job_model = None
+		self.op_userid = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.hrm.employee.modjobinfo'

+ 15 - 0
dingtalk/api/rest/CorpHrmEmployeeSetuserworkdataRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpHrmEmployeeSetuserworkdataRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.hrm_api_user_data_model = None
+		self.op_userid = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.hrm.employee.setuserworkdata'

+ 13 - 0
dingtalk/api/rest/CorpInvoiceGettitleRequest.py

@@ -0,0 +1,13 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpInvoiceGettitleRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.invoice.gettitle'

+ 13 - 0
dingtalk/api/rest/CorpLivenessGetRequest.py

@@ -0,0 +1,13 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpLivenessGetRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.liveness.get'

+ 19 - 0
dingtalk/api/rest/CorpMessageCorpconversationAsyncsendRequest.py

@@ -0,0 +1,19 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpMessageCorpconversationAsyncsendRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.agent_id = None
+		self.dept_id_list = None
+		self.msgcontent = None
+		self.msgtype = None
+		self.to_all_user = None
+		self.userid_list = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.message.corpconversation.asyncsend'

+ 20 - 0
dingtalk/api/rest/CorpMessageCorpconversationAsyncsendbycodeRequest.py

@@ -0,0 +1,20 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpMessageCorpconversationAsyncsendbycodeRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.agent_id = None
+		self.code = None
+		self.dept_id_list = None
+		self.msgcontent = None
+		self.msgtype = None
+		self.to_all_user = None
+		self.user_id_list = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.message.corpconversation.asyncsendbycode'

+ 15 - 0
dingtalk/api/rest/CorpMessageCorpconversationGetsendprogressRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpMessageCorpconversationGetsendprogressRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.agent_id = None
+		self.task_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.message.corpconversation.getsendprogress'

+ 15 - 0
dingtalk/api/rest/CorpMessageCorpconversationGetsendresultRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpMessageCorpconversationGetsendresultRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.agent_id = None
+		self.task_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.message.corpconversation.getsendresult'

+ 18 - 0
dingtalk/api/rest/CorpMessageCorpconversationSendmockRequest.py

@@ -0,0 +1,18 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpMessageCorpconversationSendmockRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.message = None
+		self.message_type = None
+		self.microapp_agent_id = None
+		self.to_party = None
+		self.to_user = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.message.corpconversation.sendmock'

+ 19 - 0
dingtalk/api/rest/CorpReportListRequest.py

@@ -0,0 +1,19 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpReportListRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.cursor = None
+		self.end_time = None
+		self.size = None
+		self.start_time = None
+		self.template_name = None
+		self.userid = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.report.list'

+ 15 - 0
dingtalk/api/rest/CorpRoleAddrolesforempsRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpRoleAddrolesforempsRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rolelid_list = None
+		self.userid_list = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.role.addrolesforemps'

+ 14 - 0
dingtalk/api/rest/CorpRoleDeleteroleRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpRoleDeleteroleRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.role_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.role.deleterole'

+ 14 - 0
dingtalk/api/rest/CorpRoleGetrolegroupRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpRoleGetrolegroupRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.group_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.role.getrolegroup'

+ 15 - 0
dingtalk/api/rest/CorpRoleListRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpRoleListRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.offset = None
+		self.size = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.role.list'

+ 15 - 0
dingtalk/api/rest/CorpRoleRemoverolesforempsRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpRoleRemoverolesforempsRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.roleid_list = None
+		self.userid_list = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.role.removerolesforemps'

+ 16 - 0
dingtalk/api/rest/CorpRoleSimplelistRequest.py

@@ -0,0 +1,16 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpRoleSimplelistRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.offset = None
+		self.role_id = None
+		self.size = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.role.simplelist'

+ 16 - 0
dingtalk/api/rest/CorpSearchCorpcontactBaseinfoRequest.py

@@ -0,0 +1,16 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpSearchCorpcontactBaseinfoRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.offset = None
+		self.query = None
+		self.size = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.search.corpcontact.baseinfo'

+ 14 - 0
dingtalk/api/rest/CorpSmartdeviceAddfaceRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpSmartdeviceAddfaceRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.face_vo = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.smartdevice.addface'

+ 14 - 0
dingtalk/api/rest/CorpSmartdeviceGetfaceRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.09.03
+'''
+from dingtalk.api.base import RestApi
+class CorpSmartdeviceGetfaceRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.userid = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.smartdevice.getface'

+ 14 - 0
dingtalk/api/rest/CorpSmartdeviceHasfaceRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.12.17
+'''
+from dingtalk.api.base import RestApi
+class CorpSmartdeviceHasfaceRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.userid_list = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.smartdevice.hasface'

+ 16 - 0
dingtalk/api/rest/CorpSmartdeviceReceptionistPushinfoRequest.py

@@ -0,0 +1,16 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class CorpSmartdeviceReceptionistPushinfoRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.desc_content = None
+		self.desc_template = None
+		self.microapp_agent_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.smartdevice.receptionist.pushinfo'

+ 14 - 0
dingtalk/api/rest/CorpUserPersonainfoGetRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.07.25
+'''
+from dingtalk.api.base import RestApi
+class CorpUserPersonainfoGetRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.userid = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.corp.user.personainfo.get'

+ 15 - 0
dingtalk/api/rest/IsvBlazersGeneratecodeRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class IsvBlazersGeneratecodeRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.biz_id = None
+		self.ext = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.isv.blazers.generatecode'

+ 16 - 0
dingtalk/api/rest/IsvCallCalluserRequest.py

@@ -0,0 +1,16 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class IsvCallCalluserRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.authed_corp_id = None
+		self.authed_staff_id = None
+		self.staff_id = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.isv.call.calluser'

+ 15 - 0
dingtalk/api/rest/IsvCallGetuserlistRequest.py

@@ -0,0 +1,15 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class IsvCallGetuserlistRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.offset = None
+		self.start = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.isv.call.getuserlist'

+ 14 - 0
dingtalk/api/rest/IsvCallRemoveuserlistRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class IsvCallRemoveuserlistRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.staff_id_list = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.isv.call.removeuserlist'

+ 14 - 0
dingtalk/api/rest/IsvCallSetuserlistRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.03
+'''
+from dingtalk.api.base import RestApi
+class IsvCallSetuserlistRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.staff_id_list = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.isv.call.setuserlist'

+ 16 - 0
dingtalk/api/rest/OapiAiMtTranslateRequest.py

@@ -0,0 +1,16 @@
+'''
+Created by auto_sdk on 2020.08.05
+'''
+from dingtalk.api.base import RestApi
+class OapiAiMtTranslateRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.query = None
+		self.source_language = None
+		self.target_language = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.ai.mt.translate'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripAddressGetRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2021.02.24
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripAddressGetRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.request = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.address.get'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripApplyGetRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2021.09.26
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripApplyGetRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.apply.get'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripApplySearchRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2021.09.26
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripApplySearchRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.apply.search'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripApprovalModifyRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2021.11.03
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripApprovalModifyRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.approval.modify'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripApprovalNewRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2021.11.03
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripApprovalNewRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.approval.new'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripApprovalUpdateRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.07.01
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripApprovalUpdateRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.approval.update'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripBindTaobaoGetRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2020.02.19
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripBindTaobaoGetRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.request = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.bind.taobao.get'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripCategoryAddressGetRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.08.07
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripCategoryAddressGetRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.category.address.get'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripCostCenterDeleteRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.08.07
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripCostCenterDeleteRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.cost.center.delete'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripCostCenterEntityAddRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.08.07
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripCostCenterEntityAddRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.cost.center.entity.add'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripCostCenterEntityDeleteRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.08.07
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripCostCenterEntityDeleteRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.cost.center.entity.delete'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripCostCenterEntitySetRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.08.07
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripCostCenterEntitySetRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.cost.center.entity.set'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripCostCenterModifyRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.08.07
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripCostCenterModifyRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.cost.center.modify'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripCostCenterNewRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.08.07
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripCostCenterNewRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.cost.center.new'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripCostCenterQueryRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.08.07
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripCostCenterQueryRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.cost.center.query'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripCostCenterTransferRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2018.08.07
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripCostCenterTransferRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.cost.center.transfer'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripFlightCitySuggestRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2019.10.24
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripFlightCitySuggestRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.flight.city.suggest'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripFlightOrderSearchRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2022.01.18
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripFlightOrderSearchRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.flight.order.search'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripHotelOrderSearchRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2021.12.27
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripHotelOrderSearchRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.hotel.order.search'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripInvoiceSearchRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2021.04.27
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripInvoiceSearchRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.invoice.search'

+ 14 - 0
dingtalk/api/rest/OapiAlitripBtripInvoiceSettingAddRequest.py

@@ -0,0 +1,14 @@
+'''
+Created by auto_sdk on 2020.11.30
+'''
+from dingtalk.api.base import RestApi
+class OapiAlitripBtripInvoiceSettingAddRequest(RestApi):
+	def __init__(self,url=None):
+		RestApi.__init__(self,url)
+		self.rq = None
+
+	def getHttpMethod(self):
+		return 'POST'
+
+	def getapiname(self):
+		return 'dingtalk.oapi.alitrip.btrip.invoice.setting.add'

+ 0 - 0
dingtalk/api/rest/OapiAlitripBtripInvoiceSettingDeleteRequest.py


Some files were not shown because too many files changed in this diff