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: Assets → Settings → Webhooks sekmesi.
2. Webhook Oluşturma
- New Webhook seçeneğine tıklayın
- Webhook Name girin (ör. "Sync to ERP")
- Webhook URL girin - endpoint'iniz (POST isteklerini kabul etmeli)
- Abone olunacak Events seçin (veya tümünü seçin)
- İsteğe bağlı: HMAC imza doğrulaması için Secret Key ayarlayın
- İsteğe bağlı: Custom Headers ekleyin (ör. API key)
- Active olarak Yes ayarlayın
- Save seçeneğine tıklayın
3. Mevcut Olaylar
Asset Lifecycle
| Event | When Triggered |
|---|---|
asset.created | New asset created |
asset.updated | Asset updated |
asset.deleted | Asset deleted |
Allocation & Assignment
| Event | When Triggered |
|---|---|
asset.allocated | Asset allocated to staff |
asset.revoked | Allocation revoked |
Check-in/Check-out
| Event | When Triggered |
|---|---|
asset.checked_out | Asset checked out |
asset.checked_in | Asset checked in |
Reservations
| Event | When Triggered |
|---|---|
asset.reserved | Reservation created |
asset.reservation_approved | Reservation approved |
asset.reservation_rejected | Reservation rejected |
Maintenance & Transfers
| Event | When Triggered |
|---|---|
asset.maintenance_scheduled | Maintenance scheduled |
asset.maintenance_completed | Maintenance completed |
asset.transferred | Transfer completed |
Loss, Damage, Disposal
| Event | When Triggered |
|---|---|
asset.lost | Asset reported lost |
asset.broken | Asset reported broken |
asset.warranty | Asset sent for warranty |
asset.liquidated | Asset liquidated |
Alerts (via Cron)
| Event | When Triggered |
|---|---|
alert.warranty_expiring | Warranty expiring in 30 days |
alert.maintenance_due | Maintenance due in 7 days |
alert.checkout_overdue | Checkout overdue |
alert.low_stock | Stock 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