{"openapi":"3.0.3","info":{"title":"好啦体检领域语义层 API","description":"体检领域语义层 HTTP API。公开 Action 无需鉴权，需要鉴权的 Action 使用 OceanBus API Key 作为 Bearer Token。MCP 地址：https://ai.ihaola.com.cn/api/mcp/haola-pe","version":"1.0.0","contact":{"email":"contacts@haola.com"},"x-mcp-endpoint":"https://ai.ihaola.com.cn/api/mcp/haola-pe"},"servers":[{"url":"https://ai.ihaola.com.cn/api/haola-pe","description":"生产环境"}],"tags":[{"name":"discovery","description":"服务发现与帮助"},{"name":"vendor","description":"体检机构与品牌"},{"name":"plan","description":"企业团体体检方案报价"},{"name":"knowledge","description":"体检领域知识"},{"name":"business","description":"商务联系"}],"paths":{"/actions":{"get":{"tags":["discovery"],"summary":"获取全部本体和 Action","description":"返回体检领域语义层的本体、Action 名称、请求方法、参数和说明。","operationId":"listActions","security":[],"responses":{"200":{"description":"成功返回","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HaolaResponse"}}}}}}},"/status":{"get":{"tags":["discovery"],"summary":"获取服务运行状态","operationId":"getStatus","security":[],"responses":{"200":{"description":"成功返回","content":{"application/json":{"schema":{"type":"object","properties":{"running":{"type":"boolean","example":true},"my_openid":{"type":"string"}}}}}}}}},"/vendor.brands":{"post":{"tags":["vendor"],"summary":"查询体检品牌及覆盖范围","description":"返回体检品牌、覆盖城市数和门店数。","operationId":"listVendorBrands","security":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false}}}},"responses":{"200":{"description":"成功返回","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":0},"msg":{"type":"string","example":"ok"},"data":{"type":"object","properties":{"total":{"type":"integer","example":136},"vendors":{"type":"array","items":{"type":"object","properties":{"vendorid":{"type":"string","example":"health100"},"label":{"type":"string","example":"美年大健康"},"cityCount":{"type":"integer","example":242},"hospitalCount":{"type":"integer","example":472}}}}}}}}}}}}}},"/vendor.list":{"post":{"tags":["vendor"],"summary":"查询体检门店","description":"按城市、省份、区域、品牌或医院编码查询具体体检门店。","operationId":"listVendors","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"city":{"type":"string","example":"北京"},"province":{"type":"string","example":"北京市"},"district":{"type":"string","example":"朝阳区"},"hospitalCode":{"type":"string"},"longitude":{"type":"number"},"latitude":{"type":"number"},"radius":{"type":"number","description":"搜索半径，单位为米"},"vendorids":{"type":"array","items":{"type":"string"},"example":["health100","ruici"]}}}}}},"responses":{"200":{"description":"成功返回","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":0},"msg":{"type":"string","example":"ok"},"data":{"type":"object","properties":{"total":{"type":"integer","example":95},"hospitals":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"hospitalCode":{"type":"string"},"hospitalName":{"type":"string"},"hospitalAddress":{"type":"string"},"bookingLine":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"},"district":{"type":"string"},"vendorid":{"type":"string"},"active":{"type":"boolean"}}}}}}}}}}}}}},"/plan.quotation":{"post":{"tags":["plan"],"summary":"生成企业团体体检方案报价","description":"按每档人均预算和健康诉求生成团体体检方案。","operationId":"createPlanQuotation","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["quotes"],"properties":{"quotes":{"type":"array","minItems":1,"items":{"type":"object","required":["budget","healthConcerns"],"properties":{"tier":{"type":"string","example":"基础"},"budget":{"type":"number","example":500},"healthConcerns":{"type":"array","items":{"type":"string"},"example":["三高"]},"populations":{"type":"array","items":{"type":"string","enum":["man","lady","girl"]}}}}},"partnerId":{"type":"string"}}}}}},"responses":{"200":{"description":"成功返回","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":0},"msg":{"type":"string","example":"ok"},"data":{"type":"object","additionalProperties":true}}}}}}}}},"/help":{"post":{"tags":["discovery"],"summary":"查询三级帮助","operationId":"getHelp","security":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"ontology":{"type":"string"},"sub_action":{"type":"string"}}}}}},"responses":{"200":{"description":"成功返回","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HaolaResponse"}}}}}}},"/faq":{"post":{"tags":["knowledge"],"summary":"查询体检 FAQ","operationId":"getFaq","security":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"2 到 4 个字的短关键词"}}}}}},"responses":{"200":{"description":"成功返回","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HaolaResponse"}}}}}}},"/knowledge.get":{"post":{"tags":["knowledge"],"summary":"查询体检领域知识","operationId":"getKnowledge","security":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"uri":{"type":"string","example":"objects/checkup-proposal"}}}}}},"responses":{"200":{"description":"成功返回","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HaolaResponse"}}}}}}},"/corp.contact":{"post":{"tags":["business"],"summary":"查询企业商务联系人","operationId":"getCorpContact","security":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false}}}},"responses":{"200":{"description":"成功返回","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HaolaResponse"}}}}}}}},"components":{"schemas":{"HaolaResponse":{"type":"object","required":["code","msg","data"],"properties":{"code":{"type":"integer","example":0},"msg":{"type":"string","example":"ok"},"data":{"type":"object","additionalProperties":true}}}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"需要鉴权的 Action 使用 OceanBus API Key 作为 Bearer Token"}}}}