Geliştiriciler
Talep girişi
Talep girişi dışarıdan gelen bildirimleri kabul eder — bir müşteri sitesinin iletişim formundan, bir uygulamadan veya bir sunucudan. Üç yolun üçü de ilgili projede, müşterinin sözleşmesindeki yanıt süresiyle bir talep oluşturur.
| Yol | Ne için | Anahtar |
|---|---|---|
| HTML formu | bir web sitesinin iletişim formu, JavaScript olmadan | adreste herkese açık proje anahtarı vd_pub_… |
| Tarayıcı bildirimi | bir web uygulamasından ekran görüntüsüyle hata bildirme | başlıkta herkese açık proje anahtarı vd_pub_…, yalnızca izin verilen kaynaklardan |
| Sunucudan sunucuya | kendi backend'i olan form veya uygulama | gizli giriş anahtarı vd_intake_… |
Ayrıca e-posta ve monitörler de vardır — daha aşağıda.
Her şey tek bir yerde kurulur: Ayarlar › Talep girişi (yalnızca işletme sahibi). Orada her proje, girişinin ölçülen durumuyla listelenir; bir tıklama projeyi açar ve üç kartı gösterir: “Sunucu ve uygulama” (giriş anahtarları), “Herkese açık talep girişi” (form ve tarayıcı) ve “E-posta girişi” (posta kutuları). Proje sayfasından, genel bakıştaki “Talep girişi” satırında “Kur” doğrudan açılmış projeye götürür. VentionDesk bir talebin hangi yoldan geldiğini, teslim edildiği adresten tanır — gönderenin belirttiği bir şeyden değil.
Kurmadan önce: Form veya uygulama üzerinden yazan herkes, kişisel verilerini sana ve dolayısıyla hizmet sağlayıcı olarak VentionDesk'e verir. Bir müşteri sitesi için girişi ancak müşterinle veri işleme sözleşmesi yapıldıktan sonra kur ve sitede bunu belirt — aşağıdaki form kodu bunun için müşterinin gizlilik politikasına bağlantı içeren bir cümle içerir.
Herkese açık anahtarı ve kaynakları kurma
Ayarlar › Talep girişi altında projeyi aç, “Herkese açık talep girişi” kartı:
- “Girişi kur” herkese açık
vd_pub_…anahtarını oluşturur. “Kopyala” onu panoya koyar. - “İzin verilen kaynaklar” altında tarayıcı bildirimlerinin gelebileceği her adresi girersin — yalnızca şema, ana makine ve port, yani
https://kunde.de, yol olmadan ve sonda eğik çizgi olmadan. VentionDesk birebir karşılaştırır. - Girilmiş bir kaynak olmadan tarayıcı yolu hiçbir şey kabul etmez. HTML formu ve sunucu yolu bundan etkilenmez.
- “Girişi kapat” anahtarı yeniden kaldırır.
Herkese açık anahtar gizli değildir — müşteri sitesinin kaynak kodunda durur. Yalnızca tam olarak bu projede talep oluşturabilir.
Yol 1: HTML formu
https://in.ventiondesk.com/f/<public key> adresine gönderen sıradan bir form. Hazır kodu VentionDesk'te Talepler › “?” › “Form kodunu kopyala” altından kopyalarsın:
<form method="post" action="https://in.ventiondesk.com/f/DEIN_PUBLIC_KEY">
<input name="name" placeholder="Ihr Name" required />
<input name="email" type="email" placeholder="Ihre E-Mail" required />
<input name="subject" placeholder="Betreff" required />
<textarea name="message" placeholder="Ihre Nachricht" required></textarea>
<p>Mit dem Absenden werden Ihre Angaben zur Bearbeitung an unseren Dienstleister
übermittelt. Mehr dazu in unserer <a href="DEINE_DATENSCHUTZERKLAERUNG">Datenschutzerklärung</a>.</p>
<button type="submit">Absenden</button>
</form>DEIN_PUBLIC_KEY yerine herkese açık anahtarı, DEINE_DATENSCHUTZERKLAERUNG yerine müşteri sitesinin gizlilik politikasını koy.
| Alan | Zorunlu | Sınır |
|---|---|---|
name | hayır | en fazla 120 karakter |
email | evet | geçerli e-posta adresi |
subject | evet | 3 ile 200 karakter |
message | evet | 10 ile 10.000 karakter |
İsteğe bağlı:
_redirect— tarayıcının gönderimden sonra yönlendirileceği mutlak bir adres (303). Kaynağı “İzin verilen kaynaklar” altında listelenmiş olmalıdır, aksi halde VentionDesk JSON ile yanıt verir._hp— botlara karşı bir bal küpü: gizli, boş bir alan. Doldurulmuşsa VentionDesk kibarca yanıt verir ve hiçbir şey oluşturmaz.cf-turnstile-response— Cloudflare Turnstile token'ı, aşağıya bak.
_redirect olmadan VentionDesk 201 ve { "ok": true, "ticket": { "id": "…", "key": "TK-1044" } } ile yanıt verir.
Yol 2: Tarayıcıdan bildirim
x-ventiondesk-key başlığında herkese açık anahtarla POST https://api.ventiondesk.com/v1/intake/reports — kaynağı “İzin verilen kaynaklar” altında listelenmiş bir web uygulamasından:
await fetch('https://api.ventiondesk.com/v1/intake/reports', {
method: 'POST',
headers: { 'content-type': 'application/json', 'x-ventiondesk-key': 'vd_pub_…' },
body: JSON.stringify({
text: 'Saving does nothing',
email: 'user@customer.com',
screenshot: 'data:image/png;base64,…',
meta: { url: location.origin + location.pathname, severity: 'high' },
}),
});
text(zorunlu): 5 ile 5.000 karakter.email: isteğe bağlı.screenshot: isteğe bağlı, data URL olarak (Base64 iledata:image/png,image/jpegveyaimage/webp), 500 kB'ın altında. Görsel talebe eklenir.meta: isteğe bağlı —device,version,user,urlveseverity(low,normal,high,critical).criticaltalebin önceliğini “Kritik” yapar.turnstileToken: isteğe bağlı, aşağıya bak.
@ventiondesk/sdk paketi tam olarak bu çağrıyı sarmalar (ventiondesk.init({ publicKey }), ardından ventiondesk.report({ text, screenshot })); şu anda npm'de yayımlanmış değildir. Yukarıdaki fetch aynı işi görür.
Yol 3: Sunucudan sunucuya
Müşteri sitesinin kendi backend'i varsa bir giriş anahtarıyla gönderir. Onu Ayarlar › Talep girişi altında oluşturursun: bölümün sağ üstündeki “+”, ardından projeyi seç — bir giriş anahtarı tam olarak bir projede geçerlidir ve sonra o projede “Sunucu ve uygulama” altında listelenir. Anahtar gizlidir ve yalnızca sunucuya aittir, asla tarayıcıya değil.
curl -X POST https://api.ventiondesk.com/v1/intake/tickets \
-H "Authorization: Bearer vd_intake_…" \
-H "Content-Type: application/json" \
-d '{"name":"Jane Miller","email":"j.miller@customer.com","subject":"Login does not work","message":"Since this morning I can no longer get into my account."}'
Alanlar formdakilerle aynıdır, ayrıca isteğe bağlı olarak screenshot (yukarıdaki gibi) ve meta (en fazla 20 basit değer). Bir giriş anahtarı göndermekten başka hiçbir şey yapamaz — görev okuyamaz veya talep göremez.
Botlara karşı Turnstile
VentionDesk tarafında Cloudflare Turnstile açıksa form ve tarayıcı yolu bir Turnstile token'ı (cf-turnstile-response veya turnstileToken) gerektirir. Eksikse VentionDesk 403 ile yanıt verir. Varsayılan olarak bu kontrol giriş için kapalıdır: form ve tarayıcı yolu senin sayfalarında durur ve bir Turnstile widget'ı yalnızca site anahtarının alan adlarında çalışır. Yalnızca karşılıklı anlaşmayla açılır; o zaman sayfanın, kendi alan adı için geçerli bir site anahtarına sahip kendi widget'ına ihtiyacı vardır. Cloudflare'in kendisi yanıt vermezse VentionDesk bildirimi geçirir ve doğrulanmamış olarak işaretler — Cloudflare'deki bir kesinti bir müşteri talebine mal olmamalıdır. Sunucudan sunucuya yol Turnstile gerektirmez.
Kontrol: Bir şey geliyor mu?
“Ayarlar › Talep girişi” altındaki herkese açık anahtar ve her giriş anahtarı “bağlı | son bildirim …” veya “henüz bildirim yok” gösterir — gerçek denemeler üzerinden ölçülür. Son deneme reddedildiyse neden gösterilir:
- Kaynak adrese izin verilmiyor
- Bot kontrolü eksik (Turnstile alanı yok)
- Bot kontrolü başarısız
- Bildirim eksik veya geçersiz
- Anahtar iptal edildi
- Anahtarın süresi doldu
- Anahtar tek bir projeye bağlı değil
- Proje artık mevcut değil
- Talep oluşturulamadı (sunucu hatası)
Sınırlar
Her giriş yolu IP adresi başına dakikada en fazla 10 bildirim kabul eder; bir istek en fazla 1 MB olabilir.
E-posta
İşletmenin posta kutusuna gelen e-postalar talep olur; posta kutusu adını Ayarlar › E-posta göndericisi altında belirlersin. Bir müşteri VentionDesk'ten gelen bir e-postayı yanıtlarsa yanıt aynı talebe düşer — e-posta başlıklarından, adresteki talep numarasından (mailbox+TK-1044@…) veya konudaki [TK-1044] ifadesinden tanınır. Ayarlar › Talep girişi altında bir projenin “E-posta girişi” kartında adresleri bu projeye atarsın; başka bir alan adındaki adresler oraya bir yönlendirme gerektirir.
Hangi adresler yeni bir talep oluşturur: yalnızca kayıtlı olanlar. Bunlar işletmenin posta kutusu (önceki bir posta kutusu adı ve onun her artı adresi de), projelerinin “E-posta girişi” kartındaki adresler ve işletme üyelerinin oturum açma adresleridir. Başka herhangi bir adrese gelen e-posta talep olmaz ve hiçbir yerde görünmez — böylece spam botlarının uydurma adreslere gönderdiği e-postalar girişine düşmez. Mevcut bir talebe verilen yanıtlar, hangi adrese gittiklerinden bağımsız olarak her zaman gelir. Bir e-posta eksikse adresini ilgili projenin “E-posta girişi” kartına gir.
E-postayla alındı onayı: yalnızca tanıdığın gönderenlere gider — talep bir müşteriye atanmıştır veya adres işletmenin bir müşterisine ya da portal hesabına aittir. Bilinmeyen bir gönderen için otomatik e-posta gitmez; bunun yerine geçmişte dahili bir not görünür ve talep gerçekse elle yanıt verirsin. Form, uygulama bileşeni ve sunucu yolu üzerinden yeni adaylar da onaylarını alır.
Monitörler
Bir projenin Analitik sekmesinde monitörler oluşturursun (URL, tür “Erişilebilirlik” veya “Sertifika”, aralık). Bir monitör art arda iki kez başarısız olursa VentionDesk bir talep açar; yeniden erişilebilir olur olmaz talep çözülür.