> For the complete documentation index, see [llms.txt](https://docscn.jkidata.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docscn.jkidata.com/cai-wu-shu-ju/gong-si-xiang-xi-xin-xi-jie-kou-company-details.md).

# 🏢 公司详细信息接口（Company Details）

获取指定产品的扩展资料。当前可通过 `fields` 参数请求公司 Logo 等详细信息。

### 接口信息

```
GET /symbol_details
```

> 本页面使用相对路径。API 基础地址请参考「财务数据」首页。

### 请求参数

| 参数         | 类型     | 必填 | 示例             | 说明          |
| ---------- | ------ | -- | -------------- | ----------- |
| `country`  | string | 是  | `india`        | 国家代码        |
| `exchange` | string | 是  | `NSE`          | 交易所代码       |
| `symbol`   | string | 是  | `360ONE`       | 产品代码        |
| `fields`   | string | 否  | `logoid`       | 指定需要返回的扩展字段 |
| `key`      | string | 是  | `YOUR_API_KEY` | API 访问密钥    |

### 请求示例

```
GET /symbol_details?country=india&exchange=NSE&symbol=360ONE&fields=logoid&key=YOUR_API_KEY
```

#### cURL

```
curl --request GET \
  "$JKIDATA_BASE_URL/symbol_details?country=india&exchange=NSE&symbol=360ONE&fields=logoid&key=$JKIDATA_API_KEY"
```

#### Python

```
import requests

url = f"{JKIDATA_BASE_URL}/symbol_details"

params = {
    "country": "india",
    "exchange": "NSE",
    "symbol": "360ONE",
    "fields": "logoid",
    "key": JKIDATA_API_KEY,
}

response = requests.get(url, params=params, timeout=10)
response.raise_for_status()

result = response.json()
print(result)
```

#### JavaScript

```
const params = new URLSearchParams({
  country: "india",
  exchange: "NSE",
  symbol: "360ONE",
  fields: "logoid",
  key: process.env.JKIDATA_API_KEY,
});

const response = await fetch(
  `${process.env.JKIDATA_BASE_URL}/symbol_details?${params}`
);

if (!response.ok) {
  throw new Error(`HTTP ${response.status}`);
}

const result = await response.json();
console.log(result);
```

### 成功响应示例

```
{
  "status": 0,
  "message": "SUCCESS",
  "data": {
    "country": "india",
    "logoid": "<svg>...</svg>"
  },
  "total": 0,
  "page": 0,
  "symbol": "360ONE",
  "code": "360ONE",
  "interval": null
}
```

> `logoid` 返回的 SVG 内容通常较长，因此示例使用 `<svg>...</svg>` 省略具体图形数据。实际响应可能包含其他元数据字段。

### `data` 字段说明

| 字段        | 类型            | 说明                      |
| --------- | ------------- | ----------------------- |
| `country` | string        | 产品所属国家                  |
| `logoid`  | string / null | 公司 Logo，可能以完整 SVG 字符串返回 |

### Logo 数据处理

`logoid` 不是图片地址，而是可能包含完整 SVG 标记的字符串。使用前应检查字段是否存在，并验证内容格式。

#### JavaScript

```
const logoSvg = result.data?.logoid;

if (
  typeof logoSvg === "string" &&
  logoSvg.trimStart().startsWith("<svg")
) {
  console.log("已获取 SVG Logo");
}
```

#### Python

```
logo_svg = result.get("data", {}).get("logoid")

if isinstance(logo_svg, str) and logo_svg.lstrip().startswith("<svg"):
    print("已获取 SVG Logo")
```

{% hint style="warning" %}\
如果需要在网页中直接渲染 SVG，请先进行安全过滤。不要直接渲染来源不明或未经验证的 SVG 内容。\
{% endhint %}

### 注意事项

* 所有交易所参数统一使用 `exchange`。
* `country`、`exchange` 和 `symbol` 必须正确对应。
* 未传入 `fields` 时，返回字段可能与示例不同。
* 请求多个扩展字段前，请确认接口支持的字段名称和传递格式。
* 部分产品可能没有 Logo，`logoid` 可能为空或返回 `null`。
* 不同国家和交易所返回的扩展字段可能存在差异。
* 客户端应允许字段缺失、空字符串或 `null`。
* 请勿在前端代码或公共代码仓库中暴露真实 API Key。
