5.1 KiB
5.1 KiB
CISD 初始化 API Curl 样例集
- 日期:2026-03-02
- 适用接口前缀:
/api/v1/device、/api/v1/init - 说明:以下样例用于联调,不包含生产鉴权与审计策略
1. 公共变量
BASE_URL="${BASE_URL:-http://127.0.0.1:8080}"
INTERNAL_TOKEN="${INTERNAL_TOKEN:-change-me-internal-token}"
2. 查询设备预置版本信息
curl -sS \
-H "X-Internal-Token: ${INTERNAL_TOKEN}" \
"${BASE_URL}/api/v1/device/status" | jq
预期关键字段:
data.presetProductType:ENTERPRISE|INDIRECT|DIRECTdata.presetVersion
3. 企业/间参请求体(RabbitMQ)
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)
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)
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)
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. 初始化任务执行链路(通用)
将 <REQUEST_JSON> 替换为上面任一 json 文件路径。
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. 单步日志查询(失败定位)
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. 常见问题
- 直参 TLQ 报
directTlq is required:请求体缺directTlq三字段。 APP_MQ_CREDENTIALS_APPLY失败:应用配置匹配路径无文件或无写权限。- MQ 连接失败:确认
TMS_INIT_EXECUTOR_STANDARD_RABBIT_CREDENTIAL_SECRET_KEY与收发器解密密钥一致。
10. 一键执行脚本(推荐)
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-<timestamp>,包含每一步请求响应与失败日志抓取结果。