# Webhooks

Yoklama olmadan görev ve faturalama olaylarını almak için Webhooks'yi kullanın. Tripo, abone olunan olaylar gerçekleştiğinde JSON veri yüklerini HTTPS uç noktanıza gönderir.

## Kurulum

1. Ayarlar'ı ve ardından Webhooks'yi açın.
2. `https://api.yourapp.com/tripo-webhook` gibi bir HTTPS uç noktası ekleyin.
3. Almak istediğiniz etkinlik türlerini seçin.
4. Uç noktayı kaydedin.
5. İmzalama sırrını kopyalayın ve güvenli bir şekilde saklayın. Yalnızca bir kez gösterilir.

## Etkinlik Türleri

| Etkinlik | Açıklama |
| --- | --- |
| `task.completed` | Bir görev başarıyla tamamlandı. |
| `task.failed` | Bir görev başarısız oldu veya iptal edildi. |
| `balance.low` | Hesap bakiyesi yapılandırılmış kredi uyarısı eşiğinin altına düştü. |

## Başlıkları Talep Et

| Başlık | Açıklama |
| --- | --- |
| `Tripo-Webhook-Id` | Webhook uç noktası ID. |
| `Tripo-Webhook-Delivery` | Benzersiz teslimat ID. İdempotens için kullanın. |
| `Tripo-Webhook-Event` | `task.completed` gibi olay türü. |
| `Tripo-Webhook-Signature` | `{timestamp}.{raw_body}` üzerinde HMAC-SHA256 imzası. |
| `Content-Type` | Her zaman `application/json`. |

## Doğrulama

1. `Tripo-Webhook-Signature`'den `t` ve `v1`'yi ayrıştırın.
2. HMAC-SHA256'yi `t + "." + rawBody` üzerindeki imzalama sırrıyla hesaplayın.
3. Sabit zamanlı bir karşılaştırma kullanarak hesaplanan onaltılık özeti `v1` ile karşılaştırın.
4. İsteğe bağlı olarak yaklaşık beş dakikadan daha eski zaman damgalarını reddedin.

## En İyi Uygulamalar

- Hızla bir `2xx` yanıtı gönderin, ardından ağır işleri eşzamansız olarak işleyin.
- Uygulama durumunu değiştirmeden önce her veriyi doğrulayın.
- `Tripo-Webhook-Delivery` kullanarak etkinlikleri tekilleştirin.
- Yetersiz kredi nedeniyle görev oluşturma başarısız olmadan önce kullanıcıları uyarmak için `balance.low`'yi kullanın.
