# CISD 初始化 API Curl 样例集 - 日期:2026-03-02 - 适用接口前缀:`/api/v1/device`、`/api/v1/init` - 说明:以下样例用于联调,不包含生产鉴权与审计策略 ## 1. 公共变量 ```bash BASE_URL="${BASE_URL:-http://127.0.0.1:8080}" INTERNAL_TOKEN="${INTERNAL_TOKEN:-change-me-internal-token}" ``` ## 2. 查询设备预置版本信息 ```bash curl -sS \ -H "X-Internal-Token: ${INTERNAL_TOKEN}" \ "${BASE_URL}/api/v1/device/status" | jq ``` 预期关键字段: 1. `data.presetProductType`:`ENTERPRISE|INDIRECT|DIRECT` 2. `data.presetVersion` ## 3. 企业/间参请求体(RabbitMQ) ```bash cat > /tmp/cisd-init-standard-rabbit.json <<'JSON' { "orgCodeType": "BIC", "orgCode": "AAAABBBBXXX", "orgNameCn": "测试机构", "orgNameEn": "TEST BANK", "deployMode": "SINGLE", "nodes": { "node01Ip": "10.0.0.11" }, "mq": { "mqType": "RABBITMQ", "channelUsername": "cisd_channel_user", "channelPassword": "cisd_channel_pass" }, "licenses": { "receiverLicenseFileId": "file-receiver-001" } } JSON ``` ## 4. 企业/间参请求体(TLQ) ```bash cat > /tmp/cisd-init-standard-tlq.json <<'JSON' { "orgCodeType": "BIC", "orgCode": "AAAABBBBXXX", "orgNameCn": "测试机构", "orgNameEn": "TEST BANK", "deployMode": "DUAL", "nodes": { "node01Ip": "10.0.0.11", "node02Ip": "10.0.0.12" }, "mq": { "mqType": "TLQ", "channelUsername": "cisd_channel_user", "channelPassword": "cisd_channel_pass", "tlqLicenseFileId": "file-tlq-license-001" }, "licenses": { "receiverLicenseFileId": "file-receiver-001" } } JSON ``` ## 5. 轻量化直参请求体(RABBITMQ_TLQ) ```bash cat > /tmp/cisd-init-direct-tlq.json <<'JSON' { "orgCodeType": "BIC", "orgCode": "AAAABBBBXXX", "orgNameCn": "测试机构", "orgNameEn": "TEST BANK", "deployMode": "DUAL", "nodes": { "node01Ip": "10.0.1.11", "node02Ip": "10.0.1.12" }, "mq": { "mqType": "RABBITMQ_TLQ", "channelUsername": "cisd_channel_user", "channelPassword": "cisd_channel_pass", "tlqLicenseFileId": "file-tlq-license-001" }, "licenses": { "receiverLicenseFileId": "file-receiver-001", "cfgZipFileId": "/opt/cpconfig.cfg" }, "signServer": { "signHost": "172.30.1.101", "signPort": 50006, "signType": "Infosec", "signCertDn": "CN=051@AAAABBBBXXX@7321@1,OU=Org,OU=CIPS,O=CFCA OCA1,C=CN", "signCertSn": "1154809590", "signPassword": "secret" }, "directTlq": { "localNodeSeq": "A", "upstreamInstitutions": "CIPSCNSHXXX;CIPSCNWXXXX", "upstreamCocCount": 2 } } JSON ``` ## 6. 轻量化直参请求体(RABBITMQ_CFMQ) ```bash cat > /tmp/cisd-init-direct-cfmq.json <<'JSON' { "orgCodeType": "BIC", "orgCode": "AAAABBBBXXX", "orgNameCn": "测试机构", "orgNameEn": "TEST BANK", "deployMode": "SINGLE", "nodes": { "node01Ip": "10.0.1.11" }, "mq": { "mqType": "RABBITMQ_CFMQ", "channelUsername": "cisd_channel_user", "channelPassword": "cisd_channel_pass", "cfmqConfigFileId": "/pmts/cfg/cfmqapi_trans.properties" }, "licenses": { "receiverLicenseFileId": "file-receiver-001", "cfgZipFileId": "/opt/cpconfig.cfg" }, "signServer": { "signHost": "172.30.1.101", "signPort": 50006, "signType": "Infosec", "signCertDn": "CN=051@AAAABBBBXXX@7321@1,OU=Org,OU=CIPS,O=CFCA OCA1,C=CN", "signCertSn": "1154809590", "signPassword": "secret" } } JSON ``` ## 7. 初始化任务执行链路(通用) 将 `` 替换为上面任一 json 文件路径。 ```bash REQUEST_JSON="/tmp/cisd-init-standard-rabbit.json" # 1) preview curl -sS -X POST \ -H "Content-Type: application/json" \ -H "X-Internal-Token: ${INTERNAL_TOKEN}" \ "${BASE_URL}/api/v1/init/preview" \ -d @"${REQUEST_JSON}" | jq # 2) create task TASK_ID="$(curl -sS -X POST \ -H "Content-Type: application/json" \ -H "X-Internal-Token: ${INTERNAL_TOKEN}" \ "${BASE_URL}/api/v1/init/tasks" \ -d @"${REQUEST_JSON}" | jq -r '.data.taskId')" echo "TASK_ID=${TASK_ID}" # 3) execute task curl -sS -X POST \ -H "X-Internal-Token: ${INTERNAL_TOKEN}" \ "${BASE_URL}/api/v1/init/tasks/${TASK_ID}/execute" | jq # 4) query steps curl -sS \ -H "X-Internal-Token: ${INTERNAL_TOKEN}" \ "${BASE_URL}/api/v1/init/tasks/${TASK_ID}/steps" | jq ``` ## 8. 单步日志查询(失败定位) ```bash STEP_NO=3 curl -sS \ -H "X-Internal-Token: ${INTERNAL_TOKEN}" \ "${BASE_URL}/api/v1/init/tasks/${TASK_ID}/steps/${STEP_NO}/log" | jq -r '.data.content' ``` ## 9. 常见问题 1. 直参 TLQ 报 `directTlq is required`:请求体缺 `directTlq` 三字段。 2. `APP_MQ_CREDENTIALS_APPLY` 失败:应用配置匹配路径无文件或无写权限。 3. MQ 连接失败:确认 `TMS_INIT_EXECUTOR_STANDARD_RABBIT_CREDENTIAL_SECRET_KEY` 与收发器解密密钥一致。 ## 10. 一键执行脚本(推荐) ```bash chmod +x scripts/cisd_init_flow.sh REQUEST_JSON=/tmp/cisd-init-standard-rabbit.json \ BASE_URL=http://127.0.0.1:8080 \ INTERNAL_TOKEN=change-me-internal-token \ ./scripts/cisd_init_flow.sh ``` 输出目录默认:`/tmp/cisd-init-run/run-`,包含每一步请求响应与失败日志抓取结果。