Webhook senkronu
Değerleri tek tek veya toplu gönderin; üstel geri çekilme, çevrimdışı kuyruk ve isteğe bağlı başlık.
Webhook senkronu, QCR Scanner’da topladığınız değerleri kendi sunucunuza, bir otomasyon aracına ya da bir Cloudflare Worker’a gerçek zamanlı olarak ulaştırmanın yoludur. Bir webhook URL’si tanımlarsınız; uygulama listeye eklenen her değeri (ya da seçtiğinizde tüm listeyi) bu adrese bir JSON gövdesiyle POST eder. Bağlantı koptuğunda istekler bir çevrimdışı kuyruğa alınır ve hat geri geldiğinde otomatik olarak gönderilir; geçici hatalar üstel geri çekilmeyle yeniden denenir. Böylece taranan veriler, telefonu hiç elinizden bırakmadan başka bir sistemde belirir.
Webhook’u yapılandırma
Webhook ayarlarına uygulamanın senkron bölümünden ulaşırsınız. İki alan vardır:
- Webhook URL — İsteklerin gönderileceği
https://adresi. Bu, gövdeyi alıp işleyebilen herhangi bir uç nokta olabilir: kendi API’niz, bir otomasyon servisi ya da bir Cloudflare Worker. - Authorization başlığı (isteğe bağlı) — Doldurursanız, her isteğe olduğu gibi bir
Authorizationbaşlığı olarak eklenir. Uç noktanızı belirteç (token) ya da anahtarla korumak için kullanışlıdır. Boş bırakırsanız hiçbir yetkilendirme başlığı gönderilmez.
İsteklerin gövdesi her zaman JSON’dur ve Content-Type: application/json başlığıyla gönderilir.
İpucu: URL’yi yalnızca
https://ile başlayan bir adres olarak girin. Authorization başlığını uç noktanızın beklediği biçimde (örneğinBearer ...ya da düz bir anahtar) yazın; uygulama değeri olduğu gibi iletir.
Bağlantıyı test etme
URL’yi kaydettikten sonra Test bağlantısı ile uç noktanıza ulaşıp ulaşamadığınızı doğrulayabilirsiniz. Bu, küçük bir JSON gövdesiyle tek bir POST gönderir:
{ "action": "ping" }
Uç noktanız 2xx aralığında bir yanıt dönerse test başarılı sayılır. Bir Worker ya da sunucu yazarken ping eylemini erken tanıyıp hızlıca 200 dönmek, yapılandırmanızı gerçek veri göndermeden doğrulamanın en kolay yoludur.
Tek tek mi, toplu mu?
Değerleri iki yolla gönderebilirsiniz.
Tek tek (auto-sync)
Otomatik senkron açıkken, listeye her yeni değer eklendiğinde anında tek bir POST gönderilir. Tarama sırasında veri akışını gerçek zamanlı izlemek istediğinizde idealdir — her doğrulanmış değer, eklendiği anda uç noktanıza ulaşır.
Toplu (“Send all”)
Send all (Tümünü gönder) ile aktif listedeki tüm öğeleri tek bir istekte gönderirsiniz. Çevrimdışı topladığınız bir listeyi sonradan tek seferde aktarmak ya da otomatik senkronu kapalı tutup yalnızca işiniz bittiğinde göndermek istediğinizde uygundur.
| Yöntem | Ne zaman | Gövde |
|---|---|---|
| Tek tek (auto-sync) | Her değer eklendiğinde anında | Tek öğe (add) |
| Toplu (Send all) | Siz tetikleyince, tüm liste | Öğe dizisi (batch) |
Gövde formatı
Her iki yöntem de tutarlı bir JSON yapısı kullanır; eylemi action alanı belirler.
Tek öğe (add)
Otomatik senkronda eklenen tek bir değer şu biçimde gönderilir:
{
"action": "add",
"listName": "Sayaçlar",
"item": {
"value": "AB-1234",
"isQR": false,
"source": "ocr",
"createdAt": "2026-06-21T10:15:00.000Z",
"isSeparator": false
},
"timestamp": "2026-06-21T10:15:00.000Z"
}
Alanların anlamı:
listName— Değerin ait olduğu listenin adı.item.value— Taranan ya da sesle girilen değerin kendisi.item.isQR— Değer bir QR koddan mı geldi (true) yoksa OCR/ses gibi başka bir kaynaktan mı (false).item.source— Değerin kaynağı (örneğinocr).item.createdAt— Öğenin oluşturulduğu an (ISO 8601).item.isSeparator— Öğe bir ayraç mı (tarih/başlık gibi) yoksa normal bir değer mi.timestamp— İsteğin gönderildiği an.
Toplu (batch)
Send all tetiklendiğinde, eylem batch olur ve tüm öğeler bir dizide, bir de count ile taşınır:
{
"action": "batch",
"listName": "Sayaçlar",
"count": 2,
"items": [
{
"value": "AB-1234",
"isQR": false,
"source": "ocr",
"createdAt": "2026-06-21T10:15:00.000Z",
"isSeparator": false
},
{
"value": "CD-5678",
"isQR": true,
"source": "qr",
"createdAt": "2026-06-21T10:16:30.000Z",
"isSeparator": false
}
],
"timestamp": "2026-06-21T10:17:00.000Z"
}
items dizisindeki her öğe, tek öğe gövdesindeki item ile aynı alanlara sahiptir. count, dizideki öğe sayısını verir.
Üstel geri çekilme
Bir istek geçici bir hatayla başarısız olursa, uygulama onu sessizce bırakmaz: en fazla 3 deneme yapar ve denemeler arasında bekleme süresini ikiye katlar. Bekleme aralıkları 1 sn → 2 sn → 4 sn şeklindedir. Kısa bir ağ dalgalanması ya da uç noktanızın anlık yoğunluğu çoğu zaman bu pencerede kendiliğinden düzelir; üç deneme de başarısız olursa istek çevrimdışı kuyruğa devredilir.
Çevrimdışı kuyruk (outbox)
QCR Scanner saha koşulları için tasarlandı; bu yüzden bağlantı olmadan da çalışmaya devam eder.
- Gönderim sırasında hat yoksa (ya da tüm denemeler başarısız olursa), istek bir outbox kuyruğuna alınır.
- Bağlantı geri geldiğinde, kuyruktaki istekler otomatik olarak gönderilir.
- Uygulama yeniden öne geldiğinde (ön plana çıktığında) da kuyruk bir kez daha denenir.
Böylece çevrimdışıyken topladığınız değerler kaybolmaz; telefon yeniden çevrimiçi olur olmaz uç noktanıza sırasıyla ulaşırlar.
Not: OCR ve QR taraması zaten tamamen cihazda, ağ olmadan çalışır. Webhook senkronu yalnızca topladığınız değerleri dışarı göndermek için ağ kullanır; tarama yeteneğiniz çevrimdışıyken de tam olarak çalışmaya devam eder.
Cloudflare Worker örneği
Webhook’u alacak tarafı sıfırdan yazmak istemiyorsanız, bir Cloudflare Worker bunun için pratik bir seçenektir: ücretsiz katmanda çalışır, https uç noktasını size hazır verir ve ping, add, batch eylemlerini birkaç satırda ayrıştırabilir. Worker içinde gelen action alanına bakıp ping için hemen 200 döner, add ve batch için gövdeyi kendi depolamanıza ya da bir tabloya yazarsınız. Authorization başlığını da Worker’da doğrulayarak uç noktanızı koruyabilirsiniz.
İpucu: Hangi yöntemi kullanırsanız kullanın, uç noktanızı
pingeylemini tanıyacak ve2xxdönecek şekilde yazın; bu sayede Test bağlantısı düğmesi anlamlı bir sonuç verir.
Webhook senkronu, ReviseTouch tarafından geliştirilen QCR Scanner’ın bir parçasıdır.
Sonraki adımlar
- Listeler — Değerlerin toplandığı çoklu listeler ve liste tetikleyicileri.
- CSV dışa aktarma — Aynı verileri dosya olarak dışa aktarma ve paylaşma.
- Doğrulama kuralları — Listeye yalnızca hangi değerlerin gireceğini belirleme.
- Sık sorulan sorular — Senkron ve diğer konularda hızlı yanıtlar.