技术博客
毒鸡汤生成接口:返回字段全解(ret_code / remark / emposion)

毒鸡汤生成接口:返回字段全解(ret_code / remark / emposion)

作者: 万维易源
2026-09-03
返回字段ret_codeemposion字段解析
# 毒鸡汤生成接口:返回字段全解(ret_code / remark / emposion) > 接口/接入点:毒鸡汤生成(apiCode 2784,接入点 1) · 是否免费:免费 · 请求方式:POST/GET · 返回格式:JSON · 适用人群:已接入或准备接入的开发者 · 阅读时间:约 4 分钟 ## 核心要点 - 返回分两层:ShowAPI **系统级包裹**(`showapi_res_*`)+ 业务体 `showapi_res_body`。 - 业务体只有三个字段:`ret_code`(0/-1)、`remark`(错误信息)、`emposion`(毒鸡汤正文)。 - 字段名是 `emposion`(不是 emotion),取数务必原样引用,否则拿到 `undefined`。 ## Why:先看懂返回,再谈集成 很多接入问题不是接口挂了,而是取错字段:`emposion` 拼成 `emotion`、把系统级 `showapi_res_code` 当成业务成功标志。这一篇把结构讲透,后面所有文章都复用这张表。 ## What:接口速览 | 项目 | 说明 | |------|------| | 接口地址 | `https://route.showapi.com/2784-1` | | 入参 | 无(仅 appKey 鉴权) | | 返回格式 | JSON | | 业务数据位置 | `showapi_res_body` 对象内 | ## 系统级包裹字段 | 字段 | 类型 | 说明 | |------|------|------| | `showapi_res_code` | Integer | API 系统级状态码 | | `showapi_res_error` | String | 系统级错误信息(成功时通常为空) | | `showapi_res_id` | String | 本次请求唯一标识 | | `showapi_fee_num` | Integer | 本次调用计费次数(免费接口通常为 0) | | `showapi_res_body` | Object | **业务返回体,下文所有字段都在这里** | ## 业务体 `showapi_res_body` 字段表 | 字段 | 类型 | 取值 | 说明 | |------|------|------|------| | `ret_code` | Number | `0` / `-1` | **0=生成成功,-1=失败** | | `remark` | String | 文本 | 失败时的错误信息;成功时为空 | | `emposion` | String | 文本 | **毒鸡汤正文**(注意字段名即此拼写,非 emotion) | > 该接口没有多状态机、没有枚举列表、没有子状态。状态判断只需要 `ret_code == 0` 即可。 ## 返回示例 ```json { "showapi_res_id": "", "showapi_res_error": "", "showapi_res_code": 0, "showapi_res_body": { "ret_code": 0, "remark": "", "emposion": "你以为只要长得漂亮就有男生喜欢?你以为只要有了钱漂亮妹子就自己贴上来了?你以为学霸就能找到好工作?我告诉你吧,这些都是真的!" } } ``` 失败示例(`ret_code = -1`): ```json { "showapi_res_code": 0, "showapi_res_body": { "ret_code": -1, "remark": "appKey 无效或已过期", "emposion": "" } } ``` ## 取数要点(Python 示例) ```python body = data.get("showapi_res_body", {}) if body.get("ret_code") == 0: quote = body.get("emposion") # 注意:emposion,不是 emotion print(quote) else: print("失败:", body.get("remark")) ``` ## 进阶/边界 - **只认 `ret_code`**:判断业务成功看 `showapi_res_body.ret_code == 0`,不要只看系统级 `showapi_res_code`。 - **失败一定有 `remark`**:`ret_code == -1` 时优先读 `remark` 定位原因。 - **`emposion` 为空串即失败**:成功时该字段才有内容。 ## FAQ **Q1:为什么我用 data.emposion 取到 undefined?** 字段名是 `emposion`,且它被包在 `showapi_res_body` 里。正确路径是 `data.showapi_res_body.emposion`(JavaScript)或 `data["showapi_res_body"]["emposion"]`(Python)。拼成 `emotion` 或漏掉外层包裹都会取空。 **Q2:ret_code 和 showapi_res_code 有什么区别?** `showapi_res_code` 是 ShowAPI 系统级状态码(网络/网关/鉴权层);`ret_code` 在 `showapi_res_body` 内,是接口业务逻辑结果(0 成功/-1 失败)。业务判断以 `ret_code` 为准。 **Q3:有没有更多状态码,比如"内容为空""敏感词"?** 文档与 OpenAPI 定义中 `ret_code` 仅 0/-1 两态,没有更细的错误枚举。失败时信息集中在 `remark`。 ## 相关能力 / 下一步阅读 - [毒鸡汤生成接口:5 分钟从注册到调通第一条毒鸡汤](https://www.showapi.com/guides/poison-soup-quickstart-2784) —— 第一次调用 - [毒鸡汤接口常见问题与避坑](https://www.showapi.com/guides/poison-soup-faq-2784) —— 失败排查全集 - [毒鸡汤接口 5 秒超时下,如何做重试与容错?](https://www.showapi.com/guides/poison-soup-timeout-retry-2784) —— 工程化容错 - **本系列共 14 篇**:查看[毒鸡汤生成接口官方指南总目录](https://www.showapi.com/guides/poison-soup-guides-2784)