Ana içeriğe geç

Webhooks

Webhooks, varlık olayları gerçekleştiğinde harici sistemlerinize gerçek zamanlı bildirimler gönderir. Zapier, Make, özel API'ler veya envanter sistemleriyle kullanın.


1. Webhooks'a Erişim

Gezinti: AssetsSettingsWebhooks sekmesi.


2. Webhook Oluşturma

  1. New Webhook seçeneğine tıklayın
  2. Webhook Name girin (ör. "Sync to ERP")
  3. Webhook URL girin - endpoint'iniz (POST isteklerini kabul etmeli)
  4. Abone olunacak Events seçin (veya tümünü seçin)
  5. İsteğe bağlı: HMAC imza doğrulaması için Secret Key ayarlayın
  6. İsteğe bağlı: Custom Headers ekleyin (ör. API key)
  7. Active olarak Yes ayarlayın
  8. Save seçeneğine tıklayın

3. Mevcut Olaylar

Asset Lifecycle

EventWhen Triggered
asset.createdNew asset created
asset.updatedAsset updated
asset.deletedAsset deleted

Allocation & Assignment

EventWhen Triggered
asset.allocatedAsset allocated to staff
asset.revokedAllocation revoked

Check-in/Check-out

EventWhen Triggered
asset.checked_outAsset checked out
asset.checked_inAsset checked in

Reservations

EventWhen Triggered
asset.reservedReservation created
asset.reservation_approvedReservation approved
asset.reservation_rejectedReservation rejected

Maintenance & Transfers

EventWhen Triggered
asset.maintenance_scheduledMaintenance scheduled
asset.maintenance_completedMaintenance completed
asset.transferredTransfer completed

Loss, Damage, Disposal

EventWhen Triggered
asset.lostAsset reported lost
asset.brokenAsset reported broken
asset.warrantyAsset sent for warranty
asset.liquidatedAsset liquidated

Alerts (via Cron)

EventWhen Triggered
alert.warranty_expiringWarranty expiring in 30 days
alert.maintenance_dueMaintenance due in 7 days
alert.checkout_overdueCheckout overdue
alert.low_stockStock below threshold

4. Payload Formatı

Her webhook bir JSON payload gönderir:

{
"event": "asset.created",
"timestamp": "2025-02-04T12:00:00+00:00",
"source": "perfex_assets_module",
"asset_id": 123,
"asset": { ... },
"data": { ... }
}
  • event - Event name
  • timestamp - ISO 8601 format
  • asset_id - ID of the asset (null for deleted)
  • asset - Asset data (or extra data for deleted)
  • data - Event-specific data (e.g., allocation details)

5. İmza Doğrulama

Modül başlıkta HMAC-SHA256 imzası gönderir:

X-Asset-Webhook-Signature: <signature>
X-Asset-Webhook-Timestamp: <timestamp>
X-Asset-Webhook-Event: <event>

Endpoint'inizde doğrulayın:

signature = HMAC-SHA256(secret_key, request_body)

6. Webhook Günlükleri

  • Teslim durumunu görmek için Webhook Logs görüntüleyin
  • Response Code - 2xx = başarılı, 4xx/5xx = hata
  • Retry - Bazı arayüzler başarısız teslimatları yeniden denemeye izin verir
  • Günlükler genellikle 30 gün sonra temizlenir

7. Webhook Test Etme

Test payload göndermek için Test Webhook kullanın. Endpoint'inizin erişilebilir ve doğru yapılandırıldığını doğrulamak için kullanışlıdır.


En İyi Uygulamalar

  • Webhook URL'leri için HTTPS kullanın
  • İsteklerin modülden geldiğini doğrulamak için imzayı doğrulayın
  • Hızlı yanıt verin (örn. 200 OK) - zaman aşımı ~30 saniye
  • Yinelenenleri işleyin - aynı olay yeniden denenebilir
  • Başarısız teslimatlar için günlükleri izleyin