# API’ye Genel Bakış

Sözleşme, uç dizini, OpenAPI dosyası ve tarayıcıdan deneme
Kaynak: https://selwise.com/docs/api-reference/public-api

Bu sayfa Selwise'in geliştiricilere açık HTTP uçlarının dizinidir; widget'ın açılışta çektiği yapılandırma uçları [Açılış Uçları](/docs/api-reference/bootstrap-endpoints) sayfasındadır. Her ailenin ayrıntısı (parametre tabloları, `curl` örnekleri, gerçek yanıtlar, hata durumları) kendi sayfasındadır. Widget'ı kullanıyorsanız bu uçları çağırmanız gerekmez; mobil uygulama, sunucu entegrasyonu veya kendi arayüzünüz (headless) için doğrudan çağırırsınız.

Önce [Kimlik Doğrulama ve Erişim](/docs/api-reference/authentication) sayfasını okuyun: hangi uca hangi kimlikle gideceğinizi orası anlatır.
## Sözleşme

- **Taban adres:** `https://api.selwise.com/api/v1`
- **Makine-okur sözleşme:** Bu dizinin tamamı OpenAPI biçiminde `https://selwise.com/openapi.public.json` adresinde yayımlanır (`/openapi.json` aynı dosyadır). Her uç `x-selwise-tier` taşır: `integration` kararlı entegrasyon sözleşmesidir, `widget` ise widget ve SDK trafiğidir ve istemci protokolüyle birlikte evrilir. Her ucun kimlik türü `x-selwise-auth`, gereken anahtar kapsamı `x-selwise-scope` alanındadır. Panelin kendi API'si ve `/channels/**` yayımlanmaz. Kod üreten araçlara ve yapay zekâ destekli geliştirici asistanlarına bu dosyayı verebilirsiniz.
- **Biçim:** İstek ve yanıt gövdesi JSON'dur (`Content-Type: application/json`). Zaman damgaları, aksi yazılmadıkça ISO 8601 (yanıtlarda) ya da milisaniye cinsinden epoch (isteklerde `eventTs`, `timestamp`) biçimindedir.
- **Bilinmeyen alan:** Gövdesi sınıfla doğrulanan uçlar (`events/batch`, `users/identify`, `users/traits`, `newsletter`, `contacts/consent`, `business-events`, `scenarios/inbox`) tanımadığı bir alanı **`400`** ile reddeder; sessizce yok saymaz. `orders`, `consent` ve `search/log`, `search/click`, `recommendations/track/*` gövdeyi sınıfla doğrulamaz ve fazladan alanı yok sayar (tek istisna: `orders` gövdesinde `id` alanı `400` verir). Alan adlarını tam yazın. Ayrıntı: [Hatalar ve Sınırlar](/docs/api-reference/errors-and-limits).
- **Durum kodu yetmez:** `events/batch`, `search/log` ve benzeri analitik uçlar bilinmeyen site anahtarına bile `200` dönebilir; `success` alanına bakın.
- **Hız sınırları** uca göre değişir; bir uç özel bir sınır taşımıyorsa IP başına dakikada 100 istek geçerlidir ve sınır **uç başına ayrı** sayılır. Bkz. [Hız sınırları](/docs/api-reference/errors-and-limits#hız-sınırları).
## Tarayıcıdan deneme

Uç sayfalarındaki her işlemin **Dene** sekmesi, isteği kendi kanal anahtarınızla bu sayfadan gönderir. Okuma uçları olduğu gibi çalışır; yazma uçları her zaman **deneme çalıştırması** (`x-selwise-dry-run: 1`) olarak gider: istek doğrulanır, yetki kontrol edilir ama hiçbir şey yazılmaz, olay ya da kuyruk işi oluşmaz. API anahtarınız yalnızca bu sekmenin belleğinde tutulur ve sayfayı kapattığınızda silinir. Kurallar: [Yazmadan denemek](/docs/api-reference/errors-and-limits#yazmadan-denemek-dry-run).

Makine-okur sözleşmenin tamamı tek dosyadır: [openapi.public.json](https://selwise.com/openapi.public.json). Postman, Insomnia ya da bir kod üreticiye doğrudan verebilirsiniz.

## Uç dizini

Kimlik sütunu: **Alan** = alan adı doğrulaması (veya anahtar, başlık yoksa), **Anahtar** = her zaman API anahtarı, **Yok** = yalnızca `siteKey`.

### Açılış ve içerik

| Yöntem ve yol | Kimlik | Ne yapar | Sayfa |
| --- | --- | --- | --- |
| `GET /public/sites/:siteKey/config` | Alan | Kampanya, öneri, takip, arama, zenginleştirme, deney ve tema yapılandırmasının toplu yanıtı | Bu sayfa |
| `GET /public/sites/:siteKey/tracking-config` | Alan | Yalnızca takip yapılandırması | Bu sayfa |
| `GET /public/sites/:siteKey/integrations` | Alan | Veri katmanı, entegrasyon ve webhook ayarları | Bu sayfa |
| `GET /public/sites/:siteKey/campaigns` | Alan | Aktif kampanyalar | Bu sayfa |
| `GET /public/sites/:siteKey/widgets` | Alan | Kullanımdan kalktı, her zaman boş liste | Bu sayfa |
| `GET /public/sites/:siteKey/scripts` | Alan | Bir yola ait özel script'ler | Bu sayfa |
| `GET /public/sites/:siteKey/product-metrics/view-count`, `.../cart-count`, `POST .../batch` | Alan | Ürün rozeti sayıları | Bu sayfa |

### Ölçüm

| Yöntem ve yol | Kimlik | Ne yapar | Sayfa |
| --- | --- | --- | --- |
| `POST /public/sites/:siteKey/events/batch` | Yok | Olay toplu gönderimi | [Olay Gönderimi](/docs/api-reference/events-ingest) |
| `POST /public/sites/:siteKey/metrics` | Yok | İstemci sağlık sayaçları | [Olay Gönderimi](/docs/api-reference/events-ingest) |
| `POST /public/sites/:siteKey/orders` | Alan | Sipariş | [Sipariş API'si](/docs/api-reference/orders-api) |
| `POST /public/sites/:siteKey/users/identify`, `.../users/traits` | Alan | Kullanıcı kimliklendirme | [Kullanıcı Kimliklendirme API'si](/docs/api-reference/identify-api) |
| `POST /public/sites/:siteKey/business-events` | Alan | Kendi sisteminizin olayı (senaryo tetikler) | [İş Olayları](/docs/integration/business-events) |

### Arama ve öneri

| Yöntem ve yol | Kimlik | Ne yapar | Sayfa |
| --- | --- | --- | --- |
| `GET /public/sites/:siteKey/search`, `.../search-config`, `.../search/suggestions` | Alan | Arama, yapılandırma, öneri listesi | [Arama API'si](/docs/api-reference/search-api) |
| `POST /public/sites/:siteKey/search/log`, `.../search/click`, `.../search/zero-results` | Yok | Arama analitiği | [Arama API'si](/docs/api-reference/search-api) |
| `GET /public/sites/:siteKey/recommendations`, `POST .../recommendations/:widgetId/products` | Alan | Öneri şeritleri ve ürünleri | [Öneri API'si](/docs/api-reference/recommendations-api) |
| `POST /public/sites/:siteKey/recommendations/track/event`, `.../track/behavior` | Yok | Öneri analitiği | [Öneri API'si](/docs/api-reference/recommendations-api) |

### Zenginleştirme ve sunucu taraflı render

| Yöntem ve yol | Kimlik | Ne yapar | Sayfa |
| --- | --- | --- | --- |
| `GET /public/sites/:siteKey/enrichments`, `.../product-facts` | Alan | Ürüne ait blok içeriği, katalog gerçekleri | [Zenginleştirme API'si](/docs/api-reference/enrichment-api) |
| `GET /public/sites/:siteKey/app/enrichments` | Anahtar (uygulama kanalı) | Uygulama kanalı için hazır içerik | [Zenginleştirme API'si](/docs/api-reference/enrichment-api) |
| `GET /public/sites/:siteKey/ssr/enrichments` | Anahtar (`ssr_read`) | Sunucuda basılacak hazır HTML | [Sunucu Taraflı Render API](/docs/api-reference/ssr-api) |

### İzin ve abonelik

| Yöntem ve yol | Kimlik | Ne yapar | Sayfa |
| --- | --- | --- | --- |
| `POST` ve `DELETE /public/sites/:siteKey/consent` | Alan | Çerez onayı kaydı ve geri çekme | [Onay ve Bülten API'si](/docs/api-reference/consent-newsletter-api) |
| `POST /public/sites/:siteKey/contacts/consent` | Anahtar (`newsletter_subscribe`) | Pazarlama izni (kendi sunucunuzdan) | [Onay ve Bülten API'si](/docs/api-reference/consent-newsletter-api) |
| `POST /public/sites/:siteKey/newsletter` | Alan | Bülten kaydı | [Onay ve Bülten API'si](/docs/api-reference/consent-newsletter-api) |

### Katalog

| Yöntem ve yol | Kimlik | Ne yapar | Sayfa |
| --- | --- | --- | --- |
| `POST /public/feeds/:token` | Token (yolda) | Ürün beslemesini gönderme | [Besleme Gönderme](/docs/api-reference/feeds) |

### Widget'ın iç uçları

Deney ataması, segment değerlendirme, senaryo gelen kutusu, tarayıcı bildirim aboneliği, e-posta abonelikten çıkış bağlantıları ve görsel editör widget'ın kendi trafiğidir; sözleşmeleri [Widget'ın Kendi Kullandığı Uçlar](/docs/api-reference/widget-endpoints) sayfasındadır.

> **Bu listede olmayan uçlar**
>
> `/api/v1` altında `Authorization: Bearer` ister **panelin** uçları da vardır (`/channels`, `/campaigns`, `/segments` ...). Onlar panelin kendi arayüzü içindir ve burada belgelenmez. Yalnızca yukarıdaki `/public/` uçları entegrasyon sözleşmesidir.
## Açılış: config

Widget'ın açılışta çektiği `config`, `tracking-config`, `integrations`, `campaigns`, `scripts` ve `product-metrics` uçları ayrı sayfada: [Açılış Uçları](/docs/api-reference/bootstrap-endpoints).
## Headless örüntü

Mobil ya da sunucu entegrasyonunda tipik akış:

1. Açılışta `config` çekilir (başlıksız istek ve `x-selwise-api-key`).
2. Etkileşim oldukça `events/batch` gönderilir.
3. Satın almada `orders` gönderilir.
4. Giriş yapıldığında `users/identify` çağrılır.

Mobil uygulama için hazır SDK'yı kullanmak bu akışı sizin yerinize yürütür: [Mobil SDK](/docs/mobile/overview).
