UNPKG

signzg-openapi-sdk

Version:

电子签名API客户端SDK,支持个人认证、企业认证和合同签署等功能

496 lines (487 loc) 16.1 kB
/** * 客户端配置选项接口 * @interface ClientConfigOptions */ interface ClientConfigOptions { /** 应用ID,用于API身份验证 */ applicationId: string; /** 业务ID,用于区分不同业务场景 */ businessId: string; /** API基础URL地址 */ baseUrl: string; /** 私钥 */ privateKeys: string; /** 请求超时时间(毫秒),默认为10000 */ timeout?: number; /** 自定义请求头 */ headers?: Record<string, string>; } /** * 客户端配置类 * 管理API客户端的配置信息,包括应用凭证、请求设置等 * @class ClientConfig */ declare class ClientConfig { /** 应用ID,用于API身份验证 */ readonly applicationId: string; /** 业务ID,用于区分不同业务场景 */ readonly businessId: string; /** API基础URL地址 */ readonly baseUrl: string; /** 私钥 */ readonly privateKeys: string; /** 请求超时时间(毫秒) */ readonly timeout?: number; /** 自定义请求头 */ readonly headers?: Record<string, string>; /** * 创建客户端配置实例 * @param {ClientConfigOptions} options - 客户端配置选项 */ constructor(options: ClientConfigOptions); /** * 获取完整的配置对象 * @returns {ClientConfigOptions} 配置对象 */ getConfig(): ClientConfigOptions; } /** * 通用API响应结构 */ interface ApiResponse<T = any> { /** 操作是否成功 */ success: boolean; /** 响应消息 */ message?: string; /** 响应状态码 */ code?: number; /** 响应数据 */ result?: T; /** 时间戳 */ timestamp?: number; } /** * 通用API响应数据接口 * 所有API响应数据可以继承此接口 */ interface ApiResponseData { [key: string]: any; } /** * 通用API响应结果类型别名 * 可以直接使用此类型作为API方法的返回类型 */ type ApiResult<T = ApiResponseData> = ApiResponse<T>; /** * 个人用户服务相关的参数模型定义 */ /** * 获取用户信息参数 * 用于请求获取用户详细信息的接口参数 */ interface GetUserInfoParams extends Record<string, any> { /** 用户ID,必填参数,用于指定要查询的用户 */ userId: string | number; /** 可选,指定要返回的字段,多个字段用逗号分隔 */ includeFields?: string; /** 可选,是否包含用户认证信息 */ includeVerification?: boolean; /** 可选,是否包含用户签名信息 */ includeSignatures?: boolean; } /** * 获取个人认证页面参数 */ interface PersonalAuthenticationV2Params { /** 用户手机号 */ userPhone: string; /** 其他可选参数 */ [key: string]: any; } /** * 查询认证结果参数 */ interface QueryAuthenticationResultParams { /** 用户手机号 */ userPhone: string; /** 其他可选参数 */ [key: string]: any; } /** * 提交个人实名认证参数 */ interface SubmitAuthenticationParams { /** 用户姓名 */ userName: string; /** 身份证号码 */ idNumber: string; /** 手机验证码 */ phoneCode: string; /** 用户手机号 */ userPhone: string; /** 其他可选参数 */ [key: string]: any; } interface SendSmsParams$1 { /** 用户手机号 */ phone: string; /** 其他可选参数 */ [key: string]: any; } /** * 个人用户客户端类 * 提供个人用户相关的API操作,包括用户信息管理、实名认证等功能 * @class PersonageClient */ declare class PersonageClient { /** 客户端配置 */ private config; /** HTTP请求服务 */ private service; /** * 创建个人用户客户端实例 * @param {ClientConfigOptions} options - 客户端配置选项 */ constructor(options: ClientConfigOptions); /** * 获取用户信息 * 获取指定用户的详细信息 * * @param {GetUserInfoParams} params - 获取用户信息的请求参数 * @param {string|number} params.userId - 用户ID,必填参数,用于指定要查询的用户 * @param {string} [params.includeFields] - 可选,指定要返回的字段,多个字段用逗号分隔 * @param {boolean} [params.includeVerification] - 可选,是否包含用户认证信息 * @param {boolean} [params.includeSignatures] - 可选,是否包含用户签名信息 * @param {any} [params.otherParams] - 其他可选参数,根据API需求可扩展 */ getUserInfo(params: GetUserInfoParams): Promise<ApiResult>; /** * 获取个人认证页面接口(H5 和 PC) * 获取个人用户实名认证的页面URL * * @param {PersonalAuthenticationV2Params} params - 请求参数对象 * @returns {Promise<ApiResult>} 认证页面信息 */ postPersonalAuthenticationV2(params: PersonalAuthenticationV2Params): Promise<ApiResult>; /** * 个人实名信息认证结果查询 * 查询用户的实名认证状态和结果 * * @param {QueryAuthenticationResultParams} params - 请求参数对象 * @returns {Promise<ApiResult>} 认证结果信息 */ queryAuthenticationResult(params: QueryAuthenticationResultParams): Promise<ApiResult>; /** * 个人实名认证接口 * 提交个人用户的实名认证信息 * * @param {SubmitAuthenticationParams} params - 请求参数对象 * @returns {Promise<ApiResult>} 认证提交结果 */ submitAuthentication(params: SubmitAuthenticationParams): Promise<ApiResult>; /** * 发送短信验证码 * 发送短信验证码到指定手机号 * * @param {SendSmsParams} params - 请求参数对象 * @returns {Promise<ApiResult>} 短信验证码信息 */ sendSms(params: SendSmsParams$1): Promise<ApiResult>; } /** * 企业服务相关的参数模型定义 */ /** * 企业入驻并发送认证链接参数 */ interface AddEnterpriseAuthenticationParams { /** 企业统一社会信用码 */ creditCode: string; /** 企业法人名称 */ legalPerson: string; /** 企业法人手机号 */ legalPhone: string; /** 企业认证通过回调地址 */ callbackInterfaceUrl?: string; /** 经办人姓名 */ agentName: string; /** 经办人手机号 */ agentPhone: string; /** 企业名称 */ enterpriseName: string; /** 其他可选参数 */ [key: string]: any; } /** * 机构实名认证参数 */ interface EnterpriseAuthParams { /** 经办人编号(经办人需要在平台完成认证,经办人会默认为企业管理员) */ operatorUserIdentifier?: string; /** 企业名称 */ enterpriseName: string; /** 企业社会信用代码 */ enterpriseCreditCode: string; /** 企业法人名称 */ legalPersonName: string; /** 企业法人身份证 */ legalPersonCard: string; /** 企业法人手机号 */ legalPersonPhone: string; /** 企业法人手机验证码 */ legalPersonPhoneCode: string; /** 认证后异步回调地址 */ callbackInterfaceUrl?: string; } /** * 对公打款认证--填写企业信息及对公信息参数 */ interface CorporateAttestationParams { /** 经办人编号(经办人需要在平台完成认证,经办人会默认为企业管理员) */ operatorUserIdentifier?: string; /** 企业名称 */ enterpriseName: string; /** 企业社会信用代码 */ enterpriseCreditCode: string; /** 企业法人名称 */ legalPersonName: string; /** 企业法人身份证 */ legalPersonCard: string; /** 企业法人手机号 */ legalPersonPhone: string; /** 企业对公账号 */ cardNo: string; /** 银行名称 */ bankName: string; /** 认证后异步回调地址 */ callbackInterfaceUrl?: string; } /** * 对公打款认证--填写打款金额完成认证参数 */ interface CorporateSubmitAuthenticationParams { /** 企业编码 */ enterpriseIdentifier: string; /** 打款金额(必须是小数形式,如:0.01) */ remittanceMoney: number; } interface SendSmsParams { /** 用户手机号 */ phone: string; /** 其他可选参数 */ [key: string]: any; } /** * 企业客户端类 * 提供企业相关的API操作,包括企业认证、信息管理等功能 * @class EnterpriseClient */ declare class EnterpriseClient { /** 客户端配置 */ private config; /** HTTP请求服务 */ private service; /** * 创建企业客户端实例 * @param {ClientConfigOptions} options - 客户端配置选项 */ constructor(options: ClientConfigOptions); /** * 企业入驻并发送认证链接 * 创建企业账户并向法人和经办人发送认证链接 * * @param {AddEnterpriseAuthenticationParams} params - 请求参数对象 * @returns {Promise<ApiResult>} 企业入驻结果 */ getAddEnterpriseAuthentication(params: AddEnterpriseAuthenticationParams): Promise<ApiResult>; /** * 机构实名认证---接口认证 * * @param {EnterpriseAuthParams} params - 请求参数对象 * @returns {Promise<ApiResult>} 企业入驻结果 */ enterpriseAuth(params: EnterpriseAuthParams): Promise<ApiResult>; /** * 对公打款认证--填写企业信息及对公信息 * * @param {CorporateAttestationParams} params - 请求参数对象 * @returns {Promise<ApiResult>} 企业入驻结果 */ getCorporateAttestation(params: CorporateAttestationParams): Promise<ApiResult>; /** * 对公打款认证--填写打款金额完成认证 * * @param {CorporateSubmitAuthenticationParams} params - 请求参数对象 * @returns {Promise<ApiResult>} 企业入驻结果 */ getCorporateSubmitAuthentication(params: CorporateSubmitAuthenticationParams): Promise<ApiResult>; /** * 发送短信验证码 * 发送短信验证码到指定手机号 * * @param {SendSmsParams} params - 请求参数对象 * @returns {Promise<ApiResult>} 短信验证码信息 */ sendSms(params: SendSmsParams): Promise<ApiResult>; } /** * 合同签署服务相关的参数模型定义 */ /** * 指定签署方和签署内容发起签署参数 */ interface AddContractSignParams extends Record<string, any> { /** 发起类型 0-个人 1-企业 */ launchType: number; /** 发起用户手机号 */ launchSubject: string; /** 发起用户姓名 */ launchName: string; /** 发起企业名称(launchType为1企业发起合同时必传) */ launchEnterpriseName?: string; /** 模板编号 */ contractModelNum: string; /** 合同名称 */ contractName: string; /** 签署截止时间(格式 yyyy-MM-dd HH:mm:ss) */ signEndTime: string; /** 签署人信息 */ signatoryInfos?: Array<{ /** 签署人姓名 */ userName: string; /** 签署人电话 */ userPhone: string; /** 类型 0-个人 1-企业 */ type: number; /** 企业名称(Type=1时必传) */ enterpriseName?: string; /** 签署印章 1用户手绘章 2用户模板章 3企业章 4合同章 5法人章 */ signMode: string; /** 是否需要静默签:0不需要 1需要(个人不支持静默签署) */ silenceSign: string; /** 签署方编号 */ signNumber: string; }>; /** 签署类型 0网页链接 1短信链接 */ signatureType: number; /** 模板内需填写的内容列表(php) */ inputValues_json: string; /** 模板控件编号(php) */ controlNumber?: string; /** 填写内容(php) */ writeContent?: string; /** 模板内需填写的内容列表 */ inputValues: Array<{ /** 模板控件编号 */ controlNumber: string; /** 填写内容 */ writeContent: string; }>; /** 客户发起时定义的编号 */ customerOriginationNumber: string; } /** * 查询合同详情参数 */ interface QuerySignInfoByContractNumParams { /** 合同编号 */ contractNum: string; /** 其他可选参数 */ [key: string]: any; } /** * 查询合同模板参数 */ interface SignTemplateListParams { /** 是否启用 0-否 1-是 */ isOpen?: number; /** 其他可选参数 */ [key: string]: any; } /** * 查询模板详情参数 */ interface SignTemplateDetailsParams { /** 模板编号 */ contractModelNum: string; /** 其他可选参数 */ [key: string]: any; } /** * 合同发起预览填V2参数 */ interface LaunchPreviewV2Params { /** 模板编号 */ contractModelNum: string; /** 模板内需填写的内容列表(JSON字符串) */ inputValuesJson: string; /** 模板控件编号 */ controlNumber: string; /** 填写内容 */ writeContent: string; /** 客户发起时定义的编号(唯一标识) */ customerOriginationNumber: string; /** 其他可选参数 */ [key: string]: any; } /** * 静默签署盖章接口参数 */ interface SignContractSignParams { /** 客户发起时定义的编号 */ customerOriginationNumber: string; /** 发起用户手机号 */ userPhone: string; /** 其他可选参数 */ [key: string]: any; } declare class ContractSignClient { private config; private service; constructor(options: ClientConfigOptions); /** * 指定签署方和签署内容发起签署 * @param {AddContractSignParams} params - 指定签署方和签署内容发起签署参数 * @returns {Promise<ApiResult>} 指定签署方和签署内容发起签署结果 */ addContractSign(params: AddContractSignParams): Promise<ApiResult>; /** * 静默签署盖章接口 * @param params * @param {string} params.customerOriginationNumber - 客户发起时定义的编号 * @param {string} params.userPhone - 发起用户手机号 * @returns */ signContractSign(params: SignContractSignParams): Promise<ApiResult>; /** * 查询合同详情 * @param {QuerySignInfoByContractNumParams} params - 查询合同详情参数 * @param {string} params.contractNum - 合同编号 * @param {string} params.sign - 签名 * @returns {Promise<ApiResult>} 查询合同详情结果 */ querySignInfoByContractNum(params: QuerySignInfoByContractNumParams): Promise<ApiResult>; /** * 查询合同模板列表 * @param {SignTemplateListParams} params - 查询合同模板参数 * @param {number} params.isOpen - 是否启用 0-否 1-是 * @param {string} params.sign - 签名 * @returns {Promise<ApiResult>} 查询合同模板结果 */ signTemplateList(params: SignTemplateListParams): Promise<ApiResult>; /** * 查询模板详情 * @param {SignTemplateDetailsParams} params - 查询模板详情参数 * @param {string} params.contractModelNum - 模板编号 * @param {string} params.sign - 签名 * @returns {Promise<ApiResult>} 查询模板详情结果 */ signTemplateDetails(params: SignTemplateDetailsParams): Promise<ApiResult>; /** * 合同发起预览填V2 * @param {LaunchPreviewV2Params} params - 合同发起预览填V2参数 * @returns {Promise<ApiResult>} 合同发起预览填V2结果 */ launchPreviewV2(params: LaunchPreviewV2Params): Promise<ApiResult>; } export { ClientConfig, ClientConfigOptions, ContractSignClient, EnterpriseClient, PersonageClient };