ENA Feedback
Entegrasyonlar

Webhooklar

Enafeedback'ten kendi sistemlerinizde gerçek zamanlı olay bildirimleri almak için webhook'ları ayarlayın.

Son güncelleme:

Webhooklar, Enafeedback'ten olay tabanlı bildirimler almanıza olanak tanır. Bir olay gerçekleştiğinde (örn. yeni bir anket yanıtı), Enafeedback yapılandırılmış uç noktanıza JSON yük içeren bir HTTP POST isteği gönderir.

Webhook Oluşturma

  1. Global Ayarlar → Entegrasyonlar → Webhooklar'a gidin.
  2. Webhook uç noktası ekle'ye tıklayın.
  3. Uç Nokta URL'si — olayları alacak HTTPS URL'sini girin.
  4. Abone olmak istediğiniz Olayları seçin.
  5. Kaydet'e tıklayın.

İmza doğrulama için otomatik olarak bir gizli anahtar oluşturulur.

Webhook uç noktaları HTTPS kullanmalıdır. HTTP uç noktaları güvenlik nedeniyle reddedilir.

Olaylar

OlayTetikleyici
survey.response.createdZiyaretçi anket yanıtı gönderir
survey.response.updatedZiyaretçi önceki yanıtını günceller
hygiene.submission.createdZiyaretçi hijyen değerlendirmesi gönderir
feedback.ticket.createdYeni geri bildirim bileti gönderilir
feedback.ticket.status_changedBir biletin durumu değişir
cleaning.log.createdTemizlik personeli giriş gönderir
poster.scannedBir QR kodu okutulur (form yüklenmeden önce tetiklenir)

Tüm olaylara (*) veya belirli bir alt kümeye abone olabilirsiniz.

Yük Formatı

Tüm webhook yükleri ortak bir zarf paylaşır:

{
  "id": "evt_01HXYZ...",
  "event": "survey.response.created",
  "created_at": "2026-06-07T10:30:00Z",
  "workspace_id": "ws_abc123",
  "data": {
    // Olaya özgü alanlar
  }
}

Örnek: survey.response.created

{
  "id": "evt_01HXYZ",
  "event": "survey.response.created",
  "created_at": "2026-06-07T10:30:00Z",
  "workspace_id": "ws_abc123",
  "data": {
    "session_id": "ses_001",
    "survey_id": "srv_456",
    "survey_version": 3,
    "location_id": "loc_789",
    "location_name": "Resepsiyon",
    "completed_at": "2026-06-07T10:30:00Z",
    "duration_seconds": 47,
    "answers": [
      { "question_id": "q1", "type": "rating", "value": 5 },
      { "question_id": "q2", "type": "text", "value": "Çok yardımsever personel" }
    ]
  }
}

İmza Doğrulama

Her webhook isteği bir X-Enafeedback-Signature başlığı içerir. Bu, uç noktanızın gizli anahtarı kullanılarak ham istek gövdesinin HMAC-SHA256 imzasıdır.

İmzayı doğrulamak için:

import { createHmac } from 'node:crypto';

function verifyWebhook(body: string, signature: string, secret: string): boolean {
  const expected = createHmac('sha256', secret)
    .update(body)
    .digest('hex');
  return `sha256=${expected}` === signature;
}

Yükleri işlemeden önce her zaman imzaları doğrulayın.

Yeniden Deneme Politikası

Uç noktanız 2xx olmayan bir yanıt döndürürse (veya zaman aşımına uğrarsa), Enafeedback üstel geri çekilmeyle yeniden dener:

DenemeGecikme
1. yeniden deneme30 saniye
2. yeniden deneme5 dakika
3. yeniden deneme30 dakika
4. yeniden deneme2 saat

4 başarısız yeniden denemeden sonra teslimat başarısız olarak işaretlenir ve başka yeniden deneme yapılmaz. Başarısız teslimatlar webhook teslimat günlüğünde görünür.

Teslimat Günlüğü

Global Ayarlar → Entegrasyonlar → Webhooklar → [Uç Nokta] → Teslimatlar şunları gösterir:

  • Olay türü
  • Teslimat zaman damgası
  • HTTP yanıt durumu
  • Yanıt gövdesi (hata ayıklama için)
  • Yeniden deneme sayısı

Bu günlükten herhangi bir başarısız teslimatı manuel olarak yeniden deneyebilirsiniz.

Webhook Testi

Uç nokta yapılandırma sayfasından Test olayı gönder'e tıklayarak uç noktanıza örnek bir yük gönderin. Test olayı sahte veriler kullanır ve yükte "test": true ile açıkça işaretlenir.

Uç Noktaları Devre Dışı Bırakma ve Silme

  • Devre dışı bırak — Yapılandırmayı kaybetmeden geçici olarak olay göndermeyi durdurur. İstediğiniz zaman yeniden etkinleştirin.
  • Sil — Uç noktayı ve teslimat günlüğünü kalıcı olarak kaldırır. Gizli anahtar hemen geçersiz hâle gelir.