package common type WithfileuploadSignatory struct { // core:true 【签署方类型】签署方类型 【作用】 指定签署方类型 1、组织签署方:需签署的组织,可设置签署节点(签字、审批、签章、执业章签署等) 2、个人签署方:需签署的个人,只支持个人签字 3、批量个人签署方:可在一份文件中一次性添加多个签署方,并支持批量指定签署 【传参】 取值范围:COMPANY(组织),PERSONAL(个人),S_P_BATCH(批量个人签署方)。 TenantType string `json:"tenantType"` // core:true 【签署方名称】签署方名称 【传参】 1、组织签署方需传入工商营业执照上的真实单位名称;个人签署方传入个人真实姓名。 2、最大长度:200(包含)。 3、请勿传入错误,否则会导致认证不通过。 4、组织签署方统一社会信用代码和签署方名称必传1项。 TenantName string `json:"tenantName,omitempty"` // core:true 【经办人姓名】经办人姓名 【作用】 1、指定组织签署方的经办人姓名 2、个人签署方无需传入该参数,将使用tenantName作为签署方姓名 ReceiverName string `json:"receiverName,omitempty"` // core:true 【经办人证件号】经办人证件号 【作用】 1、用于查询用户,作为组织签署方的经办人或个人签署方 【传参】 1、传入该参数查询用户,若用户不存在时,则使用证件号创建新用户,并将该用户加入组织。新建用户时默认证件类型为“大陆身份证”。 2、证件号查询到多个用户时,优先取已实名的用户,若存在多个实名用户,则优先取最近登录或通过接口进行操作的用户。 3、证件号、联系方式均传入时,则以证件号为准查询用户,并校验联系方式是否被占用,若占用则返回报错提示。 4、没有绑定联系方式,仅通过证件号创建的用户,只能通过扫脸登录的方式登录电子签章系统(扫脸登录为付费功能,需联系电子签章系统管理员开启功能)。 5、使用证件号创建的新用户,或查询到的未认证用户,将使用此证件号进行实名认证 6、与经办人实名认证的证件号(cardNo)同时传入时以此参数为准 CardId string `json:"cardId,omitempty"` // core:true 【经办人联系方式】经办人联系方式 【作用】 1、用于查询用户,作为组织签署方的经办人或个人签署方 【传参】 1、可传入用户手机号或者邮箱。 2、手机号允许使用大陆、港澳台、国际手机号,手机号格式为:区号+空格+手机号,例:852 9xxxxxxx ,大陆手机号可以不传区号。 3、邮箱需传入符合格式的字符串,例:xxxxxxxx@163.com。 4、未传入证件号时,可传入该参数查询用户,若用户不存在时,则使用传入的联系方式创建新用户,并将该用户加入组织。 5、若证件号和联系方式同时传入,则以证件号为准查询用户,并校验联系方式是否被占用,若占用则返回报错提示。 Contact string `json:"contact,omitempty"` // core:true 【经办人成员编号】经办人成员编号 【传参】 1、当未传入证件号、联系方式时,可使用成员编号、第三方业务系统用户id查询用户,作为组织签署方的经办人,或个人签署方。 2、成员编号、第三方业务系统用户id均传入时,以成员编号为准。 3、若使用成员编号查询用户,若用户不存在,则将使用传入的成员编号创建新用户,并将该用户加入组织。 ReceiverNumber string `json:"receiverNumber,omitempty"` // core:true 【经办人第三方业务系统用户id】经办人第三方业务系统用户id 【作用】 1、当未传入证件号、联系方式时,可使用成员编号、第三方业务系统用户id查询用户,作为组织签署方的经办人,或个人签署方。 2、成员编号、第三方业务系统用户id均传入时,以成员编号为准。 3、使用该参数查询用户,若用户不存在时,将会报错提示。 OpenUserId string `json:"openUserId,omitempty"` // core:true 【业务系统标识】业务系统标识 【作用】 1:根据第三方业务系统用户id查询系统成员/用户信息时使用 2:涉及到多套业务系统集成且不同系统间第三方业务系统用户id可能重复时需要传入该参数 SystemCode string `json:"systemCode,omitempty"` // format:email;deprecated:true 【经办人邮箱】经办人邮箱 【作用】 当传入contact且传参为手机号,若该接收人未绑定邮箱,可传入该参数为接收人绑定邮箱 Email string `json:"email,omitempty"` // 【批量个人签署方信息】批量个人签署方信息 【作用】 可一次性传入多个个人签署方信息,最多支持300个 【传参】 当tenantType(签署方类型)传值为S_P_BATCH(批量个人签署方)时,此参数必填 BatchSignatoryInfo []*BatchSignatoryInfo `json:"batchSignatoryInfo,omitempty"` // core:true 【签署方编号】签署方编号 【作用】 支持业务系统传入签署方唯一标识,方便后续通过此唯一标识定位签署方,一份电子签约文件中每个签署方的编号不允许重复 SignatoryNo string `json:"signatoryNo,omitempty"` // 【统一社会信用代码】统一社会信用代码 【作用】 通过统一社会信用代码查询指定单位作为签署方 【传参】 1、同时传入统一社会信用代码和签署方名称时,优先根据统一社会信用代码查询单位: (1)查询到的单位名称与传入签署方名称一致,则指定单位为签署方 (2)查询到的单位名称与传入签署方名称不一致时,若单位未认证则更新单位名称,若单位已认证则会在签署时提示签署方重新进行单位认证 2、若统一社会信用代码未能查询到单位时,将使用组织签署方名称新建单位,若单位名称已存在,将会返回报错 3、组织签署方统一社会信用代码和签署方名称必传1项 CompanyRegisterNo string `json:"companyRegisterNo,omitempty"` // core:true 【签署方签署顺序】签署方签署顺序 【传参】 1、需按顺序签署,可分别设置签署方的serialNo为1,2,3。 2、需无序签署,可设置签署方的serialNo为1,1,1或 2,2,2 ,只要数字一样,则代表相同的签署顺序。 3、自定义定义顺序,可设置serialNo为1,2,2,3,4,4,6,7时,则表示第一个先签署,后两个同时签署; 第4个第3个顺序签署,依次类推。 4、签署方传入了签署顺序,以传入的为准,未传入顺序的签署方将按添加的顺序生成serialNo,例如有3个签署方,则按添加顺序将serialNo设置为1,2,3。 【特殊说明】 1、用印流程的签署方为非预设,或预设但允许发起时添加/删除预设签署方,则此参数传入的签署顺序生效 2、用印流程中预设了签署方且不允许发起时添加/删除预设签署方,则传入的签署方顺序将无效,将按照用印流程中预设顺序进行签署 SerialNo *int64 `json:"serialNo"` // core:true;deprecated:true 【内部接收方用印流程id】内部接收方用印流程id 【作用】 如文件中需内部法人单位作为接收方进行组织签章时,需要指定内部法人单位所使用的印章和签章人时,可通过此参数指定电子签章平台提前预设好的用印流程。签署时将使用该用印流程-发起主体中预设的第一个组织签章节点指定的印章范围和签章人,作为此内部法人单位组织签章节点的印章和签章人 【传参】 用印流程id和用印名称必传其一,均传入以用印流程id为准。 CategoryId string `json:"categoryId,omitempty"` // core:true;deprecated:true 【内部接收方用印流程名称】内部接收方用印流程名称 【传参】 用印流程id和用印名称必传其一,均传入以用印流程id为准。 CategoryName string `json:"categoryName,omitempty"` // core:true 【签署节点】签署节点 【作用】 即组织签署方下可设置不同的签署节点进行签署,如组织签署、个人签字、审批 【特殊说明】 外部组织签署方仅支持指定签署人,不能指定印章id Actions []*WithfileuploadAction `json:"actions,omitempty"` // 【批量签署位置】批量签署位置 【作用】 1、可针对批量个人签署方指定一个签署区域,所包含的个人签署方都在这个签署区域内进行签署 2、可以设置一个签署位置的起始位置和大小,系统将根据这个位置和大小从左到右、从上到下,为每个签署方依次生成一个签署位置 【传参】 仅在当tenantType(签署方类型)传值为S_P_BATCH(批量个人签署方)时,生效 BatchSignatoryRects []*BatchSignatoryRect `json:"batchSignatoryRects,omitempty"` // 【个人认证方式】个人认证方式 【作用】 签署方内的用户未认证时,可指定其个人认证方式 【传参】 取值范围:NONEED(无需认证),DEFAULT(默认实名认证方式,手机号、银行卡、人脸识别认证任选一种),FACE(人脸识别认证),BANK(银行卡认证),IVSANDFACE(手机号+人脸识别认证),BANKANDFACE(银行卡+人脸识别认证);不传值默认为:用印流程配置。 AuthMode string `json:"authMode,omitempty"` // 【个人认证的证件类型】个人认证的证件类型 【作用】 签署方内的用户未认证时,可指定其个人认证时使用的默认证件类型 【传参】 取值范围:IDCARD(二代身份证),PASSPORT(护照),HKMP(港澳通行证),MTPS(台胞证),OTHER(其他);不传值默认为:idCARD(二代身份证)。 PaperType string `json:"paperType,omitempty"` // 【经办人实名认证的证件号】经办人实名认证的证件号 【作用】 组织签署方经办人和个人签署方未认证时,可指定其认证时的默认证件号;若该用户已认证,此参数不会生效 【传参】 与经办人证件号(cardID)同时传入时,以经办人证件号(cardID)为准 CardNo string `json:"cardNo,omitempty"` // 【认证时可修改项】认证时可修改项 【作用】 用于控制组织签署方经办人和个人签署方在实名认证时,可以修改哪些接口传入的信息 【传参】 1、取值范围:NONE(所有参数都不允许修改),NAME(姓名),CARDNO(证件号),MOBILE(手机号),BANKNO(银行账号),BANKPHONE(银行预留手机号);可选多项;不传值默认为:除了手机号外所有参数都允许修改。 2、如同时传了NONE和其他参数,接口将会报错。其他值可传入多项,传入的值即代表可以修改。 ModifyFields []string `json:"modifyFields,omitempty"` SignAuthConfig *SignAuthConfigBean `json:"signAuthConfig"` // 【是否全文浏览后才能签署】是否全文浏览后才能签署 【传参】 取值范围:true(需全文浏览),false(无需全文浏览);不传值默认为:用印流程配置。 【特殊说明】 若为用印流程预设的签署方,将忽略该接口传参,使用流程预设配置 ViewAllContract *bool `json:"viewAllContract,omitempty"` // deprecated:true 【个人签名类型要求】个人签名类型要求 【作用】 签署方下的个人进行签字时可使用的签名类型,包括: 1、系统签名:系统自动生成的签名 2、自定义签名:手写或上传图片生成的签名 3、Ukey签名:使用Ukey中的数字证书和章面签署 4、移动签名:使用移动设备中存储的数字证书和章面进行签署 【传参】 取值范围:PersonalSeal_System(系统签名),PersonalSeal_Custom(自定义签名),PersonalSeal_Ukey(Ukey签名),PersonalSeal_Mobile(移动签名);可选多项;不传值默认为:用印流程配置。 【特殊说明】 仅对非预设签署方有效(非预设签署方:不是流程中预设的签署方,而是发起时接口添加的签署方) PersonalSealType string `json:"personalSealType,omitempty"` // 【个人签名类型要求】个人签名类型要求 【作用】 签署方下的个人进行签字时可使用的签名类型,包括: 1、系统签名:系统自动生成的签名 2、自定义签名:手写或上传图片生成的签名 3、系统名章:用户创建时或实名认证后,系统按用户姓名自动生成的名章 4、自定义名章:用户在个人中心或签署页选择章模或上传图片制作的名章 5、Ukey签名:使用Ukey中的数字证书和章面签署 6、移动签名:使用移动设备中存储的数字证书和章面进行签署 【传参】 取值范围:PersonalSignature_System(系统签名),PersonalSignature_Custom(自定义签名),PersonalSeal_System(系统名章),PersonalSeal_Custom(自定义名章),PersonalSeal_Ukey(Ukey签名),PersonalSeal_Mobile(移动签名);可选多项;不传值默认为:用印流程配置。 【特殊说明】 仅对非预设签署方有效(非预设签署方:不是流程中预设的签署方,而是发起时接口添加的签署方) PersonalRequireSealType string `json:"personalRequireSealType,omitempty"` // 【是否每次需重新手写个人签名】是否每次需重新手写个人签名 【传参】 取值范围:true(每次重新手写),false(使用已有签名);不传值默认为:用印流程配置。 【特殊说明】 1、签署方允许使用的签名类型要求中包括“自定义签名”时才会生效,如果指定使用个人名章或系统签名,则不生效 2、若为用印流程预设的签署方,将忽略该接口传参,使用流程预设配置 NeedHandwrittenSeal *bool `json:"needHandwrittenSeal,omitempty"` // 【是否允许经办人修改签署节点】是否允许经办人修改签署节点 【作用】 通过此参数可控制接收方经办人,是否允许修改签署节点信息,包括组织签章节点的印章/签章人、个人签字的签批人 【传参】 取值范围:true(允许),false(不允许);不传值默认为:false(不允许)。 ChangeSigner *bool `json:"changeSigner,omitempty"` // deprecated:true 【指定签字人备注】指定签字人备注 InviteRemark string `json:"inviteRemark,omitempty"` // 【是否允许当面签】是否允许当面签 【作用】 实际签署场景中,可能个人接收方就在发起方对面(如线下开户场景),且不方便操作(如未携带手机时),个人接收方可以直接在发起方设备操作进行认证、签署 【传参】 取值范围:true(允许当面签),false(不允许当面签);不传值默认为:用印流程配置。 FaceSign *bool `json:"faceSign,omitempty"` // 【当面签设备】当面签设备 【作用】 个人签署方可使用的当面签设备 【传参】 取值范围:PC_MOBILE(电脑或手机),INTEGRATED_MACHINE(一体机);不传值默认为:取用印流程配置。 FaceSignMethod string `json:"faceSignMethod,omitempty"` // 【一体机品牌型号】一体机品牌型号 【作用】 一体机当面签时,指定一体机的品牌型号 【传参】 取值范围:M30A (捷宇M30A,目前仅支持这种型号) IntegratedMachineModel string `json:"integratedMachineModel,omitempty"` // 【未实名用户确认签署时在一体机读取身份证】 未实名用户确认签署时在一体机读取身份证 【作用】 未实名的用户可通过一体机读取身份证的方式获取姓名和证件号,指定是否必须读取身份 【传参】 取值范围:READ_ID_CARD(必须读取身份证信息) ,READ_ID_CARD_BY_SPONSOR(允许发起人操作跳过读取身份证)。 ReadUserAuthInfoMethod string `json:"readUserAuthInfoMethod,omitempty"` // 【消息提醒】消息提醒 【作用】 轮到该签署方签署时,该签署方下所有签署人是否发送消息通知 【传参】 1、取值范围:true(发送),false(不发送);不传值默认为:true(发送)。 2、若用印流程中关闭消息通知,则该参数传参无效,将不发送消息通知 Remind *bool `json:"remind,omitempty"` // 【签署方语言】签署方语言 【作用】 指定签署方登录系统时,默认的系统页面语言环境 【传参】 取值范围:zh_CN(中文),en_US(英文);不传值默认为:zh_CN(中文)。 Language string `json:"language,omitempty"` // 【是否添加员工】是否添加员工 【作用】 组织签署方中传入未加入组织经办人或签署节点的签署人时,是否加入对应的签署方所在法人单位;该参数仅对为内部组织的签署方生效,接收方默认都加入,不受此参数控制 【传参】 取值范围:true(添加),false(不添加);不传值默认为:true(添加)。 AddEmployee *bool `json:"addEmployee,omitempty"` // 【签署方在指定位置必须签署】签署方在指定位置必须签署 【作用】 控制签署方是否在指定位置必须签署,当前参数未传入时取文件签署要求中mustSign(指定位置必须签署)的参数值,传入了值以传入的为准,未传入值时,取用印流程配置。 【传参】 取值范围:true(必须签署),false(不必须签署);不传值取文件签署要求mustSign(指定位置必须签署)的配置。 MustSign *bool `json:"mustSign,omitempty"` // 【签署方在指定位置外可签署】签署方在指定位置外可签署 【作用】 控制签署方是否在指定位置必须签署,当前参数未传入时取文件签署要求中extraSign(指定位置外可签署)的参数值,传入了值以传入的为准,未传入值时,取用印流程配置。 【传参】 取值范围:true(可签署),false(不可签署);不传值取文件签署要求extraSign(指定位置外可签署)的配置。 CanExtraSign *bool `json:"canExtraSign,omitempty"` }