
# API do LinkedIn e Assistentes de IA (MCP)

Tudo o que você faz nas páginas do LinkedIn também pode ser feito a partir de um script ou de um assistente de IA: seus leads, a fila de solicitações de conexão, suas regras de ICP (incluindo quais países você aceita e qual deve ser o tamanho da rede de um lead), sua caixa de entrada, seus agentes de IA e suas configurações.

Não há nada novo para configurar. Ele usa a **mesma chave de API que o restante do <span data-t="appName">DM Champ</span>**, portanto, se você já chama nossa API ou tem um assistente de IA conectado, você está pronto.

## Onde encontrar sua chave

Configurações → Integrações → Chave de API. Se você ainda não tem uma, clique em **Gerar chave de API**. As etapas completas estão em [Acesso à API](api-access.md).

Não há uma chave separada do LinkedIn para criar, rotacionar ou revogar. A chave atua como você, com as mesmas permissões que você tem no aplicativo, portanto, trate-a como uma senha. Revogá-la nas Configurações corta instantaneamente todos os scripts e assistentes conectados.

## Chamando a API diretamente

- **URL base:** `https://app.sdrpilot.ai/api/v1`
- **Cabeçalho:** `X-API-Key: YOUR_API_KEY`
- **Descrição legível por máquina:** `https://app.sdrpilot.ai/api/v1/docs/openapi.yaml`
  (também disponível como `.json`)

O documento OpenAPI é público e descreve cada rota, portanto, a maioria das ferramentas de API e geradores de código pode importá-lo diretamente sem uma chave.

`Authorization: Bearer YOUR_API_KEY` também funciona. O que você não pode fazer é enviar uma chave incorreta e esperar que ela funcione para outra coisa: uma vez que uma chave é apresentada, a resposta é baseada nessa chave.

O que é retornado quando algo está errado:

| Resposta | O que significa |
|---|---|
| `401` | A chave está ausente, malformada ou não foi aceita. |
| `403` | A chave é válida, mas essa conta não possui um espaço de trabalho do LinkedIn ou ainda não tem permissão. |
| `429` | Muitas tentativas rejeitadas em um minuto para essa chave. Diminua a velocidade. |
| `502` `dmchamp_unreachable` | Não foi possível verificar sua chave naquele momento. Ela nunca é tratada como um passe. Tente novamente. |

## Conectando um assistente de IA

As ferramentas do LinkedIn residem no mesmo endpoint MCP que o do <span data-t="appName">DM Champ</span>, com a mesma chave de API, portanto, um assistente que você já conectou os detecta automaticamente. Se você ainda não conectou um, siga [Conectar Assistentes de IA (MCP)](connect-ai-clients.md) e use o endpoint listado lá.

::: master-only
O endpoint é `https://mcp.youraiconnector.com/mcp`, autenticado com o cabeçalho `X-API-Key`, exatamente como descrito em Conectar Assistentes de IA (MCP).
:::

As ferramentas do LinkedIn possuem o prefixo **`linkedin_`**, portanto, são fáceis de identificar na lista de ferramentas do seu assistente e fáceis de solicitar pelo nome ("use as ferramentas do LinkedIn para me mostrar o que está na fila"). Não existem permissões por ferramenta: uma ferramenta pode fazer tudo o que você pode fazer no aplicativo.

## Exemplo 1 — aceitar leads apenas de determinados países

Seu perfil de ICP contém as regras que os leads precisam cumprir. Isso define uma lista de permissões para os Países Baixos e a Bélgica. Os códigos de país são de duas letras, em maiúsculas.

```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"]}}'
```

Duas coisas para saber. O corpo é o conjunto **completo** de regras, não um patch: uma regra que você omitir será desativada. E a resposta inclui um bloco `impact_on_queue` informando quantos pedidos de conexão já na fila falhariam nas novas regras, por exemplo `{"examined": 389, "would_withdraw": 155}`.
Salvar regras não retira nada por conta própria.

Em um assistente, você simplesmente diria: "Defina meu ICP para aceitar apenas Países Baixos e Bélgica, e me diga o que isso faria com minha fila."

## Exemplo 2 — ver o que está na fila

Pedidos de conexão que foram aprovados, mas ainda não enviados:

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

Cada linha contém o nome da pessoa, cargo, empresa, local, país, contagem de conexões e seguidores, e a pontuação. Você pode restringir a lista com `country`, `min_score`, `max_score` e `source`, e navegar por ela com `limit` e `cursor`. Apenas pedidos na fila e aguardando aprovação aparecem aqui. Pedidos já enviados são histórico e não podem ser alterados.

## Exemplo 3 — retirar todos fora dos seus países

Após alterar suas regras, verifique novamente a fila em relação a elas. Sem `apply=true`, isso é uma prévia e não altera nada:

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

Você recebe de volta quantos foram examinados, quantos seriam retirados e um detalhamento por regra, como `country` e `network_too_small` (a rede do lead era menor que o seu mínimo). Satisfeito com isso? Execute novamente com `?apply=true` e esses pedidos serão retirados.

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

Se preferir retirar um conjunto específico, envie os IDs, ou um filtro como `{"filter":{"status":"queued","country":"NG"}}` para remover tudo o que corresponder. Envie IDs ou um filtro, não ambos.

## Solução de problemas

- **`401` em cada chamada** — a chave está faltando ou incorreta. Copie-a novamente em Configurações → Integrações → Chave de API.
- **`403` embora a chave funcione em outros lugares** — essa conta não está vinculada a um espaço de trabalho do LinkedIn, ou o LinkedIn ainda não está habilitado para ela.
- **`502 dmchamp_unreachable`** — uma falha temporária ao verificar sua chave. Nada foi processado; tente novamente.
- **Uma regra não corresponde a nada** — os códigos de país devem estar no formato de duas letras maiúsculas (`NL`, não `Netherlands` ou `nl`), e os códigos de idioma devem estar em minúsculas.
- **O assistente não mostra ferramentas do LinkedIn** — reconecte-o para que ele recarregue a lista de ferramentas e verifique se você está usando a mesma chave de API.

---

## Próximos passos

- [Conectar Assistentes de IA (MCP)](connect-ai-clients.md) — configure o Claude, ChatGPT ou Cursor com sua chave.
- [Acesso à API](api-access.md) — gere ou rotacione a chave que isso utiliza.
