package common


type SignurlActions struct {
	// <ext>core:true</ext> 【签署节点类型 】签署节点类型  【作用】 1、组织签章：即组织使用单位数字证书以及印章进行签署 2、法定代表人签署：即签署方所属单位的法定代表人（或法人章的签章人）使用法人章或法人签名进行签署 3、个人签字：即个人使用个人数字证书以及个人签名进行签署 4、个人审批：用印流程若设置了审批节点，业务系统若也有审批，可通过此参数，同步将电子签章系统中的审批节点同步审批完成 5、经办人签字：即由组织签署方的经办人进行签字 6、个人执业章签章：即个人使用个人执业章进行签署  7、会签签章：即一个节点中需要签署多个印章或多个签字，仅支持组织签章会签、个人签字会签、个人审批会签、个人执业章会签，传入会签签章，childs参数必传 【传参】  取值范围：CORPORATE（组织签章），LP（法定代表人签署），PERSONAL（个人签字），AUDIT（个人审批），OPERATOR（经办人签字），PRACTICE（个人执业章签章），COUNTERSIGN(会签签章) 。
	Type_ string `json:"type,omitempty"`
	// <ext>core:true</ext> 【签署节点名称】签署节点名称 【作用】 可自定义签署节点名称，不传值将使用节点类型作为节点名称。如组织签章节点，可自定义命名为公司盖章
	Name string `json:"name,omitempty"`
	// <ext>core:true</ext> 【签署节点编号】签署节点编号 【作用】 可传入业务系统自行定义的签署节点的唯一编号，方便后续通过此参数定位签署节点，一个签署方下每个签署节点的编号不允许重复
	ActionNo string `json:"actionNo,omitempty"`
	// <ext>core:true</ext> 【会签动作】会签动作 【传参】 当type（签署节点类型）是COUNTERSIGN（会签）时必填。
	Childs []*SignurlActions `json:"childs,omitempty"`
	// <ext>core:true</ext> 【签署节点签署顺序】签署节点签署顺序 【传参】 1、如果想按顺序签署，可分别设置签署动作的serialNo为1,2,3;  2、如果想无序签署，则设置签署动作的serialNo为1,1,1； 设置serialNo为1,2,2时，则表示第一个先签署，后两个同时签署； 3、自定义定义顺序，可设置serialNo为1,2,2,3,4,4,6,7时，则表示第一个节点先签署，后两个同时签署； 第4个第3个顺序签署，依次类推； 【特殊说明】 1、用印流程的签署方为非预设，或预设但允许发起时添加/删除预设签署方，则此参数传入的签署顺序生效。 2、用印流程为预设且不允许发起时添加/删除预设的签署方，则签署节点将按照用印流程中预设的顺序依次匹配，传入的签署顺序将无效，如节点类型与预设不一致将报错。
	SerialNo *int64 `json:"serialNo,omitempty"`
	// <ext>core:true</ext> 【手动/自动签署】手动/自动签署 【作用】 1、组织签章节点、法定代表人签字节点、个人签字节点均支持设置自动签与静默签 2、手动签：由签署人在签署页面在文件添加印章或签名以及完成意愿校验后进行签署 3、自动签：由电子签章系统自动签署。当节点类型为组织签章和法定代表人签字时，actionOperators未传入，则无签署人；若actionOperators传入，在自动签失败情况下，将由传入的签署人手动签署；当节点类型为个人签字时，actionOperators需要传入作为签字人 4、第三方业务系统静默签：由业务系统调用印章/法人/个人静默签接口完成签署，无签署人 【传参】 取值范围：MANUAL（手动签），AUTO（自动签），SILENT（第三方业务系统静默签）；不传值默认为：MANUAL（手动签）。
	ActionOperatorRule string `json:"actionOperatorRule,omitempty"`
	// <ext>core:true</ext> 【签署人】签署人 【作用】 指定签署节点的签署人，例如审批节点的审批人、签章节点的签章人、个人签字节点签字人等。 【传参】 1、证件号、联系方式、成员编号必传其一，传入多个时只按最高优先级查询，优先级为证件号＞联系方式＞成员编号。 2、若用户不存在时，则使用传入的参数创建用户。使用证件号新建用户时默认证件类型为“大陆身份证”。 【特殊说明】 组织签章节点未指定签署人时，会通知所有可用印章下所有签章人进行签署。
	ActionOperators []*ActionOperatorInfo `json:"actionOperators,omitempty"`
	CorporateSignTypeSetting *CorporateSignTypeSetting `json:"corporateSignTypeSetting,omitempty"`
	// <ext>core:true;format:string</ext> 【印章id】印章id 【作用】 签署节点类型为“组织签章”时，可传入印章id指定组织签章节点所用印章，仅支持传入一个印章。 【传参】 指定具体印章时，印章id、印章id集合、印章名称集合必传其一，传入多个参数时只按参数中最高优先级查询，优先级为：印章id>印章id集合>印章名称集合。 【特殊说明】 1、仅对内部法人单位生效。 2、用印流程预设的组织签章节点，传入的印章必须符合流程预设的要求。例如，流程预设公章类型，传入的印章不属于公章类型时，会抛出异常。
	SealId *int64 `json:"sealId,omitempty"`
	// <ext>core:true</ext> 【印章id集合】印章id集合 【作用】 签署节点类型为“组织签章”时，可传入多个印章id指定组织签章所用的印章。 【传参】 1、格式：[123123123213,123213213213]。 2、指定具体印章时，印章id、印章id集合、印章名称集合必传其一，传入多个参数时只按参数中最高优先级查询，优先级为：印章id>印章id集合>印章名称集合。 【特殊说明】 1、仅对内部法人单位生效。 2、用印流程预设的组织签章节点，传入的印章必须符合流程预设的要求。例如，流程预设公章类型，传入的印章不属于公章类型时，会抛出异常。
	SealIds string `json:"sealIds,omitempty"`
	// <ext>core:true</ext> 【印章名称集合】印章名称集合 【作用】 签署节点类型为“组织签章”时，可传入印章名称指定法人单位签章所用印章 【传参】 1、格式：[\"企业公章\",\"合同章\"] 2、指定具体印章时，印章id、印章id集合、印章名称集合必传其一，传入多个参数时只按参数中最高优先级查询，优先级为：印章id>印章id集合>印章名称集合。 【特殊说明】 1、仅对内部法人单位生效。 2、用印流程预设的组织签章节点，传入的印章必须符合流程预设的要求。例如，流程预设公章类型，传入的印章不属于公章类型时，会抛出异常。
	SealNames string `json:"sealNames,omitempty"`
	// <ext>core:true;format:string</ext> 【印章所属组织id】印章所属组织id 【作用】 签署节点类型为“组织签章”时，需指定所用印章的所属组织。 【传参】 1、仅在印章id、印章id集合、印章名称集合不传时生效。 2、可同时传入印章所属组织id、印章类型、印章自定义字段，传入多项时根据传入的参数取交集，获取印章范围。 【特殊说明】 1、当用印流程中已预设印章所属组织时，将使用预设的印章所属组织，传参不一致时将报错。 2、发起主体未传入组织id时，会取发起主体对应的组织作为印章所属组织； 接收方未传入组织id时，会取接收方对应的法人单位。 3、对内部法人单位和外部法人单位都生效。
	SealOwner *int64 `json:"sealOwner,omitempty"`
	// <ext>core:true</ext> 【印章类型】印章类型 【作用】 签署节点类型为“组织签章”时，可指定所用的印章类型 【传参】 1、仅在印章id、印章id集合、印章名称集合不传时生效。 2、可同时传入印章所属组织id、印章类型、印章自定义字段，传入多项时根据传入的参数取交集，获取印章范围。 【特殊说明】 1、印章类型不存在或者类型与用印流程中设置的类型不一致时，会抛出异常。 2、对内部法人单位和外部法人单位都生效。
	SealCategoryName string `json:"sealCategoryName,omitempty"`
	// <ext>core:true</ext> 【印章自定义字段】印章自定义字段 【作用】 签署节点类型为“组织签章”时，可使用印章自定义字段指定所用的印章范围 【传参】 1、仅在印章id、印章id集合、印章名称集合不传时生效。 2、可同时传入印章所属组织id、印章类型、印章自定义字段，传入多项时根据传入的参数取交集，获取印章范围。 【特殊说明】 仅对内部法人单位生效
	SealCustomFields []*SealCustomField `json:"sealCustomFields,omitempty"`
	// <ext>core:true</ext> 【个人签名id】个人签名id 【传参】 指定签名时，签名id、签名类型、签名分类必传其一，传入多个参数时只按参数中最高优先级查询，优先级为：签名id>签名类型>签名分类。 【特殊说明】 1、仅支持个人签署方，及组织签署方中的个人签字节点、法人签字节点。 2、若个人签名签署要求指定使用系统签名或无外观签名，则传入的指定签名信息不生效。
	PerSealId string `json:"perSealId,omitempty"`
	// <ext>core:true</ext> 【个人签名类型】个人签名类型 【传参】 指定签名时，签名id、签名类型、签名分类必传其一，传入多个参数时只按参数中最高优先级查询，优先级为：签名id>签名类型>签名分类。 【特殊说明】 1、签名类型可在电子签约管理后台-签名类型管理中维护。 2、若个人签名签署要求指定使用系统签名或无外观签名或无外观签名或无外观签名，则传入的指定签名信息不生效。
	PersonSealCategoryName string `json:"personSealCategoryName,omitempty"`
	// <ext>core:true</ext> 【个人签名分类】个人签名分类 【传参】 1、取值范围：PERSON_SIGN（个人签名），PERSON_SEAL（个人名章）。 2、指定签名时，签名id、签名类型、签名分类必传其一，传入多个参数时只按参数中最高优先级查询，优先级为：签名id>签名类型>签名分类。 【特殊说明】 若个人签名签署要求指定使用系统签名或无外观签名或无外观签名，则传入的指定签名信息不生效。
	PersonSealCarrier string `json:"personSealCarrier,omitempty"`
	// <ext>core:true</ext> 【指定签名不存在时，允许使用默认签名/默认名章签署】指定签名不存在时，允许使用默认签名/默认名章签署 【传参】 1、取值范围：true（允许），false（不允许）；不传值默认为：true（允许）。 2、若存在默认签名，则优先使用默认签名签署；若无默认签名，则使用默认名章签署。
	AllowUseDefaultPerSeal string `json:"allowUseDefaultPerSeal,omitempty"`
	// <ext>core:true</ext> 【档案章单元格内容】 档案章单元格内容 【作用】 1、通常为档案管理系统在文件材料归档时加盖归档章，用于指示档案在全宗中的位置，便于档案的管理和利用 2、通过此参数可预设档案章中的单元格文字，预设后，签署时添加的档案章将默认使用此参数传入的文字，但允许签署人修改 【特殊说明】 1、若指定的印章范围包含多个档案章，以下参数将对所有档案章都生效；若单元格位置和key值跟定位到的档案章不匹配，则不生效
	ArchivalSealContents []*ActionArchivalSealContent `json:"archivalSealContents,omitempty"`
	// <ext>core:true</ext> 【用途章样式名称】用途章样式名称 【作用】 用于指定需要可加盖的用途章样式 【传参】 1、格式：[\"用途章\",\"空白章\"]。 2、未传时，则所有样式均可用。
	PurposeNames string `json:"purposeNames,omitempty"`
	// <ext>core:true</ext> 【用途章文字】用途章文字 【作用】 1、用印流程可设置签署时允许在文件上加盖用途章，给文件做标记，避免重要的文件被乱用。如“此件仅供XXX使用，其他用途无效” 2、此参数用于预设用途章的用途内容，签署时添加的用途章将默认使用此说明文字，但允许签署人修改 【特殊说明】 若用印流程不允许添加用途章或者用途章不需要输入用途内容时，此参数传入的值无效。
	PurposeText string `json:"purposeText,omitempty"`
	// <ext>core:true</ext> 【签署位置】签署位置
	Locations []*SignatoryRect `json:"locations,omitempty"`
	// <ext>core:true</ext> 【消息提醒】消息提醒 【作用】 轮到当前签署节点签署时，该节点所有签署人是否发送消息通知（若签署人有手机号则发送短信通知，若有邮箱则发送邮件通知，若均有则均发送） 【传参】 1、取值范围：true（发送），false（不发送）；不传值默认为：true（发送）。 2、当用印流程配置不发送消息提醒时，该参数无效，将不会发送消息提醒。
	Remind *bool `json:"remind,omitempty"`
	// 【是否自动签】是否自动签署  【作用】  控制签署动作动作是否自动签署  【特殊说明】 1、仅对内部发起方或内部接收方的法人单位签章、签字动作和个人接收方签字动作有效，且必须要指定有效的签署位置。 2、需要具备印章管理权限的角色授权业务系统调用单位数字证书和印章外观，才可自动签章。 3、需个人授权业务系统调用数字证书和签名外观后，才可自动签字。可通【2.6.2.1.1 个人签名静默签署授权连接】接口进行签名授权或前往电子签约系统个人中心进行签名授权
	AutoSign *bool `json:"autoSign,omitempty"`
	// 【用印次数限制】用印次数限制 【作用】 1、指定签署位置时，可指定的签名/印章位置的用印次数 2、签署时，可签署的印章/签名数量的用印次数 【传参】 1、最小值：0（包含），最大值：9999（包含）。 2、单位：次。 【特殊说明】 1、仅对个人签名、法人签名、法人章、组织签章、执业章生效，对签署日期、批注不生效 2、骑缝章合并加盖会计算为1次
	SealPositionSize *int64 `json:"sealPositionSize,omitempty"`
	// <ext>core:true</ext> 【按位置类型设置用印次数】按位置类型设置用印次数 【作用】 1、签署节点类型为“组织签章”或“个人执业章”时，可通过rectType（位置类型）分别设置节点可签署的正文章次数、骑缝章次数 2、签署节点类型为“个人签字”或“法定代表人签字”时，可通过rectType（位置类型）分别设置节点可签署的正文签名次数、骑缝签名次数 【特殊说明】 1、当sealPositionSize（用印次数限制）与此参数均传入时，以此参数传入的配置生效。 2、每种签章类型rectType仅支持传入1项，若传入多项会返回报错
	RectTypeSizeConfigs []*ActionRectTypeSizeConfigs `json:"rectTypeSizeConfigs,omitempty"`
	// <ext>core:true</ext> 【多个印章用印次数限制】多个印章用印次数限制 【作用】 1、action内传入sealds时，可通过此参数中的sealId（印章id）分别指定每个印章的用印次数； 2、未传入rectType（位置类型）时，则控制正文章和骑缝章加在一起的合计次数； 3、传入rectType（位置类型）时可分别控制每个印章可加盖的正文章次数、骑缝章次数 【特殊说明】 当sealPositionSize（用印次数限制）、rectTypeSizeConfigs（按位置类型限制用印次数）与此参数均传入时，以此参数传入的配置生效。
	SealSizeConfigs []*SealSizeConfig `json:"sealSizeConfigs,omitempty"`
	// 【按文档设置用印次数】按文档设置用印次数 【作用】 1、当电子签约中包含多个签署文档时，可按签署文档指定签名/印章位置的用印次数； 2、未传入rectType（位置类型）时，则控制正文章和骑缝章加在一起的合计次数。传入rectType（位置类型）时可分别控制每个印章可加盖的正文章次数、骑缝章次数； 3、action内传入sealds时，可通过此参数中的sealId（印章id）分别指定每个印章的用印次数；未传入sealId（印章id）时则所有印章统一计算次数； 【特殊说明】 1、当sealPositionSize（用印次数限制）、rectTypeSizeConfigs（按位置类型限制用印次数）、sealSizeConfigs（多个印章用印次数限制）与此参数均传入时，以此参数传入的配置生效。 2、sealId和rectType可选择性传入，以满足不同场景 3、当同一文档出现多种类型的用印次数，优先级为：位置类型+印章id>仅印章id＞仅位置类型＞不区分印章和位置类型 4、当同一文档的同一类型传入多个用印次数时，优先取最大次数
	DocumentSizeConfigs []*DocumentSizeConfig `json:"documentSizeConfigs,omitempty"`
	// <ext>core:true</ext> 【用印次数校验方式】用印次数校验方式 【作用】 控制文件上最终实际签署次数与用印次数之间的校验方式，包括3种： 1、实际签署必须小于等于用印次数 2、实际签署必须等于用印次数 3、实际签署必须大于等于用印次数 【传参】 取值范围：NOT_MUST_SIGN（小于等于），MUST_SIGN（等于），NOT_LESS_SIGN（大于等于）；不传值默认为：NOT_MUST_SIGN（小于等于）。 【特殊说明】 1、仅对个人签名、法人签名、法人章、组织签章、执业章生效，对签署日期、批注不生效； 2、骑缝章合并加盖会计算为1次
	SealPositionSignType string `json:"sealPositionSignType,omitempty"`
}
