
# LinkedIn API 与 AI 助手 (MCP)

你在 LinkedIn 页面上所做的一切，同样可以通过脚本或 AI 助手来完成：包括你的潜在客户、连接请求队列、ICP 规则（包括你接受的国家/地区以及潜在客户的网络规模要求）、收件箱、AI 代理以及你的设置。

无需进行任何新的设置。它使用与 **<span data-t="appName">DM Champ</span> 其余部分相同的 API 密钥**，因此如果你已经调用了我们的 API 或连接了 AI 助手，那么你已经准备就绪。

## 如何找到你的密钥

设置 (Settings) → 集成 (Integrations) → API 密钥 (API Key)。如果你还没有密钥，请点击 **生成 API 密钥 (Generate API key)**。完整步骤请参阅 [API 访问](api-access.md)。

无需创建、轮换或撤销单独的 LinkedIn 密钥。该密钥代表你的身份，拥有与你在应用程序中相同的权限，因此请像对待密码一样妥善保管。在设置中撤销它会立即切断所有已连接的脚本和助手。

## 直接调用 API

- **基础 URL：** `https://app.sdrpilot.ai/api/v1`
- **Header：** `X-API-Key: YOUR_API_KEY`
- **机器可读描述：** `https://app.sdrpilot.ai/api/v1/docs/openapi.yaml`
  （也可作为 `.json` 获取）

OpenAPI 文档是公开的，描述了每一个路由，因此大多数 API 工具和代码生成器无需密钥即可直接导入它。

`Authorization: Bearer YOUR_API_KEY` 同样适用。你不能发送错误的密钥并期望它能通过其他方式生效：一旦提供了密钥，响应将基于该密钥进行。

出错时的返回信息：

| 响应 | 含义 |
|---|---|
| `401` | 密钥缺失、格式错误或不被接受。 |
| `403` | 密钥有效，但该账户没有 LinkedIn 工作区，或尚未获得访问权限。 |
| `429` | 该密钥在一分钟内被拒绝的次数过多。请降低频率。 |
| `502` `dmchamp_unreachable` | 我们暂时无法验证你的密钥。它绝不会被视为通过。请重试。 |

## 连接 AI 助手

LinkedIn 工具位于与 <span data-t="appName">DM Champ</span> 相同的 MCP 端点上，并使用相同的 API 密钥，因此你已经连接的助手会自动识别它们。如果你尚未连接助手，请按照 [连接 AI 助手 (MCP)](connect-ai-clients.md) 中的说明操作，并使用其中列出的端点。

::: master-only
端点为 `https://mcp.youraiconnector.com/mcp`，使用 `X-API-Key` 标头进行身份验证，具体方式与“连接 AI 助手 (MCP)”中所述完全一致。
:::

LinkedIn 工具均以 **`linkedin_`** 为前缀，因此您可以轻松地在助手的工具列表中找到它们，并按名称进行调用（例如“使用 LinkedIn 工具向我展示队列中的内容”）。工具没有单独的权限设置：工具可以执行您在应用程序中能执行的任何操作。

## 示例 1 — 仅接受来自特定国家的潜在客户

您的 ICP 配置文件包含潜在客户必须通过的规则。此设置将荷兰和比利时设为白名单。国家/地区代码为两个大写字母。

```bash
curl -X PUT https://app.sdrpilot.ai/api/v1/icp/YOUR_ICP_ID/filters \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"countries":{"mode":"allow","codes":["NL","BE"]}}'
```

有两点需要注意。请求主体是规则的**完整**集合，而非补丁：您遗漏的规则将被关闭。响应中包含一个 `impact_on_queue` 代码块，告知您有多少已排队的连接请求将无法通过新规则，例如 `{"examined": 389, "would_withdraw": 155}`。
保存规则本身不会撤回任何内容。

在助手中，您只需说：“将我的 ICP 设置为仅接受荷兰和比利时，并告诉我这会对我的队列产生什么影响。”

## 示例 2 — 查看队列中的内容

已批准但尚未发送的连接请求：

```bash
curl -s "https://app.sdrpilot.ai/api/v1/connections/queue?status=queued&limit=100" \
  -H "X-API-Key: YOUR_API_KEY"
```

每一行都包含人员姓名、头衔、公司、位置、国家/地区、连接数和关注者数量以及评分。您可以使用 `country`、`min_score`、`max_score` 和 `source` 缩小列表范围，并使用 `limit` 和 `cursor` 进行翻页。此处仅显示已排队和等待批准的请求。已发送的请求属于历史记录，无法更改。

## 示例 3 — 撤回您所在国家/地区之外的所有请求

更改规则后，根据新规则重新检查队列。如果不使用 `apply=true`，这仅为预览，不会进行任何更改：

```bash
curl -X POST "https://app.sdrpilot.ai/api/v1/connections/queue/rescreen" \
  -H "X-API-Key: YOUR_API_KEY"
```

您将收到已检查数量、将要撤回的数量以及按规则分类的明细，例如 `country` 和 `network_too_small`（潜在客户的社交网络规模小于您的最小值）。满意吗？再次运行并加上 `?apply=true`，这些请求就会被撤回。

```bash
curl -X POST "https://app.sdrpilot.ai/api/v1/connections/queue/rescreen?apply=true" \
  -H "X-API-Key: YOUR_API_KEY"
```

如果您更倾向于撤回特定集合，请改为发布 ID，或使用过滤器（例如 `{"filter":{"status":"queued","country":"NG"}}`）来清除所有匹配项。请发送 ID 或过滤器，不要同时发送两者。

## 故障排除

- **`401` 在每次调用时** — 密钥缺失或错误。请从“设置”→“集成”→“API 密钥”中重新复制。
- **`403` 尽管密钥在其他地方有效** — 该账户未关联到 LinkedIn 工作区，或者尚未为该账户启用 LinkedIn。
- **`502 dmchamp_unreachable`** — 检查密钥时出现临时故障。没有任何请求被通过；请重试。
- **规则不匹配任何内容** — 国家/地区代码必须是两个大写字母形式（`NL`，而非 `Netherlands` 或 `nl`），语言代码必须是小写。
- **助手未显示 LinkedIn 工具** — 重新连接它以重新加载工具列表，并检查您是否使用了相同的 API 密钥。

---

## 后续步骤

- [连接 AI 助手 (MCP)](connect-ai-clients.md) — 使用您的密钥设置 Claude、ChatGPT 或 Cursor。
- [API 访问](api-access.md) — 生成或轮换此工具使用的密钥。
