signfields_change.py 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. # -*- coding: UTF-8 -*-
  2. import esigntool
  3. import requests
  4. from esigntool import esign_run_print_outer
  5. # 合同文件签署服务API - 签署区 - 变更类
  6. config = esigntool.config() # 初始化配置类
  7. @esign_run_print_outer
  8. def addSignFields():
  9. """
  10. 追加签署区
  11. :return:
  12. """
  13. body = {
  14. "signers": [
  15. {
  16. "noticeConfig": {
  17. "noticeTypes": "1"
  18. },
  19. "psnSignerInfo": {
  20. "psnAccount": "153****0000"
  21. },
  22. "signConfig": {
  23. "forcedReadingTime": 10,
  24. "signOrder": 2
  25. },
  26. "signFields": [
  27. {
  28. "customBizNum": "202201010001",
  29. "fileId": "0e99de7c***09db2cd69",
  30. "remarkSignFieldConfig": {
  31. "aiCheck": 0,
  32. "freeMode": True,
  33. "movableSignField": True,
  34. "remarkContent": "我已阅读并知悉",
  35. "remarkFontSize": 20,
  36. "signFieldHeight": 100,
  37. "signFieldPosition": {
  38. "acrossPageMode": "",
  39. "positionPage": "1",
  40. "positionX": 100,
  41. "positionY": 100
  42. },
  43. "signFieldWidth": 100
  44. },
  45. "signFieldType": 1
  46. }
  47. ],
  48. "signerType": 0
  49. }
  50. ]
  51. } # 构建请求body体
  52. sign_flowId = "df********grgter" # 声明变量入参
  53. api_path = "/v3/sign-flow/{}/signers/sign-fields".format(sign_flowId) # 拼接请求路径
  54. method = esigntool.httpMethodEnum.POST # 声明请求方法
  55. json_headers = esigntool.buildSignJsonHeader(config.appId, config.scert,
  56. method, api_path, body) # 签名并构造签名鉴权json请求头
  57. resp = requests.request(method, config.host + api_path, json=body, headers=json_headers) # 发送请求
  58. print(resp.text)
  59. return resp
  60. @esign_run_print_outer
  61. def deleteSignFields():
  62. """
  63. 删除签署区
  64. :return:
  65. """
  66. sign_flowId = "df********grgter" # 声明变量入参
  67. sign_FieldIds = "xxx1,xxx2" # 声明变量入参
  68. api_path = "/v3/sign-flow/{}/signers/sign-fields?signFieldIds={}".format(sign_flowId, sign_FieldIds) # 拼接请求路径
  69. method = esigntool.httpMethodEnum.DELETE # 声明请求方法
  70. json_headers = esigntool.buildSignJsonHeader(config.appId, config.scert,
  71. method, api_path) # 签名并构造签名鉴权json请求头
  72. resp = requests.request(method, config.host + api_path, json=None, headers=json_headers) # 发送请求
  73. print(resp.text)
  74. return resp
  75. if __name__ == '__main__':
  76. addSignFields() # 追加签署区
  77. deleteSignFields() # 删除签署区