3.2 KiB
3.2 KiB
CISD Init Request Schema Spec (Preset-Version Driven)
1. Scope
This document defines the frontend request schema for CISD initialization in TMS when product version is preset by device metadata.
- Frontend must call
GET /api/v1/device/statusfirst. - If
presetProductTypeis empty or invalid, initialization is forbidden. - Frontend must render version-specific form fields automatically; user does not manually choose version.
2. Device status fields used by frontend
/api/v1/device/status response includes:
presetProductType:ENTERPRISE | INDIRECT | DIRECTpresetVersion: preset package versionpresetSource: where preset was loaded from (e.g.,CONFIG, futureDB)
3. Init preview request payload
Endpoint: POST /api/v1/init/preview
{
"orgCodeType": "BIC",
"orgCode": "AAAABBBBXXX",
"orgNameCn": "示例机构",
"orgNameEn": "Example Bank",
"deployMode": "DUAL",
"nodes": {
"node01Ip": "10.0.0.1",
"node02Ip": "10.0.0.2",
"node03Ip": "127.0.0.1",
"node04Ip": "127.0.0.1"
},
"mq": {
"mqType": "RABBITMQ",
"channelUsername": "channel_user",
"channelPassword": "channel_password",
"tlqLicenseFileId": "file-tlq-license",
"cfmqConfigFileId": "file-cfmq-config"
},
"licenses": {
"receiverLicenseFileId": "file-receiver-license",
"cfgZipFileId": "file-cfg-zip"
},
"signServer": {
"signHost": "172.30.1.101",
"signPort": 50006,
"signType": "Infosec",
"signCertDn": "CN=...",
"signCertSn": "1154809590",
"signPassword": "***"
}
}
4. Mandatory fields by product type
4.1 Common mandatory fields (all versions)
orgCodeType,orgCode,orgNameCndeployModenodes.node01Ipmq.mqType,mq.channelUsername,mq.channelPasswordlicenses.receiverLicenseFileId
4.2 ENTERPRISE / INDIRECT
Allowed values:
deployMode:SINGLE | DUALmq.mqType:RABBITMQ | TLQ
Conditional required fields:
deployMode=DUAL->nodes.node02IpmqType=TLQ->mq.tlqLicenseFileId
4.3 DIRECT
Allowed values:
deployMode:SINGLE | DUAL | QUADmq.mqType:RABBITMQ_TLQ | RABBITMQ_CFMQ
Always required:
licenses.cfgZipFileIdsignServer.signHostsignServer.signPortsignServer.signTypesignServer.signCertDnsignServer.signCertSnsignServer.signPassword
Conditional required fields:
deployMode=DUAL|QUAD->nodes.node02IpdeployMode=QUAD->nodes.node03Ip,nodes.node04IpmqType=RABBITMQ_TLQ->mq.tlqLicenseFileIdmqType=RABBITMQ_CFMQ->mq.cfmqConfigFileId
5. Prefilled vs user-input fields
5.1 Prefilled and hidden from frontend
- Product preset metadata: version type and package version
- Database deployment credentials and root/app user passwords
- RabbitMQ admin username/password
5.2 User input fields
- Institution identity and node addresses
- MQ channel username/password
- Version-conditional file uploads (receiver license, TLQ license, CFMQ config, direct CFG zip)
- Direct sign server information
6. Validation behavior
- Validation errors return code
4001with field message. - Missing/invalid preset product type returns business error and initialization is blocked.