ContractSignurlSendRequest.go 13 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package contract_request
  2. import (
  3. "encoding/json"
  4. "git.sxidc.com/student-physical-examination/contract_lock_sdk/http"
  5. "git.sxidc.com/student-physical-examination/contract_lock_sdk/model/common"
  6. )
  7. type ContractSignurlSendRequest struct {
  8. // <ext>core:true;format:string</ext> 【电子签约文件id】电子签约文件id 【作用】 查询需获取签署页面的电子签约文件 【传参】 电子签约文件id和第三方业务系统文件id必传其一,均传入以电子签约文件id为准
  9. ContractId *int64 `json:"contractId,omitempty"`
  10. // <ext>core:true</ext> 【第三方系统文件id】第三方业务系统文件id 【作用】 查询需获取签署页面的电子签约文件 【传参】 电子签约文件id和第三方业务系统文件id必传其一,均传入以电子签约文件id为准
  11. BizId string `json:"bizId,omitempty"`
  12. // <ext>core:true;format:string;deprecated:true</ext> 【签署方ID】签署方ID 【特殊说明】 (公司ID/个人ID),和tenantName不能同时为空
  13. TenantId *int64 `json:"tenantId,omitempty"`
  14. // <ext>core:true</ext> 【签署方名称】签署方名称 【作用】 查询需发送通知的签署方,未查询到时将新增签署方
  15. TenantName string `json:"tenantName,omitempty"`
  16. // <ext>core:true</ext> 【签署方类型】签署方类型 【作用】 查询需发送通知的签署方,未查询到时将新增签署方 【传参】 取值范围:COMPANY(组织),PERSONAL(个人)。
  17. TenantType string `json:"tenantType"`
  18. // <ext>core:true</ext> 【经办人姓名】经办人姓名 【作用】 1、查询到签署方时,不生效 2、新增签署方时,指定组织签署方的经办人姓名 3、新增个人签署方无需传入该参数,将使用tenantName作为签署方姓名
  19. ReceiverName string `json:"receiverName,omitempty"`
  20. // <ext>core:true</ext> 【经办人联系方式】经办人联系方式 【作用】 1、查询到签署方时,用于获取对应用户的签署页面 2、新增签署方时,用于查询用户。用于作为组织签署方的经办人或个人签署方 【传参】 1、可传入用户手机号或者邮箱。 2、手机号允许使用大陆、港澳台、国际手机号,手机号格式为:区号+空格+手机号,例:852 9xxxxxxx ,大陆手机号可以不传区号。 3、邮箱需传入符合格式的字符串,例:xxxxxxxx@163.com。 4、传入该参数查询用户时,若用户不存在时,则使用传入的联系方式创建新用户,并将该用户加入组织
  21. Contact string `json:"contact,omitempty"`
  22. // <ext>core:true</ext> 【经办人邮箱】经办人邮箱 【作用】 1、查询到签署方时,用于获取对应用户的签署页面 2、新增签署方时,用于查询用户。用于作为组织签署方的经办人或个人签署方 【传参】 1、邮箱需传入符合格式的字符串,例:xxxxxxxx@163.com。 2、传入该参数查询用户时,若用户不存在时,则使用传入的联系方式创建新用户,并将该用户加入组织
  23. Email string `json:"email,omitempty"`
  24. // <ext>core:true</ext> 【经办人成员编号】经办人成员编号 【作用】 1、查询到签署时,用于获取对应用户的签署页面 2、新增签署方时,用于查询用户。用于作为组织签署方的经办人或个人签署方 【传参】 1、当未传入经办人联系方式、邮箱时,可使用经办人成员编号、经办人第三方业务系统用户id查询用户,作为组织签署方的经办人,或个人签署方。 2、经办人成员编号、经办人第三方业务系统用户id均传入时,以经办人成员编号为准。 3、若使用经办人成员编号查询用户时,若用户不存在时,则将使用传入的成员编号创建新用户,并将该用户加入组织。
  25. ReceiverNumber string `json:"receiverNumber,omitempty"`
  26. // <ext>core:true</ext> 【经办人第三方业务系统用户id】经办人第三方业务系统用户id 【作用】 1、查询到签署时,用于获取对应用户的签署页面 2、新增签署方时,用于查询用户。用于作为组织签署方的经办人或个人签署方 【传参】 1、当未传入经办人联系方式、邮箱时,可使用经办人成员编号、经办人第三方业务系统用户id查询用户,作为组织签署方的经办人,或个人签署方。 2、经办人成员编号、经办人第三方业务系统用户id均传入时,以经办人成员编号为准。 3、使用该参数查询用户,若用户不存在时,将会报错提示。
  27. OpenUserId string `json:"openUserId,omitempty"`
  28. // 【接收人证件号】接收人证件号 【作用】 接收人未认证时,可指定接收人认证时的默认证件号;若接收人已认证,此参数不会生效 【传参】 传入签署方已存在时,参数不生效
  29. CardNo string `json:"cardNo,omitempty"`
  30. // 【回调参数】回调参数 【作用】 用户签署完成后或退回电子签约,将该参数通过回调函数返回(旧参数,建议使用【用印流程】中配置的回调)
  31. CallbackParam string `json:"callbackParam,omitempty"`
  32. // 【回调Header参数】回调Header参数 【作用】 用户签署完成后或退回电子签约,将该参数通过回调函数返回(旧参数,建议使用【用印流程】中配置的回调) 【传参】 Json格式。
  33. CallbackHeader string `json:"callbackHeader,omitempty"`
  34. // 【签署节点】签署节点 【作用】 新增签署方时,组织签署方下可设置不同的签署节点进行签署,如组织签署、个人签字、审批 【传参】 传入签署方已存在时,参数不生效 【特殊说明】 外部组织签署方仅支持指定签署人,不能指定印章id
  35. Actions []*common.ContractSignurlSendActionsRequest `json:"actions,omitempty"`
  36. // 【签署位置】签署位置 【作用】 传入签署方已存在时,覆盖更新签署位置
  37. Locations []*common.SignatoryRect `json:"locations,omitempty"`
  38. // 【是否允许添加相同个人签署方】是否允许添加相同个人签署方 【作用】 控制电子签约中是否允许添加重复的个人签署方 【传参】 取值范围:true(允许),false(不允许);不传值默认为:false(不允许)。 【特殊说明】 已存在的个人签署方签署完成后,才可以新增重复个人签署方
  39. PersonalRepeatAllow *bool `json:"personalRepeatAllow,omitempty"`
  40. // 【认证时可修改项】认证时可修改项 【作用】 用于控制接收人在实名认证时可以修改哪些接口传入的信息 【传参】 1、取值范围:NONE(所有参数都不允许修改),NAME(姓名),CARDNO(证件号),MOBILE(手机号),BANKNO(银行账号),BANKPHONE(银行预留手机号);可选多项;不传值默认为:除了手机号外所有参数都允许修改。 2、如同时传了NONE和其他参数,接口将会报错。其他值可传入多项,传入的值即代表可以修改。 3、传入签署方已存在时,参数不生效。
  41. ModifyFields []string `json:"modifyFields,omitempty"`
  42. // 【个人认证的证件类型】个人认证的证件类型 【作用】 签署方内的用户未认证时,可指定其个人认证时使用的默认证件类型 【传参】 1、取值范围:IDCARD(二代身份证),PASSPORT(护照),HKMP(港澳通行证),MTPS(台胞证),OTHER(其他);不传值默认为:IDCARD(二代身份证)。 2、传入签署方已存在时,参数不生效。
  43. PaperType string `json:"paperType,omitempty"`
  44. // 【个人签名类型要求】个人签名类型要求 【作用】 签署方下的个人进行签字时可使用的签名类型,包括: 1、系统签名:系统自动生成的签名 2、自定义签名:手写或上传图片生成的签名 3、Ukey签名:使用Ukey中的数字证书和章面签署 4、移动签名:使用移动设备中存储的数字证书和章面进行签署 【传参】 取值范围:PersonalSeal_System(系统签名),PersonalSeal_Custom(自定义签名),PersonalSeal_Ukey(Ukey签名),PersonalSeal_Mobile(移动签名);不传值默认为:用印流程配置。 【特殊说明】 仅对非预设签署方有效(非预设签署方:不是流程中预设的签署方,而是发起时接口添加的签署方)
  45. PersonalSealType string `json:"personalSealType,omitempty"`
  46. // 【是否全文浏览后才能签署】是否全文浏览后才能签署 【传参】 取值范围:true(需全文浏览),false(无需全文浏览);不传值默认为:用印流程配置。 【特殊说明】 若为用印流程预设的签署方,将忽略该接口传参,使用流程预设配置
  47. ViewAllContract *bool `json:"viewAllContract,omitempty"`
  48. // 【是否每次需重新手写个人签名】是否每次需重新手写个人签名 【传参】 取值范围:true(每次重新手写),false(使用已有签名);不传值默认为:用印流程配置。 【特殊说明】 1、签署方允许使用的签名类型要求中包括“自定义签名”时才会生效,如果指定使用个人名章或系统签名,则不生效 2、若为用印流程预设的签署方,将忽略该接口传参,使用流程预设配置
  49. NeedHandwrittenSeal *bool `json:"needHandwrittenSeal,omitempty"`
  50. // 【是否允许当面签】是否允许当面签 【作用】 实际签署场景中,可能个人接收方就在发起方对面(如线下开户场景),且不方便操作(如未携带手机时),个人接收方可以直接在发起方设备操作进行认证、签署 【传参】 取值范围:true(允许当面签),false(不允许当面签);不传值默认为:用印流程配置。
  51. FaceSign *bool `json:"faceSign,omitempty"`
  52. // 【当面签设备】当面签设备 【作用】 个人签署方可使用的当面签设备 【传参】 取值范围:PC_MOBILE (电脑或手机),INTEGRATED_MACHINE (一体机);不传值默认为:取用印流程配置。
  53. FaceSignMethod string `json:"faceSignMethod,omitempty"`
  54. // 【未实名用户确认签署时在一体机读取身份证】未实名用户确认签署时在一体机读取身份证 【作用】 未实名的用户可通过一体机读取身份证的方式获取姓名和证件号,指定是否必须读取身份 【传参】 取值范围:READ_ID_CARD(必须读取身份证信息),READ_ID_CARD_BY_SPONSOR (允许发起人操作跳过读取身份证)。
  55. ReadUserAuthInfoMethod string `json:"readUserAuthInfoMethod,omitempty"`
  56. // 【是否忽略remind参数并发送通知】是否忽略remind参数并发送通知 【作用】 1、/contract/createbycategory中可对签署方、签署节点传入remind参数控制是否需要发送签署通知,remind传入false时调用发送通知接口不会发送通知 2、此参数可设置忽略remind设置,仍然发送消息通知 【传参说明】 取值范围:true(忽略),false(不忽略);不传值默认为false(不忽略)。
  57. NoticeIgnoreRemind *bool `json:"noticeIgnoreRemind,omitempty"`
  58. // 【文件浏览时长要求】 文件浏览时长要求 【作用】 控制签署方需要在浏览时长达到配置要求后,才能进行签署 【传参】 1、最小值:1(包含),最大值:200(包含);不传值默认为:用印流程配置。 2、单位:秒。 3、传入1则代表至少需要浏览1s后,才能进行签署。 【特殊说明】 1、创建签署流程时,若用印流程预设签署方,将忽视接口传参,使用流程预设配置。后续可通过相关修改接口更改该值。
  59. ViewTime *int64 `json:"viewTime,omitempty"`
  60. // 【是否允许经办人修改签署节点】是否允许经办人修改签署节点 【作用】 通过此参数可控制接收方经办人,是否允许修改签署节点信息,包括组织签章节点的印章/签章人、个人签字的签批人 【传参】 取值范围: true(允许),false(不允许);不传值默认为false(不允许)。
  61. ChangeSigner *bool `json:"changeSigner,omitempty"`
  62. // 【指定签字人备注】指定签字人备注 【作用】 为外部接收方添加个人签字节点时,可传入备注内容作为提示,例如传入“该文件需要您签字,麻烦您看一下”
  63. InviteRemark string `json:"inviteRemark,omitempty"`
  64. // 【统一社会信用代码】统一社会信用代码 【作用】 通过统一社会信用代码查询指定单位作为签署方 【传参】 1、同时传入统一社会信用代码、签署方名称时,按传入参数取交集查询指单位作为组织签署方。 2、统一社会信用代码和签署方名称查到多个单位时,将会报错。 3、统一社会信用代码和签署方名称找不到单位时,将会根据传入信息新建单位。 4、仅对外部法人单位生效
  65. CompanyRegisterNo string `json:"companyRegisterNo,omitempty"`
  66. }
  67. func (obj ContractSignurlSendRequest) GetUrl() string {
  68. return "/contract/signurl/send"
  69. }
  70. func (obj ContractSignurlSendRequest) GetHttpParameter() *http.HttpParameter {
  71. parameter := http.NewPostHttpParameter()
  72. jsonBytes, _ := json.Marshal(obj)
  73. parameter.SetJsonParamer(string(jsonBytes))
  74. return parameter
  75. }