API Dokümantasyonu

LinkTrack Public REST API — adaylarınızı kendi araçlarınızla LinkTrack arasında taşıyın.

API, LinkTrack'i kendi araçlarınıza bağlamanız için var. İki temel işi yapar: adayları dışarı aktarmak (kendi tablonuz, raporlama aracınız, mevcut CRM'iniz) ve adayları içeri almak (web formunuz, ATS'niz, Airtable). Zapier entegrasyonumuz da tam olarak bu API'nin üstünde çalışır — kod yazmak istemiyorsanız Zapier yolunu kullanın.

Kimler kullanabilir

API, Bireysel ve Ekip planlarına dahildir; Ücretsiz planda API anahtarı çalışmaz. Planınız düşerse veya süresi dolarsa mevcut anahtarlarınız otomatik olarak çalışmayı durdurur (silinmez) — plan geri geldiğinde aynı anahtarlar yeniden geçerli olur.

Kimlik doğrulama

Ayarlar → Entegrasyonlar bölümünden bir API anahtarı oluşturun. Anahtar yalnız bir kez gösterilir; bizde yalnız özeti (hash) saklanır, geri getirilemez. Her istekte iki başlıktan birini kullanın:

Authorization: Bearer lt_xxxxxxxxxxxxxxxx

X-Api-Key: lt_xxxxxxxxxxxxxxxx

Anahtarınız hesabınızı temsil eder — sunucu tarafında saklayın, tarayıcıda veya herkese açık bir depoda tutmayın. Anahtarı iptal etmek anında etkilidir.

Temel adres

https://linktrackapp.com/api/v1

Uçlar

GET/me

Anahtarı doğrular; hesap bilginizi döner. Bağlantı testi için kullanın.

GET/leads

Adaylarınızı listeler. Parametreler: since (ISO tarih — bu tarihten sonra eklenenler), limit (1-100, varsayılan 50), workspaceId.

POST/leads

Yeni aday oluşturur. Zorunlu alan: fullName.

GET/workspaces

Erişebildiğiniz çalışma alanları (Tümü/Kişisel + üyesi olduğunuz alanlar).

GET/statuses

Süreç aşamalarınız. İsteğe bağlı workspaceId ile kapsanır.

GET/categories

Kategorileriniz (klasörleriniz). İsteğe bağlı workspaceId ile kapsanır.

Örnekler

Son eklenen adayları çekin

curl -s "https://linktrackapp.com/api/v1/leads?limit=10&since=2026-09-01T00:00:00Z" \
  -H "Authorization: Bearer lt_xxxxxxxxxxxxxxxx"

Yeni aday oluşturun

curl -s -X POST "https://linktrackapp.com/api/v1/leads" \
  -H "Authorization: Bearer lt_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "fullName": "Ada Lovelace",
    "profileUrl": "https://www.linkedin.com/in/adalovelace",
    "title": "Senior Backend Engineer",
    "company": "Analytical Engines",
    "email": "ada@example.com",
    "tags": ["backend", "remote"]
  }'

Aday nesnesi

Listeleme ve oluşturma aynı şekli döndürür. Boş alanlar null gelir; tags her zaman dizidir.

{
  "id": "clx8f3k2p0001",
  "fullName": "Ada Lovelace",
  "title": "Senior Backend Engineer",
  "company": "Analytical Engines",
  "location": "London",
  "education": "Cambridge",
  "profileUrl": "https://www.linkedin.com/in/adalovelace",
  "email": "ada@example.com",
  "phone": null,
  "notes": null,
  "tags": ["backend", "remote"],
  "status": "Görüşme",
  "category": "Backend 2026",
  "workspace": null,
  "createdAt": "2026-09-14T09:12:33.000Z",
  "lastEngagedAt": null
}

Çalışma alanı kapsamı

Ekip planındaysanız kişisel alanınızın yanında üye olduğunuz alanlar da olabilir. workspaceId parametresi kapsamı seçer:

  • all — erişebildiğiniz tüm alanlar (varsayılan)
  • personal — yalnız kişisel alanınız
  • <id> — belirli bir alan — üye değilseniz 403 döner

Oluştururken bilinmesi gerekenler

  • ▸Kabul edilen alanlar: fullName (zorunlu), profileUrl, title, company, location, email, phone, notes, tags (en fazla 20), categoryId.
  • ▸categoryId vermezseniz aday varsayılan kategorinize düşer; hedef çalışma alanı seçilen kategoriye göre belirlenir.
  • ▸Mükerrer kontrolünün kapsamı: kişisel alanda yalnız seçilen kategori içinde, paylaşımlı çalışma alanında ise alanın tamamında aranır.
  • ▸profileUrl otomatik kanonikleştirilir (protokol, www, sondaki eğik çizgi, sorgu parametreleri) — aynı kişiyi iki kez kaydetmezsiniz.
  • ▸Aynı profileUrl zaten kayıtlıysa aday oluşturulmaz ve 400 döner ("Bu profil zaten kayıtlı."). Zapier bu adımı hatalı görev olarak işaretler — akışınızı buna göre kurun.
  • ▸Boş metin gönderilen isteğe bağlı alanlar 'girilmemiş' sayılır — doğrulama hatası almazsınız.

Sınırlar ve davranış

  • ▸Hesap başına en fazla 20 aktif API anahtarı.
  • ▸Hız sınırı IP adresi başına uygulanır: dakikada 120, saatte 3.000 istek. Aşarsanız 429 alırsınız. (Zapier gibi paylaşımlı çıkış IP'si kullanan araçlarda bu kova başka hesaplarla paylaşılabilir — tetikleyici sıklığı normal aralıklarda sorun çıkarmaz.)
  • ▸Ücretli planınız biterse anahtarlar çalışmayı durdurur; plan geri geldiğinde aynı anahtarlar tekrar çalışır.
  • ▸Yanıtlar JSON. Hatalar HTTP durum kodu + açıklayıcı message alanı ile döner (401 geçersiz anahtar, 403 erişiminiz olmayan çalışma alanı, 400 doğrulama).
  • ▸Adaylar en yeniden eskiye sıralanır (createdAt azalan).

Henüz olmayanlar

Bunları bilerek listeliyoruz; öğrenmek için API'yi denemenize gerek kalmasın:

  • —Aday güncelleme veya silme uçları (şimdilik oluşturma ve listeleme var).
  • —Giden webhook (olay bildirimi) — değişiklikleri öğrenmek için since parametresiyle düzenli aralıklarla sorgulayın.
  • —Sayfalama imleci — limit en fazla 100; daha fazlası için since ile ilerleyin.

Kod yazmak istemiyorsanız

Zapier entegrasyonumuz bu API'nin üstünde çalışır ve aynı anahtarla bağlanır. Ayarlar → Entegrasyonlar bölümünden bağlayabilirsiniz.

Ayarlar → Entegrasyonlar