瀏覽代碼

dingding_hik_cloud

李莎 2 年之前
父節點
當前提交
02e407937d
共有 100 個文件被更改,包括 1944 次插入0 次删除
  1. 8 0
      .idea/.gitignore
  2. 8 0
      .idea/dingding_hik_cloud.iml
  3. 6 0
      .idea/inspectionProfiles/profiles_settings.xml
  4. 4 0
      .idea/misc.xml
  5. 8 0
      .idea/modules.xml
  6. 6 0
      .idea/vcs.xml
  7. 14 0
      Utils/AccessToken.py
  8. 14 0
      Utils/HikAccessToken.py
  9. 111 0
      Utils/HikAddcard.py
  10. 27 0
      Utils/HikAdduser.py
  11. 45 0
      Utils/HikGetUserlist.py
  12. 38 0
      Utils/HikPermissionGroupsPersons.py
  13. 19 0
      Utils/Hik_isToken.py
  14. 28 0
      Utils/JobId.py
  15. 41 0
      Utils/UserId.py
  16. 9 0
      config.json
  17. 29 0
      dingtalk/__init__.py
  18. 2 0
      dingtalk/api/__init__.py
  19. 324 0
      dingtalk/api/base.py
  20. 15 0
      dingtalk/api/rest/CcoserviceServicegroupAddmemberRequest.py
  21. 14 0
      dingtalk/api/rest/CcoserviceServicegroupGetRequest.py
  22. 13 0
      dingtalk/api/rest/CorpBlazersGetbinddataRequest.py
  23. 13 0
      dingtalk/api/rest/CorpBlazersGetbizidRequest.py
  24. 14 0
      dingtalk/api/rest/CorpBlazersRemovemappingRequest.py
  25. 13 0
      dingtalk/api/rest/CorpBlazersUnbindRequest.py
  26. 14 0
      dingtalk/api/rest/CorpCalendarCreateRequest.py
  27. 17 0
      dingtalk/api/rest/CorpChatbotAddchatbotinstanceRequest.py
  28. 14 0
      dingtalk/api/rest/CorpChatbotCreateorgbotRequest.py
  29. 14 0
      dingtalk/api/rest/CorpChatbotInstallRequest.py
  30. 14 0
      dingtalk/api/rest/CorpChatbotListbychatbotidsRequest.py
  31. 15 0
      dingtalk/api/rest/CorpChatbotListorgbotRequest.py
  32. 15 0
      dingtalk/api/rest/CorpChatbotListorgbotbytypeandbottypeRequest.py
  33. 20 0
      dingtalk/api/rest/CorpChatbotUpdatebychatbotidRequest.py
  34. 16 0
      dingtalk/api/rest/CorpChatbotUpdateorgbotRequest.py
  35. 14 0
      dingtalk/api/rest/CorpConversationCorpconversionGetconversationRequest.py
  36. 16 0
      dingtalk/api/rest/CorpConversationCorpconversionListmemberRequest.py
  37. 15 0
      dingtalk/api/rest/CorpDeptgroupSyncuserRequest.py
  38. 15 0
      dingtalk/api/rest/CorpDeviceManageGetRequest.py
  39. 14 0
      dingtalk/api/rest/CorpDeviceManageHasbinddeviceRequest.py
  40. 16 0
      dingtalk/api/rest/CorpDeviceManageQuerylistRequest.py
  41. 15 0
      dingtalk/api/rest/CorpDeviceManageUnbindRequest.py
  42. 16 0
      dingtalk/api/rest/CorpDeviceNickUpdateRequest.py
  43. 19 0
      dingtalk/api/rest/CorpDingCreateRequest.py
  44. 17 0
      dingtalk/api/rest/CorpDingReceiverstatusListRequest.py
  45. 14 0
      dingtalk/api/rest/CorpDingTaskCreateRequest.py
  46. 16 0
      dingtalk/api/rest/CorpEmpSearchRequest.py
  47. 13 0
      dingtalk/api/rest/CorpEncryptionKeyListRequest.py
  48. 14 0
      dingtalk/api/rest/CorpExtAddRequest.py
  49. 15 0
      dingtalk/api/rest/CorpExtListRequest.py
  50. 15 0
      dingtalk/api/rest/CorpExtListlabelgroupsRequest.py
  51. 14 0
      dingtalk/api/rest/CorpExtUpdateRequest.py
  52. 14 0
      dingtalk/api/rest/CorpExtcontactCreateRequest.py
  53. 14 0
      dingtalk/api/rest/CorpExtcontactDeleteRequest.py
  54. 14 0
      dingtalk/api/rest/CorpExtcontactGetRequest.py
  55. 15 0
      dingtalk/api/rest/CorpExtcontactListRequest.py
  56. 15 0
      dingtalk/api/rest/CorpExtcontactListlabelgroupsRequest.py
  57. 14 0
      dingtalk/api/rest/CorpExtcontactUpdateRequest.py
  58. 14 0
      dingtalk/api/rest/CorpHealthStepinfoGetuserstatusRequest.py
  59. 16 0
      dingtalk/api/rest/CorpHealthStepinfoListRequest.py
  60. 15 0
      dingtalk/api/rest/CorpHealthStepinfoListbyuseridRequest.py
  61. 21 0
      dingtalk/api/rest/CorpHrmEmployeeAddresumerecordRequest.py
  62. 15 0
      dingtalk/api/rest/CorpHrmEmployeeDelemployeedismissionandhandoverRequest.py
  63. 14 0
      dingtalk/api/rest/CorpHrmEmployeeGetRequest.py
  64. 16 0
      dingtalk/api/rest/CorpHrmEmployeeGetdismissionlistRequest.py
  65. 15 0
      dingtalk/api/rest/CorpHrmEmployeeModjobinfoRequest.py
  66. 15 0
      dingtalk/api/rest/CorpHrmEmployeeSetuserworkdataRequest.py
  67. 13 0
      dingtalk/api/rest/CorpInvoiceGettitleRequest.py
  68. 13 0
      dingtalk/api/rest/CorpLivenessGetRequest.py
  69. 19 0
      dingtalk/api/rest/CorpMessageCorpconversationAsyncsendRequest.py
  70. 20 0
      dingtalk/api/rest/CorpMessageCorpconversationAsyncsendbycodeRequest.py
  71. 15 0
      dingtalk/api/rest/CorpMessageCorpconversationGetsendprogressRequest.py
  72. 15 0
      dingtalk/api/rest/CorpMessageCorpconversationGetsendresultRequest.py
  73. 18 0
      dingtalk/api/rest/CorpMessageCorpconversationSendmockRequest.py
  74. 19 0
      dingtalk/api/rest/CorpReportListRequest.py
  75. 15 0
      dingtalk/api/rest/CorpRoleAddrolesforempsRequest.py
  76. 14 0
      dingtalk/api/rest/CorpRoleDeleteroleRequest.py
  77. 14 0
      dingtalk/api/rest/CorpRoleGetrolegroupRequest.py
  78. 15 0
      dingtalk/api/rest/CorpRoleListRequest.py
  79. 15 0
      dingtalk/api/rest/CorpRoleRemoverolesforempsRequest.py
  80. 16 0
      dingtalk/api/rest/CorpRoleSimplelistRequest.py
  81. 16 0
      dingtalk/api/rest/CorpSearchCorpcontactBaseinfoRequest.py
  82. 14 0
      dingtalk/api/rest/CorpSmartdeviceAddfaceRequest.py
  83. 14 0
      dingtalk/api/rest/CorpSmartdeviceGetfaceRequest.py
  84. 14 0
      dingtalk/api/rest/CorpSmartdeviceHasfaceRequest.py
  85. 16 0
      dingtalk/api/rest/CorpSmartdeviceReceptionistPushinfoRequest.py
  86. 14 0
      dingtalk/api/rest/CorpUserPersonainfoGetRequest.py
  87. 15 0
      dingtalk/api/rest/IsvBlazersGeneratecodeRequest.py
  88. 16 0
      dingtalk/api/rest/IsvCallCalluserRequest.py
  89. 15 0
      dingtalk/api/rest/IsvCallGetuserlistRequest.py
  90. 14 0
      dingtalk/api/rest/IsvCallRemoveuserlistRequest.py
  91. 14 0
      dingtalk/api/rest/IsvCallSetuserlistRequest.py
  92. 16 0
      dingtalk/api/rest/OapiAiMtTranslateRequest.py
  93. 14 0
      dingtalk/api/rest/OapiAlitripBtripAddressGetRequest.py
  94. 14 0
      dingtalk/api/rest/OapiAlitripBtripApplyGetRequest.py
  95. 14 0
      dingtalk/api/rest/OapiAlitripBtripApplySearchRequest.py
  96. 14 0
      dingtalk/api/rest/OapiAlitripBtripApprovalModifyRequest.py
  97. 14 0
      dingtalk/api/rest/OapiAlitripBtripApprovalNewRequest.py
  98. 14 0
      dingtalk/api/rest/OapiAlitripBtripApprovalUpdateRequest.py
  99. 14 0
      dingtalk/api/rest/OapiAlitripBtripBindTaobaoGetRequest.py
  100. 0 0
      dingtalk/api/rest/OapiAlitripBtripCategoryAddressGetRequest.py

+ 8 - 0
.idea/.gitignore

@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml

+ 8 - 0
.idea/dingding_hik_cloud.iml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="PYTHON_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="jdk" jdkName="Python 3.8 (同步万达报警数据)" jdkType="Python SDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 6 - 0
.idea/inspectionProfiles/profiles_settings.xml

@@ -0,0 +1,6 @@
+<component name="InspectionProjectProfileManager">
+  <settings>
+    <option name="USE_PROJECT_PROFILE" value="false" />
+    <version value="1.0" />
+  </settings>
+</component>

+ 4 - 0
.idea/misc.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (同步万达报警数据)" project-jdk-type="Python SDK" />
+</project>

+ 8 - 0
.idea/modules.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/dingding_hik_cloud.iml" filepath="$PROJECT_DIR$/.idea/dingding_hik_cloud.iml" />
+    </modules>
+  </component>
+</project>

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+  </component>
+</project>

+ 14 - 0
Utils/AccessToken.py

@@ -0,0 +1,14 @@
+# -*- coding: utf-8 -*-
+import dingtalk.api
+def access_token(appkey,appsecret):
+	req= dingtalk.api.rest.OapiGettokenRequest("https://oapi.dingtalk.com/gettoken")
+
+	req.appkey=appkey
+	req.appsecret=appsecret
+	try:
+		resp= req.getResponse()
+		return resp["access_token"]
+	except Exception as e:
+		print(e)
+
+

+ 14 - 0
Utils/HikAccessToken.py

@@ -0,0 +1,14 @@
+import requests
+
+def hik_access_token(client_id,client_secret):
+  data = {
+    "client_id": client_id,
+    "client_secret": client_secret,
+    "grant_type": "client_credentials"
+  }
+  headers = {"content-type": "application/x-www-form-urlencoded"}
+  response =requests.post(url="https://api2.hik-cloud.com/oauth/token",headers=headers,data=data)
+  response_json = response.json()
+  hik_access_token = response_json["access_token"]
+  return hik_access_token
+

+ 111 - 0
Utils/HikAddcard.py

@@ -0,0 +1,111 @@
+import requests
+import json
+import datetime
+import random
+from Utils.HikAccessToken import hik_access_token
+
+def datetime_now():
+    datetimenow = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
+    return datetimenow
+def getcardNo():
+    all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
+    captcha = ''
+    for _ in range(15):
+        a = random.choice(all_chars)
+        captcha += a  # 连接字符串
+    return captcha
+
+def hik_getcard(jobids):
+    card_lists = []
+    for i in jobids:
+        if i is not None:
+            card = {
+                "cardNo": getcardNo(),
+                "cardType": "normalCard",
+                "employeeNo": i
+            }
+            card_lists.append(card)
+    return card_lists
+
+
+
+def hik_addcard(hik_accesstoken,jobids):
+
+
+    headers = {"content-type": "application/json"}
+    data = {
+        "cards": hik_getcard(jobids)
+}
+    print(data)
+    response = requests.post(
+        url="https://api2.hik-cloud.com/api/v1/open/basic/cards/batchCreate?access_token=%s" % hik_accesstoken,
+        headers=headers,
+        data=json.dumps(data)
+    )
+    print(response.json())
+    if response.json()["code"] == 200:
+        print("%s,创建卡片成功"%(datetime_now()))
+    else:
+        print(datetime_now(),response.json()["message"])
+    # return response.text
+
+
+
+if __name__ == '__main__':
+    with open("../config.json") as f:
+        data = json.load(f)
+        appkey = data["appkey"]
+        appsecret = data["appsecret"]
+        client_id = data["client_id"]
+        client_secret = data["client_secret"]
+        groupId = data["groupId"]
+        sleeptime = data["sleeptime"]
+        # 获取Hik token
+        hik_accesstoken = hik_access_token(client_id, client_secret)
+        print(hik_accesstoken)
+        diff_value = ["2900",
+"2810",
+"2820",
+"2967",
+"2988",
+"2999",
+"2832",
+"3014",
+"2819",
+"2899",
+"2812",
+"2966",
+"2884",
+"2997",
+"2975",
+"2813",
+"2892",
+"2865",
+"2906",
+"2983",
+"2823",
+"3082",
+"2989",
+"2881",
+"3043",
+"2879",
+"2888",
+"2954",
+"2811",
+"3034",
+"2902",
+"2863",
+"2821",
+"3024",
+"2974",
+"2816",
+"2903",
+"2973",
+"3015",
+"3078",
+"2993",
+"2862",
+"2860",
+"2893"
+]
+        hik_addcard(hik_accesstoken, list(diff_value))

+ 27 - 0
Utils/HikAdduser.py

@@ -0,0 +1,27 @@
+import requests
+import json
+import datetime
+
+def datetime_now():
+    datetimenow = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
+    return datetimenow
+def hik_adduser(hik_access_token,jobid,name):
+    data = {
+      "employeeNo": jobid,
+      "personName": name
+    }
+    headers = {"content-type": "application/json"}
+    response =requests.post(url="https://api2.hik-cloud.com/api/v1/open/basic/persons/create?access_token=%s"%hik_access_token,headers=headers,data=json.dumps(data))
+    if response.json()["code"] == 200:
+        print("%s,%s(%s)用户添加成功"%(datetime_now(),name,jobid))
+    else:
+        print("%s,%s(%s)%s"%(datetime_now(),name,jobid,response.json()["message"]))
+
+# if __name__ == '__main__':
+#     with open("config.json") as f:
+#         data = json.load(f)
+#         client_id = data["client_id"]
+#         client_secret = data["client_secret"]
+#         groupId = data["groupId"]
+#     hik_accesstoken = hik_access_token(client_id, client_secret)
+#     hik_adduser(hik_accesstoken,"2254","lisand")

+ 45 - 0
Utils/HikGetUserlist.py

@@ -0,0 +1,45 @@
+import requests
+import math
+from Utils.HikAccessToken import hik_access_token
+
+def is_token(response,client_id,client_secret):
+    if response["code"] == 401:
+        hik_accesstoken = hik_access_token(client_id,client_secret)
+        return hik_accesstoken
+
+
+def resp(hik_accesstoken,pageNo,person_dict):
+    response = requests.get(
+        url="https://api2.hik-cloud.com/api/v1/open/basic/persons/list?access_token=%s&pageNo=%s&pageSize=999" %(hik_accesstoken,pageNo)
+    )
+    response = response.json()
+    totalsize = response["data"]["total"]
+    persons = response["data"]["rows"]
+    for person in persons:
+        personId = person["employeeNo"]
+        personName = person["personName"]
+        person_dict[personId] = personName
+    return totalsize,person_dict
+
+def hik_getuserlist(hik_accesstoken):
+    person_dict = {}
+    pageNo = 1
+    totalsize,person_dict = resp(hik_accesstoken,pageNo,person_dict)
+
+
+    page = math.ceil(int(totalsize)/999)
+    while pageNo < page:
+        pageNo = pageNo +1
+        resp(hik_accesstoken, pageNo, person_dict)
+    # print(person_dict)
+    return person_dict
+
+# if __name__ == '__main__':
+#     with open("config.json") as f:
+#         data = json.load(f)
+#         client_id = data["client_id"]
+#         client_secret = data["client_secret"]
+#         groupId = data["groupId"]
+#     hik_accesstoken = hik_access_token(client_id, client_secret)
+#     aa = hik_getuserlist(hik_accesstoken)
+#     print(aa)

+ 38 - 0
Utils/HikPermissionGroupsPersons.py

@@ -0,0 +1,38 @@
+import requests
+import json
+import datetime
+
+def datetime_now():
+    datetimenow = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
+    return datetimenow
+
+
+def hik_permissiongroupspersons(hik_accesstoken,groupId,jobids):
+    headers = {"content-type": "application/json"}
+    data = {
+        "groupId": groupId,
+        "employeeNos": jobids,
+        "autoIssue": "true"
+    }
+    response = requests.post(
+        url="https://api2.hik-cloud.com/api/v1/open/accessControl/permissionGroups/actions/addPersons?access_token=%s" % hik_accesstoken,
+        headers=headers,
+        data=json.dumps(data)
+    )
+    if response.json()["code"] == 200:
+        print("%s,权限组绑定人员成功"%(datetime_now()))
+    else:
+        print(datetime_now(),jobids,response.json()["message"])
+    # return response.json()
+
+
+# if __name__ == '__main__':
+#     with open("config.json") as f:
+#         data = json.load(f)
+#         client_id = data["client_id"]
+#         client_secret = data["client_secret"]
+#         groupId = data["groupId"]
+#     accesstoken = hik_access_token(client_id, client_secret)
+#
+#     jobids = ["10","11"]
+#     hik_permissiongroupspersons(accesstoken,jobids)

+ 19 - 0
Utils/Hik_isToken.py

@@ -0,0 +1,19 @@
+import requests
+from Utils.HikAccessToken import hik_access_token
+
+
+
+def hik_is_token(hik_accesstoken,client_id,client_secret):
+    response = requests.get(
+        url="https://api2.hik-cloud.com/api/v1/open/basic/persons/list?access_token=%s&pageNo=1&pageSize=1" % (
+        hik_accesstoken)
+    )
+    response = response.json()
+    if response["code"] == 401:
+        print("hik token失效,重新获取token")
+        hik_accesstoken = hik_access_token(client_id,client_secret)
+        return hik_accesstoken
+    return hik_accesstoken
+
+
+

+ 28 - 0
Utils/JobId.py

@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+import dingtalk.api
+
+
+def jobid(userid_list,accesstoken):
+	req = dingtalk.api.OapiSmartworkHrmEmployeeListRequest(
+		"https://oapi.dingtalk.com/topapi/smartwork/hrm/employee/list")
+	user_dict = {}
+	for i in range(0,len(userid_list),50):
+		userranges = userid_list[i:i+50]
+		req.userid_list=",".join(userranges)
+		try:
+			resp= req.getResponse(accesstoken)["result"]
+			for user in resp:
+				# userid = user["userid"]
+				field_list = user["field_list"]
+				JobNumber = ""
+				UserName = ""
+				for field in  field_list:
+					# print(field)
+					if field["field_code"] == "sys00-name":
+						UserName = field["value"]
+					if field["field_code"] == "sys00-jobNumber":
+						JobNumber = field["value"]
+				user_dict[JobNumber] = UserName
+		except Exception as e:
+			print(e)
+	return user_dict

+ 41 - 0
Utils/UserId.py

@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+import dingtalk.api
+import json
+from Utils.AccessToken import access_token
+def userid(accesstoken):
+	req = dingtalk.api.OapiSmartworkHrmEmployeeQueryonjobRequest(
+		"https://oapi.dingtalk.com/topapi/smartwork/hrm/employee/queryonjob")
+	req.status_list = "2,3,5,-1"
+	req.offset = 0
+	req.size = 50
+	userid_list = []
+	try:
+		resp= req.getResponse(accesstoken)
+		data_list = resp["result"]["data_list"]
+		userid_list.extend(data_list)
+		if resp["result"]["next_cursor"] is not None:
+			while True:
+				resp = req.getResponse(accesstoken)
+				data_list = resp["result"]["data_list"]
+				userid_list.extend(data_list)
+				if "next_cursor" in resp["result"]:
+					req.offset = resp["result"]["next_cursor"]
+				else:
+					break
+
+	except Exception as e:
+		print(e)
+	print(len(userid_list))
+	return userid_list
+
+
+if __name__ == '__main__':
+	with open("../config.json") as f:
+		data = json.load(f)
+		appkey = data["appkey"]
+		appsecret = data["appsecret"]
+		client_id = data["client_id"]
+		client_secret = data["client_secret"]
+		groupId = data["groupId"]
+		sleeptime = data["sleeptime"]
+	userid(access_token(appkey,appsecret))

+ 9 - 0
config.json

@@ -0,0 +1,9 @@
+{
+  "appkey": "ding0mtsvn3jnxtntykr",
+  "appsecret": "L-4wwQEdectSP6wdoZ1GZI5XJRWl-3KbAMB0P3v6SMFY_hlOlAsFAh3ILlZmS9QU",
+  "client_id": "4929411940d041c7833790e53b3dc9c4",
+  "client_secret":"c6e6570f367c4c4080515ee1f889863b",
+  "groupId": "d9619b66e6e44615b505e7676c0fbb02",
+  "sleeptime": "7200"
+
+}

+ 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'

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


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