Ana içeriğe geç

REST API v1

Geliştirici API

QR oluşturma, güncelleme ve organizasyonu backend, script veya CI pipeline'larınızdan otomatikleştirin.

Uç noktalar

MetotYolAçıklama
GET
/api/v1/qrQR kodlarınızı listele
POST
/api/v1/qrQR kodu oluştur
POST
/api/v1/qr/bulkToplu QR oluştur (JSON items veya CSV)
GET
/api/v1/qr/:idTek QR kodu getir
GET
/api/v1/qr/:id/analyticsTek QR için tarama analitikleri
PATCH
/api/v1/qr/:idQR kodunu güncelle
DELETE
/api/v1/qr/:idQR kodunu sil
GET
/api/v1/foldersKlasörleri listele
POST
/api/v1/foldersKlasör oluştur
GET
/api/v1/folders/:idTek klasör getir
PATCH
/api/v1/folders/:idKlasörü güncelle
DELETE
/api/v1/folders/:idKlasörü sil

Kimlik doğrulama

Panel → Ayarlar'da API anahtarı oluşturun. Şu şekilde gönderin:

Authorization: Bearer qb_live_...

# or

X-API-Key: qb_live_...

Tarama Webhook'ları

Ayarlar → Tarama Webhook'ları'nda HTTPS uç noktaları ekleyin. Tarama, landing lead ve CTA tıklamaları X-QRbanner-Signature (HMAC-SHA256) ile JSON POST gönderir. Zapier, Make, n8n ve özel backend'lerle çalışır.

{
  "event": "scan",
  "qr_code_id": "...",
  "qr_name": "Store Istanbul",
  "short_code": "abc12",
  "scan": {
    "country": "TR",
    "city": "Istanbul",
    "device": "mobile",
    "scanned_at": "2026-06-29T12:00:00.000Z"
  }
}
Entegrasyonları gör

İmza doğrulama

Ham istek gövdesini okuyun, imza gizli anahtarınızla HMAC-SHA256 hesaplayın ve X-QRbanner-Signature başlığı (sha256= öneki) ile karşılaştırın. Başarısız teslimatlar 3 kez otomatik yeniden denenir; uç noktanızı Ayarlar'daki Test gönder ile doğrulayın.

const crypto = require('crypto');

function verifyWebhook(body, signatureHeader, secret) {
  const expected = 'sha256=' + crypto
    .createHmac('sha256', secret)
    .update(body)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(signatureHeader),
    Buffer.from(expected)
  );
}

OpenAPI spesifikasyonu

REST API v1, Mobil API ve SCIM 2.0 için makine tarafından okunabilir OpenAPI 3.0 — Postman, Insomnia veya API gateway'e aktarın.

Hız limitleri

Plan başına iki limit: dakikalık ani istek limiti ve aylık kota. Başlıklar: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-RateLimit-Quota, X-RateLimit-Quota-Remaining, X-RateLimit-Quota-Reset. Limit aşılırsa Retry-After ile 429 döner.

  • Free — 60/dk · 1.000/ay
  • Pro — 120/dk · 10.000/ay
  • Business — 300/dk · 100.000/ay
  • Agency — 600/dk · 500.000/ay

Temel URL

https://qrbanner.com

API erişimi al

Mobil API

PWA ve özel mobil istemciler için yardımcı uç noktalar. Oturum çerezi veya REST v1 ile aynı API anahtarı ile kimlik doğrulayın. Yanıt alanları camelCase kullanır (OpenAPI MobileQr).

PWA ve mobil uygulamalar sayfası

MetotYolAçıklama
GET
/api/mobile/v1/summaryPlan kullanımı ve son taramalar
GET
/api/mobile/v1/qrQR kodlarını listele (mobil şekil)
POST
/api/mobile/v1/qrQR kodu oluştur
GET
/api/mobile/v1/qr/:idQR detayı ve son taramalar
PATCH
/api/mobile/v1/qr/:idQR kodunu güncelle
DELETE
/api/mobile/v1/qr/:idQR kodunu sil

SCIM 2.0 provizyon

Business ve Agency ekip çalışma alanları Okta, Microsoft Entra ID (Azure AD), Google Workspace veya herhangi bir SCIM 2.0 IdP'den üyeleri senkronize edebilir. Ayarlar → Ekip'te SCIM'i açın, bearer token'ı bir kez kopyalayın ve IdP'nizi aşağıdaki temel URL'ye yönlendirin.

SCIM uç noktalarını etkileşimli API referansında görüntüleyin

IdP kurulumu

  1. Panel → Ayarlar → Ekip → SCIM'i açın ve provizyonu etkinleştirin.
  2. Bir kez gösterilen bearer token'ı (qrb_scim_ öneki) kopyalayıp IdP'nizde saklayın.
  3. SCIM temel URL'yi https://qrbanner.com/api/scim/v2 ve Authorization: Bearer <token> olarak ayarlayın.
  4. IdP gruplarını veya rol atamalarını sanal Groups admin, editor veya viewer ile eşleyin — bunlar çalışma alanı üye rollerini kontrol eder.
Base URL: https://qrbanner.com/api/scim/v2
Authorization: Bearer qrb_scim_...

# Roles ↔ virtual Groups: admin | editor | viewer
MetotYolAçıklama
GET
/api/scim/v2/UsersÇalışma alanı üyelerini listele
POST
/api/scim/v2/UsersÜye davet et veya provizyon et
GET
/api/scim/v2/Users/:idTek üyeyi getir
PATCH
/api/scim/v2/Users/:idÜye özniteliklerini veya rolünü güncelle
PUT
/api/scim/v2/Users/:idÜyeyi değiştir (PATCH ile aynı)
DELETE
/api/scim/v2/Users/:idÜyeyi kaldır
GET
/api/scim/v2/GroupsSanal rol gruplarını listele
POST
/api/scim/v2/GroupsSanal rol grubunun varlığını sağla (idempotent)
GET
/api/scim/v2/Groups/:idTek rol grubunu ve üyelerini getir
PATCH
/api/scim/v2/Groups/:idGrup üyeliğini / rol eşlemesini güncelle
PUT
/api/scim/v2/Groups/:idGrup üyeliğini değiştir (PATCH ile aynı)
DELETE
/api/scim/v2/Groups/:idGrubu sil (sanal rol grupları 400 döner)
GET
/api/scim/v2/ServiceProviderConfigSCIM servis sağlayıcı yapılandırması
GET
/api/scim/v2/ResourceTypesDesteklenen kaynak türleri
GET
/api/scim/v2/SchemasSCIM şemaları

İlgili sayfalar

Örnek istek

curl -X POST https://qrbanner.com/api/v1/qr \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Store Istanbul",
    "category": "url",
    "qr_data": { "url": "https://example.com/tr" }
  }'