Giriş cihazları
Turnike, QR okuyucu ya da yerel kapı yazılımının kendi anahtarıyla efuar'a bağlanması — cihaz kaydı, kod sorma, çevrimdışı kod listesi, sonradan gönderilen okumalar ve olmayanlar.
- Menüdeki yeri
- Fuar Yönetimi › Fuarlar › Giriş Yönetimi › Cihazlar
- Gerekli yetki
- Kapı, cihaz ve giriş ayarlarını yönetme
- Paket özelliği
- Davetiye / QR, API Erişimi
Ne işe yarar
Fuar girişinde kapı ekranının yanında ya da yerine turnike, sabit QR okuyucu ya da turnikenin önünde çalışan yerel bir yazılım kullanıyorsanız, bu cihaz efuar'a kendi anahtarıyla bağlanır. Okuttuğu her kodu efuar'a sorar, kişinin geçip geçemeyeceğini öğrenir ve okuma fuarın giriş kayıtlarına yazılır. Karar, kapı ekranıyla aynı kurallarla efuar'da verilir; cihazın kendi kuralı yoktur.
İnternet kesildiğinde cihaz, önceden indirdiği kod listesiyle karar vermeyi sürdürebilir ve içeri aldığı okumaları bağlantı gelince gönderir. Bu sayfa, cihazı kuracak teknik ekip ve donanım tedarikçiniz için yazılmıştır.
Neler var, neler yok
efuar'ın sundukları:
- Her kapı için cihaz kaydı ve cihaza özel, yenilenebilen bir anahtar.
- Kod sorma ve okumayı kaydettirme:
POST /api/access/scan. - Bağlantı yokken karar vermek için fuarın kod listesi:
GET /api/access/credentials. - Bağlantı yokken içeri alınan okumaların sonradan gönderilmesi; aynı okumanın iki kez sayılmaması.
Bulunmayanlar:
- Hazır turnike sürücüsü yoktur. efuar belirli bir marka ya da model turnikeyle kendiliğinden konuşmaz. Bu sayfadaki istekleri cihazın kendisi ya da önündeki yerel yazılım gönderir; bu köprüyü donanım tedarikçiniz ya da yazılım ekibiniz kurar.
- API'si olmayan turnikeler için dosya üretilmez. Platform turnikelere yüklenecek bir kod listesi dosyası üretmez; ziyaretçi listesinin dışa aktarımında da QR kodları yer almaz. Böyle bir kapıda kapı ekranını kullanın.
- Cihaza kişisel bilgi gitmez. Yanıtlarda ve kod listesinde ziyaretçinin adı, firması ya da iletişim bilgisi yoktur.
- Cihaz yalnız okur. Cihazdan ziyaretçi kaydı açılamaz, kod iptal edilemez, başka bir fuar ya da kapı seçilemez.
- Liste parça parça alınmaz. Her istek fuarın bütün listesini verir; yalnız değişenleri soran bir istek yoktur.
- Girişler için webhook yoktur. Kapı okumaları webhook iletisi olarak bildirilmez.
Cihaz eklemek
Cihazlar fuarın kartındaki Giriş Yönetimi sekmesinin Cihazlar bölümünde tanımlanır. Bölüm, rolünde Kapı, cihaz ve giriş ayarlarını yönetme yetkisi olanlara görünür. Sekme, Giriş raporlarını görüntüleme yetkiniz varsa Özet bölümüyle, yoksa doğrudan Kapılar bölümüyle açılır. Fuarda en az bir etkin kapı bulunmalıdır; yoksa ekran "Önce bir kapı tanımlayın." der. Kapıların nasıl eklendiği Kapı Ekranı sayfasındadır.
- Fuar Yönetimi › Fuarlar listesinden fuarı açın ve Giriş Yönetimi sekmesine geçin.
- Cihazlar bölümünü açın.
- Kapı listesinden cihazın durduğu kapıyı seçin; listede fuarın etkin kapıları yer alır.
- Cihaz adı alanına cihazı tanıtan bir ad yazın, örneğin "A kapısı turnikesi".
- Tip seçin: Web tarayıcı, Tablet, USB okuyucu, Mobil ya da Turnike geçidi.
- Ekle düğmesine tıklayın.
- Sayfanın üstündeki kutuda görünen anahtarı kopyalayıp cihazın ayarlarına yazın. Anahtar 32 karakterdir (büyük harf ve rakam) ve bir daha gösterilmez.
Tip yalnız cihazı tanımaya yarar; bağlantı her tipte aynı şekilde çalışır.
Cihaz listesi
| Sütun | Anlamı |
|---|---|
| Cihaz | Cihazın adı. |
| Kapı | Cihazın bağlı olduğu kapı. |
| Tip | Seçilen tip. |
| Anahtar | Cihazın anahtarı varsa Tanımlı. |
| Son görülme | Cihaz adına en son okuma kaydedilen an; hiç okuma yoksa Hiç. |
| Durum | Aktif ya da Pasif. |
Satırdaki düğmeler:
- Anahtarı yenile — onaydan sonra cihaza yeni bir anahtar verir ve bir kez gösterir. Eski anahtar hemen geçersiz olur; cihaza yenisinin girilmesi gerekir.
- Pasife al / Aktif et — pasif cihazın anahtarı hiçbir şey açmaz.
Cihaz silinemez ve başka bir kapıya taşınamaz. Yeri değişen bir cihaz için yeni kapıda yeni bir cihaz ekleyin, eskisini pasife alın.
İpucu: Kapı ekranını kullanan tablet ve bilgisayarları da cihaz olarak ekleyebilirsiniz. Kapı ekranı anahtar kullanmaz, görevlinin oturumuyla çalışır; ekranın alt çubuğunda cihaz seçilirse okumalar o cihaz adına kaydedilir ve Son görülme güncellenir.
Bağlantı
Cihaz panelinizin adresine bağlanır; istek yolları panel adresinin sonuna eklenir (/api/access/scan gibi). Anahtar
her istekte gönderilir:
Authorization: Device <cihaz anahtarı>
Bu başlığı yazamayan bir cihaz anahtarı X-Device-Key başlığında gönderebilir. Anahtarda büyük ya da küçük harf fark
etmez.
| Yanıt | Ne zaman |
|---|---|
401 {"error":"unknown-device"} |
Anahtar gönderilmedi ya da tanınmıyor, anahtar yenilenmiş, cihaz ya da bağlı olduğu kapı pasif. Yanıtta WWW-Authenticate: Device başlığı bulunur. |
403 {"error":"not-allowed"} |
Anahtar doğru, ama organizatörün hesabı etkin değil, aboneliği geçerli değil ya da paketinde Davetiye / QR veya API Erişimi yok. |
429 |
Aynı internet adresinden dakikada 1.200 istek aşıldı. Aynı adresin arkasındaki bütün cihazlar bu sınırı paylaşır. |
Cihaz yalnız kaydedildiği fuar ve kapı için okur; gönderdiği hiçbir alan başka bir fuarı ya da kapıyı seçemez. Başka bir organizatörün kodu bu cihaza geçersiz kod olarak görünür.
Kod sormak
POST /api/access/scan HTTP/1.1
Host: panel.ornek.com
Authorization: Device <cihaz anahtarı>
Content-Type: application/json
{ "code": "Q7RT2KX9MBN4VWZ8HC3PLD6JYA", "direction": "In", "clientEventId": "3f2b8c1e-7d4a-4f0e-9b6c-1a2d3e4f5a6b" }
| Alan | Gerekli mi | Açıklama |
|---|---|---|
code |
Evet | QR kodundan okunan metin, olduğu gibi. Ziyaretçi kartındaki QR kodu yalnız 26 karakterlik giriş kodunu taşır; büyük ya da küçük harf ve baştaki ya da sondaki boşluk fark etmez. En çok 64 karakter. |
direction |
Hayır | In (varsayılan) ya da Out. |
clientEventId |
Önerilir | Cihazın okumaya verdiği benzersiz kimlik: harf, rakam ve - _ : . karakterleri, en çok 64 karakter (bir UUID uygundur). Aynı kimlikle ikinci kez gelen okuma yeniden yazılmaz, ilk kararın kendisi döner. |
occurredAt |
Yalnız sonradan gönderilen okumada | Kişinin kapıdan geçtiği an, saat dilimiyle (2026-10-05T09:34:28Z). |
offlineAllowed |
Yalnız sonradan gönderilen okumada | true: cihaz kişiyi bağlantı yokken içeri aldı. |
Yanıt:
{
"allowed": true,
"result": "Allowed",
"message": "Giriş onaylandı.",
"remainingEntries": null,
"replayed": false,
"offlineConflict": false
}
| Alan | Anlamı |
|---|---|
allowed |
true ise kişi geçebilir; turnike buna göre açılır. |
result |
Kararın nedeni (aşağıdaki tablo). |
message |
Cihazın ekranında gösterilebilecek Türkçe kısa açıklama. |
remainingEntries |
Tek giriş ve Sınırlı giriş hakkı kurallarında kalan giriş sayısı; diğer kurallarda boş. |
replayed |
Aynı clientEventId ile daha önce gelmiş bir okuma: yanıt ilk kararın kendisidir. |
offlineConflict |
Bağlantı yokken içeri alınan (offlineAllowed: true) bir okumayı kurallar reddetti. |
result |
message |
Paneldeki adı |
|---|---|---|
Allowed |
"Giriş onaylandı." ya da "Tekrar giriş onaylandı." | Giriş onaylandı |
InvalidCredential |
"Kod geçersiz." | Geçersiz kod |
WrongFair |
"Bu kod başka bir fuara ait." | Başka fuarın kodu |
NotYetValid |
"Kodun geçerlilik tarihi henüz başlamadı." | Henüz geçerli değil |
Expired |
"Kodun geçerlilik süresi dolmuş." | Süresi dolmuş |
Revoked |
"Kod iptal edilmiş." | İptal edilmiş kod |
EntryLimitReached |
"Giriş hakkı tükenmiş." | Giriş hakkı bitmiş |
AlreadyEntered |
"Bu kodla daha önce giriş yapılmış." | Daha önce giriş yapmış |
RegistrationInactive |
"Ziyaretçi kaydı iptal edilmiş." | Kayıt iptal |
Kararlar, kapıda geri çevrilen okumalar dahil, 200 yanıtıyla gelir. Alanlardan biri geçersizse 400 ve alanın adı
döner: {"error":"code"}, {"error":"direction"}, {"error":"clientEventId"} ya da {"error":"offlineAllowed"}.
Çevrimdışı çalışma
Kod listesi
GET /api/access/credentials, cihazın fuarının o an geçerli kodlarını verir:
{
"fairId": 229,
"generatedAt": "2026-10-04T06:30:00Z",
"timeZone": "Europe/Istanbul",
"policy": 2,
"max": null,
"credentials": [
["9c1f…e04b", 1791061200000, 1791406800000, null, null, 0, null]
]
}
policy fuarın giriş kuralı, max fuarın giriş hakkı sayısı, timeZone günlerin sayıldığı saat dilimidir. Kural
numaraları: 1 Tek giriş, 2 Sınırsız tekrar giriş, 3 Günde tek giriş, 4 Sınırlı giriş hakkı. Her kod yedi
değerli bir dizidir:
| Sıra | Değer |
|---|---|
| 1 | Kodun özeti: kod, baştaki ve sondaki boşluklar atılıp büyük harfe çevrildikten sonra SHA-256 ile özetlenir ve küçük harfli onaltılık (hex) yazılır. |
| 2, 3 | Geçerlilik başlangıcı ve bitişi (1970'ten bu yana milisaniye, UTC). |
| 4 | Koda özel giriş kuralı; boşsa listenin policy değeri geçerlidir. |
| 5 | Koda özel giriş hakkı; boşsa listenin max değeri, o da boşsa 1. |
| 6 | Kodun efuar'da sayılmış giriş sayısı. |
| 7 | Son giriş anı (milisaniye) ya da boş. |
Listede iptal edilmiş kodlar, iptal edilmiş kayıtlar ve geçerlilik süresi bitmiş kodlar yoktur.
Bağlantı yokken cihazın yapması gerekenler
- Bağlantı varken listeyi düzenli aralıklarla indirip cihazda saklayın. Kapı ekranı listeyi on dakikada bir indirir.
scanisteği yanıtsız kalırsa ya da bağlantı yoksa kararı listeyle verin. Kapı ekranı yanıtı 6 saniye bekler.- Okunan kodun özetini hesaplayıp listede arayın; bulunmazsa geri çevirin.
- Okuma anı geçerlilik aralığının dışındaysa geri çevirin.
- Giriş kuralını uygulayın: Tek giriş kuralında kodla daha önce giriş yapıldıysa, Günde tek giriş
kuralında son giriş aynı takvim günündeyse (gün, listedeki
timeZonesaat dilimine göre), Sınırlı giriş hakkı kuralında giriş sayısı hakka ulaştıysa geri çevirin. Sınırsız tekrar giriş her zaman kabul eder. - Listeyi aldıktan sonra cihazın kendi içeri aldığı okumaları da sayın; bunlar listede henüz yoktur.
- İçeri aldığınız her okumayı cihazda sırayla saklayın: kodun kendisi, yön,
clientEventIdve okuma anı. - Bağlantı gelince her okumayı aynı
POST /api/access/scanisteğiyle,occurredAtveofflineAllowed: trueekleyerek gönderin. Yanıt alamazsanız aynıclientEventIdile yeniden gönderin; okuma bir kez yazılır. - Bağlantı yokken geri çevirdiğiniz okumaları göndermeyin: kimsenin girişi değildir ve
offlineAllowed: falsekabul edilmez (400).
{ "code": "Q7RT2KX9MBN4VWZ8HC3PLD6JYA", "direction": "In", "clientEventId": "8d0e5a77-2c41-4b9a-a3f6-5e7c9b1d2f30",
"occurredAt": "2026-10-05T09:34:28Z", "offlineAllowed": true }
Sonradan gelen okuma nasıl değerlendirilir
- Okuma, bağlantının geldiği ana göre değil,
occurredAtanına göre değerlendirilir: kapıda geçerli olan bir kod, bağlantı gelene kadar süresi doldu diye reddedilmez. İleri tarihli bir okuma anı "şimdi" sayılır. - Kurallar okumayı kabul ederse giriş olağan biçimde sayılır.
- Kurallar reddederse (örneğin tek girişlik kod bağlantı yokken başka bir kapıdan da geçmişse ya da liste alındıktan
sonra iptal edildiyse) okuma çevrimdışı uyuşmazlık olarak yazılır: kişi içeridedir ama giriş sayılmaz. Yanıtta
offlineConflict: truegelir. Bu okumalar fuarın Reddedilen okutmaları kaydet ayarı kapalı olsa da yazılır, QR / Girişler listesinde Çevrimdışı içeri alındı olarak görünür ve Giriş Yönetimi › Özet bölümünde uyarı çıkarır.
Önemli: Cihazın saatini doğru tutun. Bağlantı yokken verilen kararlar da, sonradan gönderilen okumaların değerlendirilmesi de cihazın bildirdiği okuma anına dayanır.
Nasıl yapılır
Bir turnikeyi bağlamak
- Fuarın Giriş Yönetimi › Kapılar bölümünde turnikenin durduğu kapıyı tanımlayın.
- Cihazlar bölümünde cihazı Turnike geçidi tipiyle ekleyin ve anahtarı kopyalayın.
- Anahtarı ve panelinizin adresini turnikenin ya da yerel kapı yazılımının ayarlarına girin.
- Bir ziyaretçi kodunu okutun: yanıtta
allowed: truegelmeli ve okuma Ziyaretçi › QR / Girişler listesinde kapının adıyla görünmelidir. - Cihaz listesinde Son görülme sütununun dolduğunu denetleyin.
Anahtarı sızan ya da kaybolan bir cihaz
- Cihazın satırındaki Anahtarı yenile düğmesine tıklayın ve onaylayın.
- Gösterilen yeni anahtarı cihaza girin. Eski anahtar o andan sonra
401alır. - Cihaz kaybolduysa ya da artık kullanılmayacaksa Pasife al ile kapatın.
Kurallar ve dikkat edilecekler
- Cihazın bağlanabilmesi için paketinizde hem Davetiye / QR hem API Erişimi açık olmalıdır. Cihazı eklemek
için Davetiye / QR özelliği ve Kapı, cihaz ve giriş ayarlarını yönetme yetkisi yeterlidir; API Erişimi
yoksa cihaz bağlanırken
403alır. - Pasif bir kapının cihazları bağlanamaz; kapıyı yeniden etkinleştirdiğinizde aynı anahtarlar çalışır.
- efuar'ın geri çevirdiği okumalar, fuarın Reddedilen okutmaları kaydet ayarı açıksa giriş kayıtlarına yazılır.
- Çıkış (
Out) okumaları giriş kuralı yüzünden (tek giriş, günde tek giriş, sınırlı giriş hakkı) reddedilmez. - Kod listesi ad taşımaz ama geçerli kodların özetlerini, sıradaki okumalar da kodların kendisini taşır. Cihazdaki verileri koruyun; cihaz kaybolursa anahtarını yenileyin ya da cihazı pasife alın.
- Her okumaya benzersiz bir
clientEventIdverin. Kimliksiz gönderilen bir okuma, her gönderimde yeni bir okuma sayılır.