> ## Documentation Index
> Fetch the complete documentation index at: https://foliant-help.iforiti.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Kendi sisteminize webhook gönderin

> Webhooks entegrasyonu, Foliant bir belge oluşturduğunda veya bir dışa aktarmayı tamamladığında kendi uç noktanıza imzalı bir JSON olayı gönderir.

**Webhooks** entegrasyonu geliştiriciler içindir. Foliant'ta bir şey olduğunda, seçtiğiniz bir HTTPS adresine bir JSON olayı gönderir. Böylece kendi sisteminiz buna tepki verebilir; örneğin her fatura PDF'ini arşivleyebilir veya tamamlanan bir dışa aktarmayı alabilir.

Webhooks beta aşamasındadır. **Ayarlar › Entegrasyonlar** bölümünde görmüyorsanız mağazanıza henüz sunulmamıştır. Erişim hakkında bilgi almak için destek ekibiyle iletişime geçin.

## Olaylar

| Olay | Gönderildiği zaman |
| - | - |
| `document.generated` (**Belge oluşturuldu**) | Foliant bir sipariş için belge oluşturduğunda: indirme, dışa aktarma veya PDF teslim e-postası. |
| `export.completed` (**Dışa aktarma tamamlandı**) | Toplu bir dışa aktarma hazır olduğunda. |

## Webhook'ları bağlayın

1. Foliant'ta **Ayarlar › Entegrasyonlar** bölümüne gidin.

2. **Webhooks** üzerinde **Bağla**'ya tıklayın.

3. Ayarları doldurun:

   | Alan | Ne girilmeli |
   | - | - |
   | **Uç nokta URL'si** | Foliant'ın olayları gönderdiği adres. HTTPS kullanmalıdır; örneğin `https://example.com/webhooks/foliant`. |
   | **İmzalama anahtarı** | İsteğe bağlı. Bir anahtar girerseniz her istek imzalanır; böylece isteğin Foliant'tan geldiğini doğrulayabilirsiniz. |
   | **Olaylar** | Gönderilecek olaylar. Varsayılan olarak ikisi de seçilidir. |

4. **Bağla**'ya tıklayın.

URL'yi, anahtarı ve olayları daha sonra entegrasyonun sayfasındaki **Ayarlar** bölümünden değiştirebilirsiniz.

## Her isteğin içeriği

Foliant, JSON gövdeli bir `POST` isteği gönderir:

```json theme={null}
{
  "id": "a unique delivery id",
  "event": "document.generated",
  "created_at": "2026-10-11T09:30:00+00:00",
  "shop": "your-store.myshopify.com",
  "data": { }
}
```

### `document.generated` verileri

* `template`: şablonun `uuid` ve `name` değerleri.
* `document_type`: `invoice`, `credit_note`, `quote` veya diğer belgeler için boş.
* `order`: siparişin `id`, `name` ve `type` değerleri (siparişler veya taslak siparişler).
* `refund_id` ve `fulfillment_id`, belge bir iade veya gönderim içinse.
* `document_number` ve `issued_at`, numaralı belgeler için.
* `source`: belgenin nasıl oluşturulduğu; örneğin `download`, `admin_download`, `export` veya `email`.
* `export`: belge bir dışa aktarmanın parçasıysa dışa aktarmanın kimliği.
* `generated_at`.

### `export.completed` verileri

* `export`: dışa aktarmanın `uuid`, `order_type`, `template_uuids` değerleri, `orders` sayısı, `orders_skipped` (seçildikten sonra silinen siparişler) ve `documents`, `requested_by` (`merchant` veya `customer`) ve `completed_at`.
* `download_url`: dışa aktarmayı indirme bağlantısı ve bu bağlantının çalışmayı durduracağı zaman olan `download_url_expires_at`.
* `download_expires_at`: dışa aktarmanın kendisinin sona ereceği zaman.

Olaylar müşteri e-posta adreslerini değil, kimlikleri ve sayıları içerir.

### Başlıklar

| Başlık | İçerik |
| - | - |
| `X-Foliant-Event` | Olay; örneğin `document.generated`. |
| `X-Foliant-Delivery` | Teslimatın benzersiz kimliği (gövdedeki `id` ile aynı). |
| `X-Foliant-Timestamp` | Gönderilme zamanı, Unix saniyesi olarak. |
| `X-Foliant-Signature` | `sha256=` ve ardından imza. Yalnızca bir imzalama anahtarı belirlediyseniz. |

## İmzayı doğrulayın

İmza; zaman damgası, bir nokta ve ham istek gövdesinin (`<timestamp>.<body>`) imzalama anahtarınız kullanılarak hesaplanan onaltılık HMAC-SHA256 değeridir. İmzayı kendi tarafınızda hesaplayın ve `X-Foliant-Signature` içindeki `sha256=` sonrasındaki değerle karşılaştırın. Ham gövdeyi tam olarak alındığı şekilde kullanın.

## Yanıtlar ve yeniden denemeler

* Herhangi bir 2xx yanıtı teslim edildi olarak sayılır.
* Uç noktanız 5xx hatası, 408 veya 429 döndürürse ya da 10 saniye içinde yanıt vermezse Foliant daha sonra yeniden dener. Her seferinde daha uzun bekler ve en fazla 5 deneme yapar.
* Diğer 4xx yanıtları kesindir: Foliant bunları yeniden denemez.
* Her olay, belge veya dışa aktarma başına bir kez teslim edilir. Başarılı bir teslimattan sonra yeniden denemeler olayı asla ikinci kez göndermez.

Her teslimat, entegrasyonun sayfasındaki **Etkinlik** bölümünde görünür. Burada başarısız bir teslimat için **Yeniden dene**'ye tıklayabilirsiniz. [Entegrasyon etkinliği](https://foliant-help.iforiti.com/tr/integrations/integration-activity.md) sayfasına bakın.

## İlgili makaleler

* [Bir entegrasyonu bağlayın ve yönetin](https://foliant-help.iforiti.com/tr/integrations/connect-an-integration.md)
* [Entegrasyon etkinliği](https://foliant-help.iforiti.com/tr/integrations/integration-activity.md)
* [Shopify Flow ile otomatikleştirin](https://foliant-help.iforiti.com/tr/integrations/shopify-flow.md)
* [PDF'leri dışa aktarın](https://foliant-help.iforiti.com/tr/exports/export-pdfs.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.