İmzalı istekler
Her istek X-Anes-Signature başlığıyla HMAC-SHA256 imzalıdır; sahte istekleri ayırt edersiniz.
WEBHOOK · CRM · OTOMASYON
Her yeni form, HMAC imzalı bir HTTPS isteğiyle CRM’inize, otomasyon aracınıza veya kendi uygulamanıza gönderilsin.
Formdan gelen talepleri CRM’e elle kopyalamak zaman alır ve hataya açıktır. ANES Flow her formu bir webhook olayı olarak iletir; hedef geçici olarak yanıt vermezse aynı olay kimliğiyle tekrar dener.
NEDEN ANES FLOW
Her istek X-Anes-Signature başlığıyla HMAC-SHA256 imzalıdır; sahte istekleri ayırt edersiniz.
Hedef geçici olarak yanıt vermezse istek aynı olay kimliğiyle yeniden gönderilir; çift kaydı olay kimliğiyle önlersiniz.
Slack, Discord, Telegram, Google Sheets ve Notion için webhook yazmanız gerekmez; Zapier, Make veya n8n ile de çalışır.
Her webhook denemesinin sonucunu panelde görün, başarısız olanları yeniden gönderin.
Proje oluşturup sitenizin adresini ve bildirimlerin gideceği e-postayı yazın.
Proje ayarlarında HTTPS adresinizi yazın; imza anahtarı otomatik oluşturulur.
Gelen isteğin imzasını anahtarınızla kontrol edin ve veriyi işleyin.
KOPYALA · YAPIŞTIR
İmza, X-Anes-Timestamp değeri, bir nokta ve ham istek gövdesinin birleşiminden hesaplanır.
import express from 'express';
import { createHmac, timingSafeEqual } from 'node:crypto';
const app = express();
app.post('/anes-flow', express.raw({ type: 'application/json' }), (req, res) => {
const timestamp = req.get('X-Anes-Timestamp') ?? '';
const expected = 'sha256=' + createHmac('sha256', process.env.ANES_WEBHOOK_SECRET)
.update(`${timestamp}.${req.body}`)
.digest('hex');
const given = req.get('X-Anes-Signature') ?? '';
if (given.length !== expected.length ||
!timingSafeEqual(Buffer.from(given), Buffer.from(expected)))
return res.sendStatus(401);
// { id, type: "form.submitted", data: { submissionId, project, fields } }
const event = JSON.parse(req.body);
// Aynı event.id ikinci kez gelirse yok sayın: tekrar denemeler aynı kimlikle gelir.
res.sendStatus(200);
});Webhook, bu kanalı içeren planlarda açılır; plan kartlarında hangi kanalların dahil olduğu yazar.
Evet. Her proje için kanalları ayrı ayrı seçersiniz.
Zapier, Make veya n8n gibi araçların size verdiği webhook adresini kullanabilirsiniz.
BİR SONRAKİ FORMUNUZ İÇİN
Bir sorunuz mu var? Rehbere göz atın.