WEBHOOK · CRM · OTOMASYON

Form verisi, iş akışınıza
kendiliğinden aksın.

Her yeni form, HMAC imzalı bir HTTPS isteğiyle CRM’inize, otomasyon aracınıza veya kendi uygulamanıza gönderilsin.

Ücretsiz başlayın Demoyu deneyin

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

İhtiyacınız olan her şey,
kurulumu dakikalar.

İmzalı istekler

Her istek X-Anes-Signature başlığıyla HMAC-SHA256 imzalıdır; sahte istekleri ayırt edersiniz.

Tekrar deneme

Hedef geçici olarak yanıt vermezse istek aynı olay kimliğiyle yeniden gönderilir; çift kaydı olay kimliğiyle önlersiniz.

Hazır entegrasyonlar da var

Slack, Discord, Telegram, Google Sheets ve Notion için webhook yazmanız gerekmez; Zapier, Make veya n8n ile de çalışır.

Durum takibi

Her webhook denemesinin sonucunu panelde görün, başarısız olanları yeniden gönderin.

  1. 1

    Ücretsiz hesap açın

    Proje oluşturup sitenizin adresini ve bildirimlerin gideceği e-postayı yazın.

  2. 2

    Webhook adresinizi ekleyin

    Proje ayarlarında HTTPS adresinizi yazın; imza anahtarı otomatik oluşturulur.

  3. 3

    İmzayı doğrulayın

    Gelen isteğin imzasını anahtarınızla kontrol edin ve veriyi işleyin.

KOPYALA · YAPIŞTIR

Webhook’u doğrulayın

İmza, X-Anes-Timestamp değeri, bir nokta ve ham istek gövdesinin birleşiminden hesaplanır.

Kullanım rehberinin tamamı

Node.js · imza doğrulama
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);
});

SIK SORULANLAR

Aklınıza takılanlar.

Başka bir sorunuz mu var?
Bize yazın

Webhook hangi planlarda var?

Webhook, bu kanalı içeren planlarda açılır; plan kartlarında hangi kanalların dahil olduğu yazar.

Yalnızca webhook kullanıp e-posta almayabilir miyim?

Evet. Her proje için kanalları ayrı ayrı seçersiniz.

Kendi sunucum yoksa?

Zapier, Make veya n8n gibi araçların size verdiği webhook adresini kullanabilirsiniz.

BİR SONRAKİ FORMUNUZ İÇİN

Formu siz tasarlayın.
Akışını bize bırakın.

Ücretsiz başlayın

Bir sorunuz mu var? Rehbere göz atın.