
# LinkedIn API ve Yapay Zeka Asistanları (MCP)

LinkedIn sayfalarında yaptığınız her şey bir betik veya yapay zeka asistanı aracılığıyla da yapılabilir: potansiyel müşterileriniz, bağlantı isteği kuyruğunuz, ICP kurallarınız (hangi ülkeleri kabul ettiğiniz ve bir potansiyel müşterinin ağının ne kadar büyük olması gerektiği dahil), gelen kutunuz, yapay zeka temsilcileriniz ve ayarlarınız.

Kurulacak yeni bir şey yok. **<span data-t="appName">DM Champ</span>'ın geri kalanıyla aynı API anahtarını** kullanır, bu nedenle zaten API'mizi çağırıyorsanız veya bağlı bir yapay zeka asistanınız varsa, hazırsınız demektir.

## Anahtarınızı nerede bulabilirsiniz

Ayarlar → Entegrasyonlar → API Anahtarı. Henüz bir anahtarınız yoksa, **API anahtarı oluştur**'a tıklayın. Tüm adımlar [API Erişimi](api-access.md) bölümündedir.

Oluşturulacak, yenilenecek veya iptal edilecek ayrı bir LinkedIn anahtarı yoktur. Anahtar, uygulamadaki izinlerinizle aynı izinlere sahip olarak sizin yerinize hareket eder, bu yüzden onu bir parola gibi koruyun. Ayarlar'dan iptal etmek, bağlı tüm betikleri ve asistanları anında devre dışı bırakır.

## API'yi doğrudan çağırma

- **Temel URL:** `https://app.sdrpilot.ai/api/v1`
- **Üstbilgi:** `X-API-Key: YOUR_API_KEY`
- **Makine tarafından okunabilir açıklama:** `https://app.sdrpilot.ai/api/v1/docs/openapi.yaml`
  (ayrıca `.json` olarak da mevcuttur)

OpenAPI belgesi herkese açıktır ve her rotayı tanımlar, bu nedenle çoğu API aracı ve kod oluşturucu, bir anahtara ihtiyaç duymadan onu doğrudan içe aktarabilir.

`Authorization: Bearer YOUR_API_KEY` da çalışır. Yapamayacağınız şey, yanlış bir anahtar gönderip başka bir şeye geçmesini ummaktır: bir anahtar sunulduğunda, yanıt o anahtara dayalı olur.

Bir şeyler yanlış gittiğinde ne döner:

| Yanıt | Ne anlama gelir |
|---|---|
| `401` | Anahtar eksik, hatalı biçimlendirilmiş veya kabul edilmiyor. |
| `403` | Anahtar geçerli, ancak bu hesabın LinkedIn çalışma alanı yok veya henüz erişimine izin verilmemiş. |
| `429` | O anahtar için bir dakika içinde çok fazla reddedilen deneme yapıldı. Yavaşlayın. |
| `502` `dmchamp_unreachable` | Anahtarınızı o anda kontrol edemedik. Asla geçiş izni olarak değerlendirilmez. Yeniden deneyin. |

## Yapay zeka asistanı bağlama

LinkedIn araçları, <span data-t="appName">DM Champ</span>'ınkiyle aynı MCP uç noktasında ve aynı API anahtarıyla çalışır, bu nedenle zaten bağladığınız bir asistan bunları otomatik olarak algılar. Henüz bir asistan bağlamadıysanız, [Yapay Zeka Asistanlarını Bağlama (MCP)](connect-ai-clients.md) kılavuzunu izleyin ve orada listelenen uç noktayı kullanın.

::: master-only
Uç nokta `https://mcp.youraiconnector.com/mcp`'dır ve Yapay Zeka Asistanlarını Bağlama (MCP) bölümünde açıklandığı gibi `X-API-Key` üstbilgisi ile doğrulanır.
:::

LinkedIn araçlarının tamamı **`linkedin_`** ön ekine sahiptir, bu sayede asistanınızın araç listesinde kolayca fark edilebilirler ve isimleriyle kolayca çağrılabilirler ("kuyrukta neler olduğunu göstermek için LinkedIn araçlarını kullan"). Araç bazında izinler yoktur: bir araç, uygulamada sizin yapabildiğiniz her şeyi yapabilir.

## Örnek 1 — yalnızca belirli ülkelerden gelen adayları kabul et

ICP profiliniz, adayların geçmesi gereken kuralları barındırır. Bu, Hollanda ve Belçika'dan oluşan bir izin listesi belirler. Ülke kodları iki harfli ve büyük harf olmalıdır.

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

Bilmeniz gereken iki şey var. Gövde, kuralların **tamamını** içerir, bir yama değildir: dışarıda bıraktığınız bir kural devre dışı bırakılır. Ayrıca yanıt, yeni kurallara uymayacak halihazırda kuyruğa alınmış kaç bağlantı isteği olduğunu belirten bir `impact_on_queue` bloğu içerir, örneğin `{"examined": 389, "would_withdraw": 155}`. Kuralları kaydetmek tek başına hiçbir şeyi geri çekmez.

Bir asistana basitçe şunu söyleyebilirsiniz: "ICP'mi yalnızca Hollanda ve Belçika'yı kabul edecek şekilde ayarla ve bunun kuyruğuma ne yapacağını söyle."

## Örnek 2 — kuyrukta neler olduğunu gör

Onaylanmış ancak henüz gönderilmemiş bağlantı istekleri:

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

Her satır kişinin adını, başlığını, şirketini, konumunu, ülkesini, bağlantı ve takipçi sayılarını ve puanını taşır. Listeyi `country`, `min_score`, `max_score` ve `source` ile daraltabilir ve `limit` ile `cursor` kullanarak sayfalar arasında gezinebilirsiniz. Burada yalnızca kuyruğa alınan ve onay bekleyen istekler görünür. Zaten gönderilmiş olan istekler geçmişte kalmıştır ve değiştirilemezler.

## Örnek 3 — ülkelerinizin dışındaki herkesi geri çek

Kurallarınızı değiştirdikten sonra, kuyruğu onlara göre tekrar kontrol edin. `apply=true` olmadan bu bir önizlemedir ve hiçbir şeyi değiştirmez:

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

Kaç kişinin incelendiğini, kaçının geri çekileceğini ve kural bazında bir dökümü (örneğin `country` ve `network_too_small` (adayın ağı sizin minimumunuzdan daha küçüktü)) alırsınız. Sonuçtan memnun musunuz? `?apply=true` ile tekrar çalıştırın, o istekler geri çekilecektir.

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

Belirli bir grubu geri çekmeyi tercih ederseniz, bunun yerine kimlikleri (ids) veya eşleşen her şeyi temizlemek için `{"filter":{"status":"queued","country":"NG"}}` gibi bir filtre gönderin. Kimlikleri veya bir filtreyi gönderin, ikisini birden değil.

## Sorun Giderme

- **Her çağrıda `401`** — anahtar eksik veya yanlış. Ayarlar → Entegrasyonlar → API Anahtarı kısmından tekrar kopyalayın.
- **Anahtar başka yerlerde çalışmasına rağmen `403`** — o hesap bir LinkedIn çalışma alanına bağlı değil veya LinkedIn henüz onun için etkinleştirilmemiş.
- **`502 dmchamp_unreachable`** — anahtarınızı kontrol ederken geçici bir aksaklık. Hiçbir şey işleme alınmadı; tekrar deneyin.
- **Bir kural hiçbir şeyle eşleşmiyor** — ülke kodları iki harfli büyük harf biçiminde olmalıdır (`NL`, `Netherlands` veya `nl` değil) ve dil kodları küçük harf olmalıdır.
- **Asistan hiçbir LinkedIn aracını göstermiyor** — araç listesini yeniden yüklemesi için yeniden bağlayın ve aynı API anahtarını kullandığınızdan emin olun.

---

## Sonraki Adımlar

- [Yapay Zeka Asistanlarını Bağla (MCP)](connect-ai-clients.md) — Claude, ChatGPT veya Cursor'ı anahtarınızla kurun.
- [API Erişimi](api-access.md) — bunun kullandığı anahtarı oluşturun veya yenileyin.
