Entegrasyonlar
Özel webhooklar
Tamamlanan her gönderimi imzalı bir POST isteği olarak herhangi bir HTTPS uç noktasına gönderin — backend'inize, otomasyon platformunuza veya sunucusuz fonksiyonunuza.
Nasıl çalışır
Her gönderimde formbase, webhook URL’nize bir JSON gövdesi POST eder. İstek HMAC-SHA256 ile imzalanır, başarısız olursa yeniden denenir ve entegrasyonun etkinlik günlüğüne kaydedilir. Bu sayfa kurulumu anlatır. Tam payload, başlıklar ve imza algoritması webhook referansında yer alır.
Webhook ekle
- 1
Form Entegrasyonlarını açın
Form → Ayarlar → Entegrasyonlar → Webhook.
- 2
URL
Host ve yolu yazın — https:// öneki girişte sabittir. Düz http:// yalnızca geliştirme sırasında localhost için kabul edilir.
- 3
Eşleme
Her alanı göndermek için boş bırakın. Yalnızca seçtiğiniz alanları, seçtiğiniz JSON anahtarı altında göndermek için satır ekleyin. Eşleme answers ile display’i birlikte şekillendirir, yani yeniden adlandırılan bir anahtar ikisinde de yeniden adlandırılır. Eşlemenin altındaki tam istek, siz düzenledikçe yeniden çizilir.
- 4
Başlıklar
whsec_ ile başlayan bir imzalama gizli anahtarı sizin için oluşturulur. Oluşturulduktan sonra değiştirilemez. Aynı adımda uç noktanızın ihtiyaç duyduğu en fazla 5 özel başlık ekleyin, örneğin bir yetkilendirme token’ı; alıcınız fields.list çağıramıyorsa Alan listesini her olayla gönder seçeneğini açın. Content-Type otomatik ayarlanır ve geçersiz kılınamaz.
- 5
Sonlandır
Sentezlenmiş bir örnek gönderimi POST etmek için Test olayı gönder’e basın, ardından Entegrasyon oluştur’a basın.
Birden fazla webhook
Tek bir forma birden fazla webhook ekleyebilirsiniz. Her biri her etkinlik için bağımsız olarak tetiklenir.
formbase’in kabul ettiği URL’ler
Her yerde
https://, geliştirme sırasındalocalhostve*.localhostiçin isehttp://.- URL’de kimlik bilgisi olmamalı ve en fazla 2.048 karakter olmalı.
Özel veya iç adresler kabul edilmez. Ana bilgisayar adı çözümlenir ve her teslimattan hemen önce yeniden kontrol edilir; bu yüzden kurulumdan sonra bir DNS kaydı iç bir adrese yönlendirilse bile reddedilmeye devam eder.
Reddedilen bir URL geçici değil, bir yapılandırma sorunudur: teslimat yeniden denenmez, kalıcı olarak başarısız olur.
Ne alırsınız
Her istek aynı olay zarfıdır — id, type, createdAt, apiVersion, test ve
data. data içinde form, gönderim (kimlik, katılımcı e-postası, gönderim zamanı, PDF bağlantısı, dil),
alan anahtarına göre anahtarlanmış bir answers nesnesi ve aynı anahtarları okunabilir
metin olarak taşıyan bir display nesnesi bulunur. Her yanıt, her haritada bir kez yer alır.
Tam payload biçimi, answers ve display ve bir tekrarlayan grubun nasıl temsil edildiği için referansa bakın.
Formunuz için tam gövdeyi önizlemek üzere entegrasyonu açın ve imzalama gizli anahtarının altındaki Örnek yük’ü genişletin. Güncel eşlemenizi örnek yanıtlarla birlikte gösterir.
İmzaları doğrulama
Her istek bir X-formbase-Signature başlığı içerir: t=TIMESTAMP,sha256=HEX, imzalama gizli anahtarınızla
hesaplanan TIMESTAMP.BODY’nin bir HMAC-SHA256’sı. Gizli anahtarın kendisi hiçbir zaman gönderilmez. Referansta
kopyalayıp yapıştırabileceğiniz bir doğrulama kod parçası bulunur.
Üretimde her zaman doğrulayın
Doğrulama yapılmazsa, URL’nizi keşfeden herkes sahte gönderim paylaşabilir. İmzası eksik veya geçersiz olan istekleri reddedin.
Terk edilmiş yanıt etkinlikleri
Özel webhooklar yalnızca tamamlanan gönderimler ve düzenlemeler için tetiklenir — terk edilmiş taslaklar için asla. Özel bir webhook, her ikisini de alan tek alıcıdır: bir Zapier, Make veya n8n aboneliği ilk gönderimleri ya da düzenlemeleri seçer, asla ikisini birden. Terk edilmiş taslaklar için bir Terk edilmiş gönderiler adımına sahip bir sağlayıcı kullanın: Google Sheets, Airtable, Notion, Slack, Discord, Linear veya GitHub Issues. Her biri kendi bekleme penceresini ve, uygulanabildiği yerde, kendi ileti şablonunu kullanır. Bu adım Pro veya Business gerektirir.
Yeniden denemeler ve hatalar
Herhangi bir
2xxteslimatı başarılı sayılır.En fazla 5 deneme: ilki hemen tetiklenir, yeniden denemeler en az 1, 2, 4 ve 8 dakika bekler. formbase, süresi gelen yeniden denemeleri her 30 dakikada bir arar, bu yüzden son deneme ilkinden yaklaşık iki saat sonra gelir. Bir
429veya5xxüzerindekiRetry-Afterbaşlığı daha uzun bir bekleme istediğinde dikkate alınır.429,5xx, zaman aşımları ve bağlantı hataları yeniden denenir. Diğer her4xxhemen başarısız olur.Art arda 5 başarısızlıktan sonra entegrasyon otomatik olarak duraklatılır ve kuran kişiye bir e-posta gider. Uç noktayı düzeltin, ardından Yeniden Etkinleştir’e basın.
401,403ve404entegrasyonu bir hata durumu ve aynı e-posta ile hemen durdurur — beş başarısızlığın beklenmesine gerek yoktur.Tüm 5 denemesini tüketen teslimatlar entegrasyonda bir banner’da toplanır. Tümünü Yeniden Dene bunları yeniden kuyruğa alır ve duraklatılmış bir entegrasyonu yeniden etkinleştirir.
Test etme
Test olayı gönder, Sonlandır adımında ve kaydedilmiş entegrasyonda tekrar görünür. Gerçek bir teslimat gibi imzalanmış ve
özel başlıklarınızla birlikte sentezlenmiş bir örnek gönderimi POST eder — metin için “John Doe”, sayılar için
42, e-posta için john@example.com. Kaydedilmiş entegrasyondan çalıştırıldığında etkinlik günlüğüne ayrıca bir
bağlantı testi kaydı yazar.
Yerel geliştirme için geliştirme sunucunuzu bir tünel ile dışarıya açın:
# ngrok
ngrok http 3000
# cloudflare tunnel
cloudflared tunnel --url http://localhost:3000SSS
Evet. Her birinin kendi URL’si, imzalama gizli anahtarı ve özel başlıkları vardır. Tüm etkin webhooklar her gönderim için bağımsız olarak tetiklenir.
Evet — kurulum sırasında veya sonradan entegrasyondan en fazla 5 tane eklenebilir. Content-Type otomatik ayarlanır ve onu
geçersiz kılma girişimleri yok sayılır.
Hayır. İmzalama gizli anahtarı webhook oluşturulduğunda bir kez üretilir ve değiştirilemez. Yeni bir gizli anahtar gerekiyorsa webhook’u silip yenisini oluşturun.
Evet. Entegrasyonu açın, URL’yi düzenleyin ve kaydedin. İmzalama gizli anahtarı ve etkinlik geçmişi onunla birlikte kalır.
Yalnızca geliştirme sırasında localhost ve *.localhost için. Diğer tüm URL’ler HTTPS kullanmalıdır.
Form ayarları → Entegrasyonlar bölümünden silin. formbase istekleri göndermeyi hemen durdurur ve entegrasyonun etkinlik geçmişi onunla birlikte silinir.