Tarayıcı eklentisi
Geçerli sekmeyi kısaltın, bağlantıyı kopyalayın ve QR kodunu görün (Chrome, Edge, Brave).
Site sahibinden edinilebilir; chrome://extensions üzerinden paketlenmemiş olarak yükleyin.
Geliştiriciler
Kapsamlı anahtarlarla bir REST API, imzalı webhook'lar ve tarayıcınız, WordPress, Slack ve Zapier için hazır araçlar.
curl -X POST https://qoslink.cloud/api/v1/links \
-H "Authorization: Bearer ps_sk_..." \
-H "Content-Type: application/json" \
-d '{"destination_url": "https://example.com/spring-sale", "alias": "spring"}'
Her anahtarın kapsamları vardır. Bir anahtar asla onu oluşturan üyenin rolünden fazlasını yapamaz.
links.read
Bağlantıları okuma
links.write
Bağlantı oluşturma, değiştirme ve silme
qr.read
QR kodlarını okuma
qr.write
QR kodu oluşturma, değiştirme ve silme
bio.read
Bio sayfalarını okuma
bio.write
Bio sayfası oluşturma, değiştirme ve silme
analytics.read
İstatistikleri okuma ve dışa aktarma
analytics.write
Bağlantı istatistiklerini sıfırlama
conversions.write
Dönüşüm kaydetme (sunucu tarafı)
domains.read
Alan adlarını okuma
domains.write
Alan adı ekleme, doğrulama ve kaldırma
webhooks.read
Webhook'ları ve gönderimleri okuma
webhooks.write
Webhook'ları ve Zapier aboneliklerini yönetme
track
Tarayıcıda dönüşüm takibi (yayınlanabilir anahtarlar)
billing.read
Planı, kullanımı, faturaları ve ödemeleri görüntüleme
billing.write
Ödeme başlatma, aboneliği iptal etme veya sürdürme, kupon kullanma
members.read
Ekip üyelerini ve davetleri görüntüleme
members.write
Ekip üyelerini davet etme, değiştirme ve çıkarma
audit.read
Çalışma alanı denetim kaydını görüntüleme
Hatalar, sabit ve makine tarafından okunabilir bir kod içeren tek bir yapıyla döner:
{"error": {"code": "insufficient_scope", "message": "...", "scope": "links.write"}}
Dakika başına istek sayısı planınıza bağlıdır; her yanıt X-RateLimit-Limit, X-RateLimit-Remaining ve X-RateLimit-Reset başlıklarını içerir. Yeniden deneyebileceğiniz POST isteklerinde Idempotency-Key başlığını kullanın.
Olaylar uç noktanıza JSON olarak POST edilir:
{
"id": "01JC5Z1Q9Y7J1K3M2N4P6R8T0V",
"type": "link.created",
"created_at": "2026-11-01T10:00:00.000Z",
"workspace_id": 42,
"data": { "id": 123, "alias": "spring", "short_url": "https://sho.rt/spring" }
}
"<zaman damgası>.<ham gövde>" değerinin imzalama anahtarınızla HMAC-SHA256 özetini hesaplayıp v1 ile sabit sürede karşılaştırın; 5 dakikadan eski zaman damgalarını reddedin.
Shortener-Signature: t=1793527200,v1=5f2b...e9
Shortener-Event: link.created
Shortener-Delivery: 9812
PHP
$payload = file_get_contents('php://input');
$header = $_SERVER['HTTP_SHORTENER_SIGNATURE'] ?? '';
parse_str(str_replace(',', '&', $header), $parts);
$expected = hash_hmac('sha256', $parts['t'].'.'.$payload, $secret);
$valid = hash_equals($expected, $parts['v1'] ?? '') && abs(time() - (int) $parts['t']) <= 300;
Node.js
const [t, v1] = header.split(',').map((p) => p.split('=')[1]);
const expected = crypto.createHmac('sha256', secret).update(t + '.' + rawBody).digest('hex');
const valid = crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(v1)) && Math.abs(Date.now() / 1000 - t) <= 300;
8 saniye içinde herhangi bir 2xx durumuyla yanıt verin. Başarısız gönderimler 1 dakika, 5 dakika, 30 dakika, 2, 6, 12 ve 24 saat sonra yeniden denenir; art arda 15 hatadan sonra webhook kapatılır. Tekrarları yok saymak için olay kimliğini kullanın.
Bağlantılar
link.created - Bağlantı oluşturuldulink.updated - Bağlantı güncellendilink.deleted - Bağlantı silindilink.status_changed - Bağlantı durumu değiştilink.expired - Bağlantının süresi doldulink.clicked - Bağlantı tıklamaları (toplu)link.milestone - Tıklama hedefine ulaşıldılink.health_changed - Bağlantı sağlığı değiştiab.winner_promoted - A/B testinin kazananı seçildiAnalitik
conversion.created - Dönüşüm kaydedildiQR kodları
qr.created - QR kodu oluşturulduqr.updated - QR kodu güncellendiqr.deleted - QR kodu silindiqr.scanned - QR taramaları (toplu)qr.batch_completed - Toplu QR işi tamamlandıBio sayfaları
bio.published - Bio sayfası yayınlandıbio.deleted - Bio sayfası silindibio.form_submitted - Bio formu gönderildibio.block_clicked - Bio blok tıklamaları (toplu)Alan adları
domain.added - Alan adı eklendidomain.verified - Alan adı doğrulandıdomain.verification_failed - Alan adı doğrulanamadıdomain.removed - Alan adı kaldırıldıFaturalama ve kullanım
subscription.created - Abonelik başladısubscription.updated - Abonelik yenilendi veya değiştisubscription.canceled - Abonelik iptal edildipayment.succeeded - Ödeme başarılıpayment.failed - Ödeme başarısızquota.threshold_reached - Kullanım sınırı %80 / %100Geçerli sekmeyi kısaltın, bağlantıyı kopyalayın ve QR kodunu görün (Chrome, Edge, Brave).
Site sahibinden edinilebilir; chrome://extensions üzerinden paketlenmemiş olarak yükleyin.
Düğmeyi yer imleri çubuğunuza sürükleyin ve herhangi bir sayfada tıklayın.
KısaltYazı ve sayfalar için markalı kısa bağlantılar, "Kısa bağlantıyı al" düğmesi ve [shortlink] kısa kodu.
Eklentiyi indirTetikleyiciler için REST hook'ları (abone ol / aboneliği bitir / örnekler) ve eylemler için bağlantı API'si.
POST https://qoslink.cloud/api/v1/hooks {"target_url": "...", "event": "link.created"}
DELETE https://qoslink.cloud/api/v1/hooks/{id}
GET https://qoslink.cloud/api/v1/hooks/samples/link.created
Slack çalışma alanınızı Uygulamalar ve araçlar sayfasından bağlayın ve /shorten https://example.com yazın.
Bir Apple Kestirmesi paylaşım menüsünden bağlantı kısaltır.
Talimatlar