# WebHook'lar

**Settings > WebHooks > Create New WebHook**

**WebHooks** Netmera ile daha geniş dijital ekosistem arasında köprü görevi gören bir iletişim kanalıdır. Netmera merkeziniz ile harici uygulamalar arasında gerçek zamanlı olarak içgörüler, tetikleyiciler ve aksiyonlar taşıyan sanal bir haberci gibi düşünebilirsiniz.&#x20;

Bu nedenle, şu işlevi görür: **Netmera'dan bir harici web uygulamasına veya servisine bilgiyi gerçek zamanlı olarak göndermenize olanak tanır.** Netmera uygulamanızı diğer sistemlerle entegre etmenin bir yoludur ve Netmera'daki belirli Event’ler veya veri değişikliklerine bağlı olarak harici uygulamanızda aksiyon tetiklemenizi sağlar.

{% hint style="info" %}
**aralığındadır.**

Örneğin, Netmera'dan gönderilen push bildirimleriyle kullanıcı etkileşimlerini takip edip analiz etmek istediğinizi varsayalım. Bir **WebHook** oluşturabilir ve bu WebHook, bir kullanıcı push bildirime tıkladığında tetiklenir (**Push Click** event). Bu WebHook daha sonra tıklama event'i ile ilgili verileri daha fazla analiz ve raporlama için harici bir analitik sistemine gönderebilir.
{% endhint %}

### Create New WebHook

**WebHook Adı**

Netmera Control Panel ve raporlar içinde WebHook'u tanımlamak için kullanıcı tarafından belirlenen bir isim. Bu ad organizasyon amaçlı kullanılır ve WebHook'un fonksiyonunu etkilemez.

**WebHook URI**

Netmera'nın WebHook verilerini göndereceği URL (Uniform Resource Identifier). Bu URL, WebHook verilerini alacak harici web uygulaması veya servisin endpoint'ine işaret etmelidir. (Yer tutucuda gösterildiği gibi parametreleri parantez içinde gösterin. Parametreler doğrulandıktan sonra, bildirim hazırlanırken kullanılacak karşılık gelen etiketleri girmeniz gerekecektir.)

**İstek Yöntemi**

WebHook isteği gönderilirken kullanılacak HTTP yöntemi. Bu örnekte, `GET`, belirtilen URI'ye HTTP GET isteği ile WebHook'un tetikleneceği anlamına gelir.

**Trigger**

WebHook'u tetikleyecek event veya aksiyon türü. Bu örnekte, mevcut seçenekler şunlardır:

* **Push Click:** Bir kullanıcı push bildirime tıkladığında WebHook tetiklenecektir.
* **Message Log:** Bir mesaj günlük (Message Log) olayı meydana geldiğinde WebHook tetiklenecektir.
* **Geofence:** Bir geofence olayı tespit edildiğinde WebHook tetiklenecektir.

**Select Event**

Eğer **Event** tetik tipi olarak seçildiğinde, bu alan WebHook'u tetikleyecek belirli bir event'i (ör. belirli bir push bildirimi veya geofence) seçmenize olanak tanır.

<figure><img src="https://1655476697-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FSXqCIji05iPjNvPSfOVy%2FScreenshot%202023-07-24%20at%2014.27.37.png?alt=media&#x26;token=97a3b187-0be1-4e41-b19a-6a4b3f7a5a52" alt=""><figcaption><p>WebHooks</p></figcaption></figure>

{% hint style="info" %}
**Example:**

Belirli ürün kategorileriyle kullanıcı etkileşimlerini izlemek isteyebilirsiniz. Bir kullanıcı ürün detay ekranını görüntülediğinde tetiklenen bir WebHook kurabilirsiniz. Ardından "Context Parameter" seçeneğini kullanarak görüntülenen ürünün bağlamından alınan ürün kategorisini bir header değeri olarak ekleyebilirsiniz. Böylece WebHook'u alan harici sistem, farklı ürün kategorilerine yönelik kullanıcı ilgi düzeylerini analiz edebilir.
{% endhint %}

**WebHook Header'ları**

Bunlar WebHook isteğine dahil edilebilen HTTP header'larıdır. Harici uygulamanın işlemesi için ek bilgi veya yetkilendirme verisi taşıyabilirler.

1. **Context Parameter:** Bir header için "Context Parameter" seçeneği kullanıldığında, header'ın değeri WebHook'u tetikleyen belirli event'in bağlamından alınır. Bağlam, kullanıcının profil özelliği, cihaz özelliği veya event'e özgü başka ilgili veri olabilir. Bu, event'e bağlı dinamik bilgi geçmenizi sağlar.
2. **Fixed Value:** Bir header için "Fixed Value" seçeneği kullanıldığında, her WebHook isteğinde header değeri olarak gönderilecek statik bir değer sağlarsınız. Bu, WebHook'u tetikleyen spesifik event ne olursa olsun aynı değerin kullanılacağı anlamına gelir. Header değerinin tüm WebHook istekleri için sabit olduğu durumlarda faydalıdır.

{% hint style="info" %}
**Anahtar:** Header parametresinin adı.&#x20;

**Değer Kaynağı:** Header parametresinin değerinin nasıl belirleneceğini belirtir. Değer, kullanıcının profil özelliğinden, cihaz özelliğinden veya sabit bir değerden alınabilir.&#x20;

**Değer:** Header parametresinin gerçek değeri.
{% endhint %}

{% hint style="warning" %}
**Sizin**

Bazı durumlarda, WebHook isteklerini **kimlik doğrulamanız** gerekebilir; istek header'larına bir **API anahtarı veya kimlik doğrulama token'ı** ekleyerek. Bu senaryoda, API anahtarı veya token'ı header içinde statik bir değer olarak sağlamak için **"Fixed Value"** seçeneğini kullanabilirsiniz. Bu, hangi event'lerin tetiklediğinden bağımsız olarak tüm WebHook isteklerinin gerekli kimlik doğrulamasını taşımasını sağlar.
{% endhint %}

<figure><img src="https://1655476697-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FGyE314qKNrAGOZAJxYMp%2FScreenshot%202023-07-24%20at%2014.34.53.png?alt=media&#x26;token=aab3dba3-10c6-453a-8697-1a01348f9ca1" alt=""><figcaption><p>WebHook Header'ları</p></figcaption></figure>

**WebHook Parametreleri**

Bunlar WebHook isteğine dahil edilebilen ek parametrelerdir. Header'lar gibi, tetikleyen event ile ilgili spesifik verileri taşıyabilirler.

<figure><img src="https://1655476697-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FErfLYGLtqmXI7fQXB6C2%2FScreenshot%202023-07-24%20at%2014.35.33.png?alt=media&#x26;token=f86eed45-2ecb-43ce-af06-9103d5082834" alt=""><figcaption><p>WebHook Parametreleri</p></figcaption></figure>

{% hint style="info" %}
**Anahtar:** Parametrenin adı.&#x20;

**Değer Kaynağı:** Parametrenin değerinin nasıl belirleneceğini belirtir. Değer, kullanıcının profil özelliğinden, cihaz özelliğinden veya sabit bir değerden alınabilir.&#x20;

**Değer:** Parametrenin gerçek değeri.
{% endhint %}

**Örnek İstek**

Bir örnek istek, WebHook isteğinin nasıl yapılacağını gösteren bir cURL komutu olarak sağlanır. `${hook.url}` istek gönderildiğinde gerçek WebHook URI'si ile değiştirilecek bir yer tutucudur.

<figure><img src="https://1655476697-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX6uilbEAw42gqsudlclY%2Fuploads%2FkBRahuV0Ko3ay8Do1tdm%2FScreenshot%202023-07-24%20at%2014.36.29.png?alt=media&#x26;token=67d0254b-6084-4d54-a005-fc542cbae114" alt=""><figcaption><p>Örnek</p></figcaption></figure>

Genel olarak, Netmera'da bir WebHook oluşturmak, uygulamanızın işlevselliğini diğer servislerle entegre ederek genişletmenizi, iş akışlarını otomatikleştirmenizi ve kullanıcı davranışı hakkında daha derin içgörüler elde etmenizi sağlar.
