lnkz.tr API

API herkese açık değildir. Kullanmak için hesap açmanız, panelden bir API anahtarı üretmeniz ve hesabınızda kontör bulunması gerekir.

Kimlik doğrulama

Panelden ürettiğiniz API kullanıcı adı ve şifresini HTTP Basic Auth ile gönderin. Şifre yalnızca üretim anında gösterilir.

curl -u "lk_9f3c2a71b0e84d55:sk_XXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
  https://lnkz.tr/api/v1/me

Alternatif başlıklar:

X-Api-Key-Id: lk_9f3c2a71b0e84d55
X-Api-Key-Secret: sk_XXXXXXXXXXXXXXXXXXXXXXXXXXXX

# veya
Authorization: Bearer lk_9f3c2a71b0e84d55.sk_XXXXXXXXXXXXXXXXXXXXXXXXXXXX

Kısa link oluştur

POST /api/v1/links

Her başarılı istek 1 kontör harcar. Doğrulama hatasında kontör iade edilir.

curl -u "$KEY_ID:$KEY_SECRET" \
  -H "Content-Type: application/json" \
  -X POST https://lnkz.tr/api/v1/links \
  -d '{
    "url": "https://randevu.selfklinik.com/?GUID=a8faa905-477a-11f0-89df-52e18006e243",
    "title": "Randevu bağlantısı",
    "tags": ["klinik", "randevu"],
    "expires_at": "2026-12-31 23:59:00",
    "max_clicks": 5000
  }'

Yanıt:

{
  "ok": true,
  "link": {
    "id": 1042,
    "code": "REQSHUW1",
    "short_url": "https://lnkz.tr/REQSHUW1",
    "target_url": "https://randevu.selfklinik.com/?GUID=a8faa905-477a-11f0-89df-52e18006e243",
    "title": "Randevu bağlantısı",
    "tags": ["klinik", "randevu"],
    "clicks": 0,
    "max_clicks": 5000,
    "expires_at": "2026-12-31 23:59:00",
    "is_active": true,
    "protected": false,
    "qr_url": "https://api.qrserver.com/v1/create-qr-code/?...",
    "created_at": "2026-07-28 10:15:00"
  },
  "credits_charged": 1,
  "credits_balance": 999
}
Alan Tip Açıklama
urlstringZorunlu. http/https hedef adres.
codestringİsteğe bağlı özel kod (3-32 karakter).
titlestringPanelde görünen başlık.
tagsarray|stringEtiketler.
expires_atstringY-m-d H:i:s biçiminde bitiş zamanı.
max_clicksintBu sayıdan sonra link kapanır.
passwordstringLink parolası.

Linkleri listele

GET /api/v1/links/list?limit=25&offset=0

Listeleme kontör harcamaz.

Link detayı ve silme

GET /api/v1/links/{id|code}

DELETE /api/v1/links/{id|code}

curl -u "$KEY_ID:$KEY_SECRET" https://lnkz.tr/api/v1/links/REQSHUW1
curl -u "$KEY_ID:$KEY_SECRET" -X DELETE https://lnkz.tr/api/v1/links/REQSHUW1

AI önerileri

POST /api/v1/ai/suggest

task alanı: slug, meta veya social. Kontör maliyeti fiyatlandırma sayfasında listelenir.

curl -u "$KEY_ID:$KEY_SECRET" \
  -H "Content-Type: application/json" \
  -X POST https://lnkz.tr/api/v1/ai/suggest \
  -d '{
    "task": "slug",
    "url": "https://ornek.com/kampanyalar/yaz-indirimi-2026",
    "context": "Yaz kampanyası açılış sayfası, sosyal medyada paylaşılacak"
  }'
{
  "ok": true,
  "task": "slug",
  "result": {
    "suggestions": [
      { "code": "yaz-indirimi", "reason": "Kampanya adı doğrudan tanınır" },
      { "code": "yaz26-firsat", "reason": "Dönemi de belirtir" }
    ]
  },
  "credits_charged": 5,
  "credits_balance": 994
}

Hesap bilgisi

GET /api/v1/me

Bakiye, toplam link ve tıklama sayısı ile güncel kontör maliyetlerini döner.

Hatalar ve limitler

HTTPtypeAnlamı
401unauthorizedAnahtar geçersiz veya iptal edilmiş.
402insufficient_creditsKontör yetersiz.
404not_foundLink bulunamadı.
422invalid_requestGeçersiz alan veya kullanılmış kod.
429rate_limitedAnahtar başına dakikada 120 istek sınırı.

Hata yanıtları her zaman { "ok": false, "error": { "type": ..., "message": ... } } biçimindedir.