GET /dynamicqr/{code} — QR Kod Detayı Sorgulama
📋 Genel Bilgi
Oluşturulan dinamik QR kodun detaylarını sorgular: scan count, status, device info vb.
Base URL: {{url}}/dynamicqr/{{qrcode}}
Method: GET
Content-Type: application/json
🔐 Headers
| Header | Value |
|---|---|
| Authorization | Bearer {{masked_jwt_8}} |
📥 URL Parametreleri
| Parametre | Tip | Açıklama | Örnek |
|---|---|---|---|
code | string | QR kod benzersiz kodu (path param) | "0OTd490VcI" |
✅ Response — 200 OK
{
"store_code": "mobildev-mq",
"terminal_code": "TERM-003",
"code": "0OTd490VcI",
"redirectUri": "https://example.com/thank-you",
"qrType": "terminal",
"config": {
"colorDark": "#000000",
"colorLight": "#ffffff",
"size": 300,
"errorCorrection": "M"
},
"metadata": {
"İşlem ID": "Random İşlem ID",
"Müşteri Sadakat": "sadakat bilgileri"
},
"maxScans": 1,
"scanCount": 1,
"scanLimitReached": true,
"createdAt": 1785063063,
"expiresAt": 1785322208,
"updatedAt": 1785063111,
"status": "used",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36",
"ipAddress": "{{customer_ip}}",
"deviceContext": {
"success": true,
"context": {
"requestId": "af90c494-8e7d-4eca-9010-4a9681311d9a",
"timestamp": "2026-07-26T10:50:56.233Z",
"ip": "{{customer_ip}}",
"deviceContext": {
"deviceName": "Desktop Computer",
"deviceVendor": "",
"deviceModel": "",
"deviceType": "desktop",
"osName": "Windows",
"osVersion": "10",
"browserName": "Chrome",
"browserVersion": "150.0.0.0",
"cpuArchitecture": "amd64"
},
"ipContext": {
"country": "Türkiye",
"countryCode": "TR",
"city": "Küçükçekmece",
"region": "Istanbul",
"regionCode": "34",
"latitude": {{customer_latitude}},
"longitude": {{customer_longitude}},
"timezone": "Europe/Istanbul",
"postalCode": "{{customer_postal_code}}",
"accuracyRadius": 500
}
},
"parsedAt": "2026-07-26T10:50:56.233Z"
}
}
Response Alanları
| Alan | Tip | Açıklama |
|---|---|---|
store_code | string | Mağaza kodu |
terminal_code | string | Terminal kodu |
code | string | QR kod benzersiz kodu |
redirectUri | string | Yönlendirme URL'si |
qrType | string | QR türü (terminal) |
config | object | QR yapılandırma ayarları |
metadata | object | Eklenen metadata |
maxScans | integer | Maksimum tarama sayısı |
scanCount | integer | Gerçekleşen tarama sayısı |
scanLimitReached | boolean | Tarama sınırına ulaşıldı mı? |
createdAt | integer | Oluşturma zamanı (Unix timestamp) |
expiresAt | integer | Son kullanma zamanı (Unix timestamp) |
updatedAt | integer | Güncelleme zamanı (Unix timestamp) |
status | string | Durum (unused, used, expired) |
userAgent | string | QR'ı tarayan cihazın User-Agent'ı |
ipAddress | string | QR'ı tarayan IP adresi |
deviceContext | object | Cihaz ve konum detayları |
❌ Error Responses
Tüm hata yanıtları aşağıdaki formatta döner:
{
"Response": {
"code": 4002,
"description": "QR ID is invalid"
},
"Success": false
}
| HTTP | code | Enum | description | Ne Zaman Oluşur |
|---|---|---|---|---|
| 404 | 4002 | QrIdInvalid | QR ID is invalid | URL'de gönderilen code'a karşılık gelen bir kayıt dynamic_qr_codes tablosunda bulunamadı |
Örnek — 404 QR Not Found
{
"Response": {
"code": 4002,
"description": "QR ID is invalid"
},
"Success": false
}
📝 Notlar
scanLimitReached: true→ QR kod artık kullanılamaz (tek kullanımlık).status: used→ QR kod tarandı ve doğrulandı.- Timestamp'ler Unix epoch formatındadır (saniye cinsinden).
- QR kod süresi dolduğunda
status: expiredolur.