Geliştirici
REST API Dokümantasyonu
QR Publish API'si, QR kodlarınızı kendi sisteminizden (ERP, CRM, otomasyon aracınız) oluşturmanıza, güncellemenize, listelemenize ve silmenize olanak verir. API erişimi aktif bir Pro pakete dahildir.
API HTTPS üzerinden sunuluyor
Tüm örneklerdeki URL'ler doğrudan kopyalanabilir.
Kimlik Doğrulama
Her isteğe x-api-key header'ı ile API anahtarınızı ekleyin. Anahtarınızı Ayarlar sayfasından oluşturabilirsiniz — anahtar sadece oluşturulduğu anda gösterilir, sonradan tekrar görüntülenemez.
curl https://qrpublish.com/api/v1/qrcodes \
-H "x-api-key: qrk_xxxxxxxxxxxxxxxxxxxxxxxx"Alternatif olarak Authorization: Bearer qrk_xxx header'ı da kabul edilir.
Endpoint'ler
Tüm endpoint'ler https://qrpublish.com base URL'i ile kullanılır.
GET/api/v1/qrcodesTüm QR kodlarınızı listeler (en fazla 500).
POST/api/v1/qrcodesYeni bir QR kod oluşturur.
GET/api/v1/qrcodes/{id}Tek bir QR kodun detayını getirir.
PUT/api/v1/qrcodes/{id}Mevcut bir QR kodu günceller (içerik, URL, başlık, stil…).
DELETE/api/v1/qrcodes/{id}Bir QR kodu siler (soft delete, slug rezerve kalır).
GET/api/v1/statsHesap genelinde tarama ve QR istatistikleri.
GET/api/v1/reportsTarama raporlarını ve özet istatistikleri getirir.
GET/api/v1/profileOturumdaki kullanıcı profilini getirir.
GET/api/v1/keysAPI anahtarlarınızı listeler.
POST/api/v1/keysYeni API anahtarı oluşturur.
DELETE/api/v1/keysBir API anahtarını iptal eder.
Örnek: QR Kodlarını Listeleme
curl "https://qrpublish.com/api/v1/qrcodes" \
-H "x-api-key: qrk_xxxxxxxxxxxxxxxxxxxxxxxx"Cevap
{
"qrcodes": [
{
"id": "5b1f...",
"title": "Ana Sayfa",
"short_slug": "anasayfa",
"target_url": "https://example.com",
"qr_type": "url",
"is_active": true,
"scan_count": 142,
"created_at": "2026-06-01T09:00:00.000Z"
}
],
"total": 1
}Örnek: QR Oluşturma
curl -X POST "https://qrpublish.com/api/v1/qrcodes" \
-H "x-api-key: qrk_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"title": "Yaz Kampanyası",
"short_slug": "yaz-kampanya",
"target_url": "https://example.com/yaz-kampanya",
"qr_type": "url"
}'Cevap
{
"qrcode": {
"id": "5b1f...",
"title": "Yaz Kampanyası",
"short_slug": "yaz-kampanya",
"target_url": "https://example.com/yaz-kampanya",
"qr_type": "url",
"is_active": true,
"scan_count": 0,
"created_at": "2026-06-26T12:00:00.000Z"
}
}Örnek: QR Güncelleme
curl -X PUT "https://qrpublish.com/api/v1/qrcodes/5b1f..." \
-H "x-api-key: qrk_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"target_url": "https://example.com/yeni-hedef",
"is_active": true
}'Örnek: İstatistikler
curl "https://qrpublish.com/api/v1/stats" \
-H "x-api-key: qrk_xxxxxxxxxxxxxxxxxxxxxxxx"Cevap
{
"total_qrcodes": 24,
"total_scans": 1830,
"active_qrcodes": 20,
"scans_today": 47,
"scans_this_month": 612
}Hız Sınırları ve Hata Kodları
200İşlem başarılı.301HTTP → HTTPS yönlendirmesi. URL'yi https:// ile başlatın.400Geçersiz istek gövdesi veya eksik alan.401Geçersiz veya iptal edilmiş API anahtarı.402Plan limiti doldu — QR oluşturma reddedildi.404QR kodu bulunamadı veya erişim izniniz yok.429Hız limiti aşıldı. Dakikada sınırlı sayıda istek kabul edilir.500Sunucu hatası. Lütfen tekrar deneyin.Hata yanıtları
{ "error": "açıklama" } formatında döner.