公司名测吉凶:接入点与「返回空 expList」边界说明
# 公司名测吉凶:接入点与「返回空 expList」边界说明
> 接口/接入点:测吉凶 1617-4(公司名) · 免费服务 · 请求方式 POST/GET · 返回格式 JSON · 适用人群:开发者、企业服务/取名类工具开发者 · 阅读时间:约 5 分钟
## 核心要点
- 1617-4 唯一必填业务参数:`companyName`(公司名称,String)。
- **实测可能返回无 `expList`**(仅 `ret_code`+`remark`),与手机号/QQ 不同——前端必须做空数组兜底。
- 公司名场景建议将「无结果」作为正常分支处理,给用户友好的空态提示,而非渲染空白。
## Why:公司名场景的特殊性
创业取名、工商服务、品牌策划类产品常想加「公司名吉凶参考」。但公司名接入点的返回稳定性与其它接入点不同(实测部分名称无 expList),提前把边界处理好,能避免上线后「查到了却显示空白」的客诉。
## What:接口速览
| 项 | 说明 |
|------|------|
| 接口地址 | `https://route.showapi.com/1617-4?appKey=YOUR_APPKEY` |
| 必填参数 | `companyName`(String,公司名称) |
| 返回 | `showapi_res_body`:成功时可能仅有 `ret_code`+`remark`,无 `expList` |
## How:调用与「空结果」兜底
### Python(含空数组兜底)
```python
import requests
r = requests.post("https://route.showapi.com/1617-4",
params={"appKey": "YOUR_APPKEY"},
data={"companyName": "易源科技有限公司"}, timeout=15)
r.raise_for_status()
b = r.json()["showapi_res_body"]
if b.get("ret_code") != "0":
print("失败:", b.get("remark"))
else:
exp = b.get("expList") or []
if not exp:
print("该名称暂未返回吉凶分析(ret_code=%s,remark=%s)" % (b.get("ret_code"), b.get("remark")))
else:
for line in exp:
print(line)
```
### cURL
```bash
curl -X POST "https://route.showapi.com/1617-4?appKey=YOUR_APPKEY" \
-H "content-type: application/x-www-form-urlencoded" \
--data-urlencode "companyName=易源科技有限公司"
```
### Node.js
```javascript
const res = await fetch("https://route.showapi.com/1617-4?appKey=YOUR_APPKEY",
{ method: "POST", body: new URLSearchParams({ companyName: "易源科技有限公司" }),
signal: AbortSignal.timeout(15000) });
const b = (await res.json()).showapi_res_body;
const exp = b.expList || [];
if (!exp.length) { console.log("该名称暂未返回吉凶分析"); }
else { exp.forEach((l) => console.log(l)); }
```
## 返回示例与解析
实测 1617-4(公司名「易源科技有限公司」)返回:
```json
{
"showapi_res_body": {
"ret_code": "0",
"remark": "查询成功!"
}
}
```
注意:**没有 `title`、也没有 `expList`**。这与文档「业务返回体含 expList」的描述不完全一致——实测以空结果呈现。因此前端不能假设 `expList` 一定存在。
## 进阶 / 边界
- **空 expList 是正常分支**:`ret_code=="0"` 但 `expList` 缺失/为空,应展示「暂未返回分析」而非报错。
- 不要在代码中写 `expList[0]` 这类直接下标访问,先判空再遍历。
- 公司名长度/特殊字符(如括号、英文)对返回的影响文档未说明,建议先按真实名称实测后再批量使用。
- 结果娱乐向,企业命名决策请勿依赖本接口。
## FAQ
**Q:为什么公司名查询有时完全没有结果?**
实测 1617-4 对部分公司名仅返回 `ret_code`+`remark`、无 `expList`。这是该接入点的实际行为,前端按「空结果」友好提示即可。
**Q:ret_code 是 0 但没 expList,算成功吗?**
算接口成功(通道与业务均返回 0),只是未给出分析内容。业务上当作「无结果」分支处理。
**Q:公司名传参要注意什么?**
用表单 `companyName` 传完整名称;含中文/特殊符号时建议 URL 编码(如 cURL 用 `--data-urlencode`)。长度与字符限制文档未说明,建议实测。
**Q:能和公司取名工具结合吗?**
可以,把候选名逐个调用 1617-4,对返回 expList 的名称展示分析、对空结果的标注「暂无」,但结论仅供娱乐,不得作为工商/法律建议。
## 相关能力 / 下一步阅读
- [测吉凶错误处理与边界容错:ret_code 判断、空 expList、参数校验](https://www.showapi.com/guides/fortune-error-handling-1617)
- [测吉凶返回字段全解:ret_code、remark 与 expList 数组一文读懂](https://www.showapi.com/guides/fortune-response-fields-1617)
- [expList 数组结构化解析:把「数理/签语/吉凶/详解」拆成字段](https://www.showapi.com/guides/fortune-expList-parse-1617)
- **本系列共 13 篇**:查看[测吉凶指南总目录](https://www.showapi.com/guides/fortune-guides-1617)