İçeriğe geç

Entegrasyonlar

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.

  1. Fuar Yönetimi › Fuarlar listesinden fuarı açın ve Giriş Yönetimi sekmesine geçin.
  2. Cihazlar bölümünü açın.
  3. Kapı listesinden cihazın durduğu kapıyı seçin; listede fuarın etkin kapıları yer alır.
  4. Cihaz adı alanına cihazı tanıtan bir ad yazın, örneğin "A kapısı turnikesi".
  5. Tip seçin: Web tarayıcı, Tablet, USB okuyucu, Mobil ya da Turnike geçidi.
  6. Ekle düğmesine tıklayın.
  7. 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

  1. Bağlantı varken listeyi düzenli aralıklarla indirip cihazda saklayın. Kapı ekranı listeyi on dakikada bir indirir.
  2. scan isteğ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 timeZone saat 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.
  3. İçeri aldığınız her okumayı cihazda sırayla saklayın: kodun kendisi, yön, clientEventId ve okuma anı.
  4. Bağlantı gelince her okumayı aynı POST /api/access/scan isteğiyle, occurredAt ve offlineAllowed: true ekleyerek gönderin. Yanıt alamazsanız aynı clientEventId ile yeniden gönderin; okuma bir kez yazılır.
  5. Bağlantı yokken geri çevirdiğiniz okumaları göndermeyin: kimsenin girişi değildir ve offlineAllowed: false kabul 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, occurredAt anı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: true gelir. 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

  1. Fuarın Giriş Yönetimi › Kapılar bölümünde turnikenin durduğu kapıyı tanımlayın.
  2. Cihazlar bölümünde cihazı Turnike geçidi tipiyle ekleyin ve anahtarı kopyalayın.
  3. Anahtarı ve panelinizin adresini turnikenin ya da yerel kapı yazılımının ayarlarına girin.
  4. Bir ziyaretçi kodunu okutun: yanıtta allowed: true gelmeli ve okuma Ziyaretçi › QR / Girişler listesinde kapının adıyla görünmelidir.
  5. Cihaz listesinde Son görülme sütununun dolduğunu denetleyin.

Anahtarı sızan ya da kaybolan bir cihaz

  1. Cihazın satırındaki Anahtarı yenile düğmesine tıklayın ve onaylayın.
  2. Gösterilen yeni anahtarı cihaza girin. Eski anahtar o andan sonra 401 alır.
  3. 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 403 alı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 clientEventId verin. Kimliksiz gönderilen bir okuma, her gönderimde yeni bir okuma sayılır.

İlgili sayfalar