package contract_request

import (
	"encoding/json"
	"git.sxidc.com/student-physical-examination/contract_lock_sdk/http"
	"git.sxidc.com/student-physical-examination/contract_lock_sdk/model/common"
)

type ContractSignurlV3Request struct {
	// <ext>core:true;format:string</ext> 【电子签约文件id】电子签约文件id 【作用】 查询需获取签署页面的电子签约文件 【传参】 电子签约文件id和第三方业务系统文件id必传其一，均传入以电子签约文件id为准
	ContractId *int64 `json:"contractId,omitempty"`
	// <ext>core:true</ext> 【第三方业务系统文件id】第三方业务系统文件id 【作用】 查询需获取签署页面的电子签约文件 【传参】 电子签约文件id和第三方业务系统文件id必传其一，均传入以电子签约文件id为准
	BizId string `json:"bizId,omitempty"`
	// <ext>deprecated:true;format:string</ext> 【签署方ID（公司ID/个人ID）】签署方ID（公司ID/个人ID），和tenantName不能同时为空
	TenantId *int64 `json:"tenantId,omitempty"`
	// <ext>core:true</ext> 【签署方名称】签署方名称 【作用】 查询需获取签署页面的签署方 【传参】 组织签署方统一社会信用代码和签署方名称必传1项
	TenantName string `json:"tenantName,omitempty"`
	// <ext>core:true</ext> 【签署方类型】签署方类型 【作用】 查询需获取签署页面的签署方 【传参】 取值范围：COMPANY（组织）,PERSONAL（个人）
	TenantType string `json:"tenantType"`
	// <ext>core:true</ext> 【签署方编号】签署方编号 【作用】 查询需获取签署页面的签署方
	SignatoryNo string `json:"signatoryNo,omitempty"`
	// 【签署方签署顺序】签署方签署顺序 【传参】 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,omitempty"`
	// <ext>core:true</ext> 【经办人姓名】经办人姓名 【作用】 1、查询到签署方时，不生效 2、新增签署方时，指定组织签署方的经办人姓名 3、新增个人签署方无需传入该参数，将使用tenantName作为签署方姓名
	ReceiverName string `json:"receiverName,omitempty"`
	// 【经办人证件号】经办人证件号 【作用】 1、查询到签署方时，用于获取对应用户的签署页面 2、新增签署方时，用于查询用户。用于作为组织签署方的经办人或个人签署方 【传参】 1、传入该参数查询用户，若用户不存在时，则使用证件号创建新用户，并将该用户加入组织。新建用户时默认证件类型为“大陆身份证”。 2、证件号查询到多个用户时，优先取已实名的用户，若存在多个实名用户，则优先取最近登录或通过接口进行操作的用户。 3、证件号、联系方式均传入时，则以证件号为准查询用户，并校验联系方式是否被占用，若占用则返回报错提示。 4、没有绑定联系方式，仅通过证件号创建的用户，只能通过扫脸登录的方式登录电子签章系统（扫脸登录为付费功能，需联系电子签章系统管理员开启功能）。 5、使用证件号创建的新用户，或查询到的未认证用户，将使用此证件号进行实名认证 6、与经办人实名认证的证件号（cardNo）同时传入时以此参数为准
	CardId string `json:"cardId,omitempty"`
	// <ext>core:true</ext> 【经办人联系方式】经办人联系方式 【作用】 1、查询到签署方时，用于获取对应用户的签署页面 2、新增签署方时，用于查询用户。用于作为组织签署方的经办人或个人签署方 【传参】 1、可传入用户手机号或者邮箱。 2、手机号允许使用大陆、港澳台、国际手机号，手机号格式为：区号+空格+手机号，例：852 9xxxxxxx ，大陆手机号可以不传区号。 3、邮箱需传入符合格式的字符串，例：xxxxxxxx@163.com。 4、未传入证件号时，可传入该参数查询用户，若用户不存在时，则使用传入的联系方式创建新用户，并将该用户加入组织。 5、若证件号和联系方式同时传入，则以证件号为准查询用户，并校验联系方式是否被占用，若占用则返回报错提示。
	Contact string `json:"contact,omitempty"`
	// 【经办人成员编号】经办人成员编号 【作用】 1、查询到签署方时，用于获取对应用户的签署页面 2、新增签署方时，用于查询用户。用于作为组织签署方的经办人或个人签署方 【传参】 1、当未传入经办人证件号、经办人联系方式时，可使用经办人成员编号、经办人第三方业务系统用户id查询用户，作为组织签署方的经办人，或个人签署方。 2、经办人成员编号、经办人第三方业务系统用户id均传入时，以经办人成员编号为准。 3、若使用经办人成员编号查询用户时，若用户不存在时，则将使用传入的成员编号创建新用户，并将该用户加入组织。
	ReceiverNumber string `json:"receiverNumber,omitempty"`
	// 【经办人第三方业务系统用户id】经办人第三方业务系统用户id 【作用】 1、查询到签署时，用于获取对应用户的签署页面 2、新增签署方时，用于查询用户。用于作为组织签署方的经办人或个人签署方 【传参】 1、当未传入经办人证件号、经办人联系方式时，可使用经办人成员编号、经办人第三方业务系统用户id查询用户，作为组织签署方的经办人，或个人签署方。 2、经办人成员编号、经办人第三方业务系统用户id均传入时，以经办人成员编号为准。 3、使用该参数查询用户，若用户不存在时，将会报错提示。
	OpenUserId string `json:"openUserId,omitempty"`
	// 【链接有效期】链接有效期 【作用】 1、用于设置获取到的链接在多长时间后过期 2、参数不传值时，链接有效期取电子签章管理后台设置的“接口页面默认有效期  3、参数传入时长超过电子签章管理后台设置的“接口页面最大有效期天数”时，将以后台设置的有效期为准 【传参】 最小值：1。单位：秒。
	ExpireTime *int64 `json:"expireTime,omitempty"`
	// 【经办人实名认证的证件号】经办人实名认证的证件号 【作用】 接收人未认证时，可指定接收人认证时的默认证件号；若接收人已认证，此参数不会生效 【传参】 与经办人证件号（cardID）同时传入时，以经办人证件号（cardID）为准
	CardNo string `json:"cardNo,omitempty"`
	// <ext>deprecated:true</ext> 【是否可以同时签署法人章】是否可以同时签署法人章： 【传参】 1、取值范围：1（是），0（否）；默认为：0（否）
	CanLpSign string `json:"canLpSign,omitempty"`
	// 【签署节点】签署节点 【作用】 即组织签署方下可设置不同的签署节点进行签署，如组织签署、个人签字、审批 【特殊说明】 外部组织签署方仅支持指定签署人，不能指定印章id
	Actions []*common.SignurlActions `json:"actions,omitempty"`
	// 【回调页面】回调页面； 【作用】 用户在签署（或审批）后，如果不需要继续签署（或审批），则会跳转到回调页面
	CallbackPage string `json:"callbackPage,omitempty"`
	// 【是否自动生成会签节点】是否自动生成会签节点 【作用】 签署动作（action）中传入多个印章且未指定签署人时，是否将多个印章自动生成会签节点，即每个印章均需签署 【传参】 取值范围：true（自动生成会签节点），false（不生成会签节点）；不传值默认为：false（不生成会签节点）。
	AutoCreateCounterSign *bool `json:"autoCreateCounterSign,omitempty"`
	// 【 页面语言】 页面语言 【作用】 1、用于指定链接页面使用的语言 2、英文和日文页面为付费功能，请确认开通英文版系统和日文版系统后使用 【传参】 取值范围：ZH_CN(中文)，EN_US(英文)，JP(日文)；不传值默认为：ZH_CN（中文）。
	Language string `json:"language,omitempty"`
	// <ext>format:string</ext> 【页面默认展示的文档ID】页面默认展示的文档ID 【作用】 电子签约中包含多个签署文档时，可指定页面默认展示的文档 【特殊说明】 仅控制默认展示哪份文档，但是用户仍然可以手动切换查看其他文档
	DocumentId *int64 `json:"documentId,omitempty"`
	// 【虚拟键盘】虚拟键盘 【作用】 1、当调用该接口页面的设备没有外接键盘时，可以使用虚拟键盘完成意愿校验 2、传入该参数可以控制虚拟键盘是否在输入时默认打开，如果不默认打开则用户需要手动点击唤出虚拟键盘 3、使用虚拟键盘需要在电子签章管理后台-自定义配置中开启对应功能 【传参】 取值范围：true（默认打开），false（默认不打开）；不传值默认为：false（默认不打开）
	VirtualKeyboard *bool `json:"virtualKeyboard,omitempty"`
	// 【是否允许签署人制作新签名/名章】是否允许签署人制作新签名/名章 【作用】 1、可配置个人签字节点的签署人是否允许制作新的签名/名章，如不允许制作则签署人只允许使用已有的签名/名章完成签署 2、该参数仅在电子签章管理后台开启了允许制作签名、允许制作名章时生效 【传参】 取值范围：true（允许制作），false（不允许制作）；不传值默认为：true（允许制作）
	MakePersonalSeal *bool `json:"makePersonalSeal,omitempty"`
	// <ext>deprecated:true</ext> 【页面是否显示返回按钮】页面是否显示返回按钮 【传参】 取值范围：true（显示按钮），false（隐藏按钮）；不传值默认为：true（显示按钮）。
	CanReturn *bool `json:"canReturn,omitempty"`
	// <ext>deprecated:true</ext> 【页面是否显示撤回/回退/拒签按钮】页面是否显示撤回/回退/拒签按钮 【传参】 取值范围：true（显示按钮），false（隐藏按钮）；不传值默认为：true（显示按钮）。
	CanWithdraw *bool `json:"canWithdraw,omitempty"`
	// <ext>deprecated:true</ext> 【页面是否显示拒签按钮】页面是否显示拒签按钮 【传参】 取值范围：true（默认打开），false（默认不打开）；不传值默认为：false（默认不打开）
	Rejectable *bool `json:"rejectable,omitempty"`
	// 【退回理由是否需要填写】退回理由是否需要填写 【作用】 1、退回理由是否需要填写，仅在rejectable参数为true的情况下才生效 2、NEED_MUST（需要且必须填写）：即文件退回时必须填写理由 3、NEED_NOT_MUST（需要但不必填）：即文件退回时不强制要求填写退回理由 4、NONEED（不需要填写）：即文件退回时隐藏退回理由输入框，点击确认即可退回 【传参】 取值范围：NEED_MUST（需要且必须填写），NEED_NOT_MUST（需要但不必填），NONEED（不需要填写）；不传值默认为：NEED_MUST（需要且必须填写）。
	NeedRejectCause string `json:"needRejectCause,omitempty"`
	// <ext>deprecated:true</ext> 【页面是否显示下载按钮】页面是否显示下载按钮 【传参】 取值范围：true（显示按钮），false（隐藏按钮）；不传值默认为：true（显示按钮）。
	AllowDownload *bool `json:"allowDownload,omitempty"`
	// <ext>deprecated:true</ext> 【页面是否显示打印按钮】页面是否显示打印按钮 【传参】 取值范围：true（显示按钮），false（隐藏按钮）；不传值默认为：true（显示按钮）。
	AllowPrint *bool `json:"allowPrint,omitempty"`
	// <ext>deprecated:true</ext> 【页面是否显示签署详情按钮】页面是否显示签署详情按钮 【传参】 取值范围：true（显示按钮），false（隐藏按钮）；不传值默认为：true（显示按钮）。
	CanViewDetail *bool `json:"canViewDetail,omitempty"`
	// <ext>deprecated:true</ext> 【页面是否显示“更多操作”按钮】页面是否显示“更多操作”按钮 【传参】 取值范围：true（显示按钮），false（隐藏按钮）；不传值默认为：true（显示按钮）。
	CanMoreOperation *bool `json:"canMoreOperation,omitempty"`
	// 【链接访问次数】链接访问次数 【作用】 1、限制链接访问次数，若超过次数则链接失效 2、若不传值，则访问次数无限制；若传入具体数值，则链接在访问所传具体值次数后失效，无法继续访问 【传参】 最小值：1。单位：次。
	VisitNum *int64 `json:"visitNum,omitempty"`
	// 【链接失效后跳转地址】链接失效后跳转地址 【作用】 当链接页面失效后页面自动跳转至指定地址（如：超过访问次数、链接已超过有效期）
	InvalidToPage string `json:"invalidToPage,omitempty"`
	// 【表单域】表单域 【作用】 1、签署文件时，除了对文件进行盖章签字外，还需要额外添加一些文字内容，例如审批意见等。可在签署文档中设置表单域，后续传入表单域中需填写的内容 2、支持文本域和选择框域
	Forms []*common.ContractSignurlV3FormsRequest `json:"forms,omitempty"`
	//  【操作完成自动关闭页面】操作完成自动关闭页面 【作用】 用户在链接页面完成审批或签署操作时，系统是否自动关闭链接页面 【传参】： 取值范围：true（自动关闭），false（不自动关闭）；不传值默认为：false（不自动关闭）。
	AutoClosePage *bool `json:"autoClosePage,omitempty"`
	// 【认证时可修改项】认证时可修改项  【作用】 用于控制接收人在实名认证时可以修改哪些接口传入的信息 【传参】 1、取值范围：NONE（所有参数都不允许修改），NAME(姓名)，CARDNO(证件号)，MOBILE(手机号)，BANKNO(银行账号)，BANKPHONE(银行预留手机号)；可选多项；不传值默认为：除了手机号外所有参数都允许修改。 2、如同时传了NONE和其他参数，接口将会报错。其他值可传入多项，传入的值即代表可以修改。
	ModifyFields []string          `json:"modifyFields,omitempty"`
	PageStyle    *common.PageStyle `json:"pageStyle,omitempty"`
	// 【个人认证的证件类型】个人认证的证件类型 【作用】 签署方内的用户未认证时，可指定其个人认证时使用的证件类型 【传参】 取值范围：IDCARD（二代身份证），PASSPORT（护照），HKMP（港澳通行证），MTPS（台胞证），OTHER（其他）；不传值默认为：IDCARD（二代身份证）。
	PaperType string `json:"paperType,omitempty"`
	// <ext>deprecated:true</ext>  【个人签名类型要求】个人签名类型要求 【作用】 签署方下的个人进行签字时可使用的签名类型，包括： 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（无需全文浏览）；不传值默认为：用印流程配置。 【特殊说明】 若为用印流程预设的签署方，将忽略该接口传参，使用流程预设配置
	ViewAllContract *bool `json:"viewAllContract,omitempty"`
	// 【是否每次需重新手写个人签名】是否每次需重新手写个人签名 【传参】 取值范围：true（每次重新手写），false（使用已有签名）；不传值默认为：用印流程配置。 【特殊说明】 1、签署方允许使用的签名类型要求中包括“自定义签名”时才会生效，如果指定使用个人名章或系统签名，则不生效 2、若为用印流程预设的签署方，将忽略该接口传参，使用流程预设配置
	NeedHandwrittenSeal *bool `json:"needHandwrittenSeal,omitempty"`
	//  【文件浏览时长要求】文件浏览时长要求 【作用】 控制签署方需要在浏览时长达到配置要求后，才能进行签署 【传参】 1、最小值：1（包含），最大值：2000（包含）；不传值默认为：用印流程配置。 2、单位：秒。 3、传入1则代表至少需要浏览1s后，才能进行签署。 【特殊说明】 1、创建签署流程时，若用印流程预设签署方，将忽视接口传参，使用流程预设配置。后续可通过相关修改接口更改该值。
	ViewTime *int64 `json:"viewTime,omitempty"`
	// 【身份校验】身份校验 【作用】 用户通过当前接口返回的链接访问文件时，是否需要验证身份 【传参】 1、取值范围：true（身份校验），false（不身份校验）；不传值默认为：false（不身份校验）。 【特殊说明】 当前仅支持通过手机号/邮箱验证码方式进行身份校验
	NeedPersonalReAuth *bool `json:"needPersonalReAuth,omitempty"`
	// 【客户端类型】客户端类型 【作用】 1、当请求的UserAgent无法自动判断返回的页面类型时，可通过此参数返回指定客户端的页面 2、例如在微信小程序集成场景中，PC端小程序的UserAgent只能识别为PC端，但是需要使用H5端的页面 【传参】 取值范围：PC（返回PC页面），H5（返回H5页面）；不传值默认为：根据请求的UserAgent自动判断返回的页面类型。
	DeviceType string `json:"deviceType,omitempty"`
	// 【是否允许经办人修改签署节点】是否允许经办人修改签署节点  【作用】  通过此参数可控制接收方经办人，是否允许修改签署节点信息，包括组织签章节点的印章/签章人、个人签字的签批人 【传参】  取值范围： true（允许），false（不允许）；不传值默认为：false（不允许）。
	ChangeSigner *bool `json:"changeSigner,omitempty"`
	// 【指定签字人备注】指定签字人备注
	InviteRemark string `json:"inviteRemark,omitempty"`
	// 【当面签设备】当面签设备    【作用】     个人签署方可使用的当面签设备     【传参】  取值范围：PC_MOBILE （电脑或手机），INTEGRATED_MACHINE （一体机）；不传值默认为：取用印流程配置。
	FaceSignMethod string `json:"faceSignMethod,omitempty"`
	// 【是否允许当面签】是否允许当面签 【作用】 实际签署场景中，可能个人接收方就在发起方对面（如线下开户场景），且不方便操作（如未携带手机时），个人接收方可以直接在发起方设备操作进行认证、签署 【传参】 取值范围：true（允许当面签），false（不允许当面签）；不传值默认为：用印流程配置。
	FaceSign *bool `json:"faceSign,omitempty"`
	// 【未实名用户确认签署时在一体机读取身份证】未实名用户确认签署时在一体机读取身份证   【作用】    未实名的用户可通过一体机读取身份证的方式获取姓名和证件号，指定是否必须读取身份    【传参】  取值范围：READ_ID_CARD（必须读取身份证信息），READ_ID_CARD_BY_SPONSOR （允许发起人操作跳过读取身份证）。
	ReadUserAuthInfoMethod string `json:"readUserAuthInfoMethod,omitempty"`
	// 【一体机品牌型号】一体机品牌型号   【作用】 一体机当面签时，指定一体机的品牌型号 【传参】 取值范围：M30A (捷宇M30A)
	IntegratedMachineModel string `json:"integratedMachineModel,omitempty"`
	// 【统一社会信用代码/工商注册号】统一社会信用代码/工商注册号 【作用】 通过统一社会信用代码查询指定单位作为签署方 【传参】 1、同时传入统一社会信用代码和签署方名称时，优先根据统一社会信用代码查询单位： （1）查询到的单位名称与传入签署方名称一致，则指定单位为签署方 （2）查询到的单位名称与传入签署方名称不一致时，若单位未认证则更新单位名称，若单位已认证则会在签署时提示签署方重新进行单位认证 2、若统一社会信用代码未能查询到单位时，将使用组织签署方名称新建单位，若单位名称已存在，将会返回报错 3、组织签署方统一社会信用代码和签署方名称必传1项
	CompanyRegisterNo string `json:"companyRegisterNo,omitempty"`
	// 【签署方在指定位置必须签署】签署方在指定位置必须签署 【作用】 控制签署方是否在指定位置必须签署，当前参数未传入时取文件签署要求中mustSign（指定位置必须签署）的参数值，传入了值以传入的为准，未传入值时，取用印流程配置。 【传参】 取值范围：true（必须签署），false（不必须签署）；不传值取文件签署要求mustSign（指定位置必须签署）的配置。
	MustSign *bool `json:"mustSign,omitempty"`
	// 【签署方在指定位置外可签署】签署方在指定位置外可签署 【作用】 控制签署方是否在指定位置必须签署，当前参数未传入时取文件签署要求中extraSign（指定位置外可签署）的参数值，传入了值以传入的为准，未传入值时，取用印流程配置。 【传参】 取值范围：true（可签署），false（不可签署）；不传值取文件签署要求extraSign（指定位置外可签署）的配置。
	CanExtraSign *bool `json:"canExtraSign,omitempty"`
	// 【移动端页面导航头部】移动端页面导航头部 【作用】 1、移动端内嵌页面默认带有头部导航区域，且区域内提供返回按钮，嵌入其他app时会与app自带的导航头部区域航重复 2、可通过本参数控制签入移动端页面时是否提供头部导航区域 【传参】 取值范围：true（隐藏导航头部），false（显示导航头部）；不传值默认为：false（显示导航头部）。
	HideHeader *bool `json:"hideHeader,omitempty"`
	// 【需隐藏的页面按钮】需隐藏的页面按钮 【传参】 取值范围：RETURN（返回），ROLLBACK（撤回/回退/拒签），DETAIL（签署详情），CANCEL（作废文件），MORE_OPERATE（更多操作），APPOINT_RECT（指定签署位置），SET_END_TIME（设置到期日期），END_SIGN（结束签署），NEXT_TODO（下一代办），DOWNLOAD（下载），PRINT（打印），EXPORT_EML（导出EML），ENTRUST_SIGN（委托他人签字），INVITE_SIGN（邀请他人签字），ADD_NODE（添加审批/签字/法定代表人签字），MODIFY_FILE（修改文件），POINT（敏感词/要点(H5)），SMART_ADJUST（智能调整(H5)），TRANSFER（转办），TRANSMIT（文件抄送），REMARK（备注），STOP_SIGN（恢复/暂停签署），DISCARD_CANCEL（取消作废），FILE_VERIFIER（文件验签），DELAY（延期），DELETE（删除），SIGNATURE_DETAIL（签名详情）；可选多项。
	NeedHideButtons []string `json:"needHideButtons,omitempty"`
	// 【文件访问密码】文件访问密码 【作用】 签署用户收到待签文件，需输入此处设置的密码才可查看并签署文件 【传参】 6~20位字符
	FileAccessPassword string `json:"fileAccessPassword,omitempty"`
	// 【接收语言】接收语言 【作用】 1、用于指定用户签署邮件/短信通知及签署页面显示的语言 2、英文和日文页面为付费功能，请确认开通英文版系统和日文版系统后使用 【传参】 取值范围：ZH_CN(中文)，EN_US(英文)，JP(日文)；不传值默认为：ZH_CN（中文）。
	ReceiveLanguage string `json:"receiveLanguage,omitempty"`
}

func (obj ContractSignurlV3Request) GetUrl() string {
	return "/contract/signurl/v3"
}

func (obj ContractSignurlV3Request) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewPostHttpParameter()
	jsonBytes, _ := json.Marshal(obj)
	parameter.SetJsonParamer(string(jsonBytes))
	return parameter
}
