# Partner API kimlikleri

Adrasis, partner sistemlerinin (rezervasyon aggregator'leri, kurum içi B2B araçları, kanal operatörleri) doğrudan çağırarak mülk kataloglarına, canlı teklif aramalarına ve fiyat anlık görüntülerine eriştiği salt-okunur Distribution API'sini sunar. Her partner, Console üzerinden üretilen ayrı bir kimlikle kimlik doğrular; partnerin entegrasyon profiline uyacak üç farklı kimlik doğrulama yöntemi sunulur.

## Kimlik doğrulama yöntemi seçimi

| Yöntem           | Hangi durumda uygun                                                                      | Partner ne gönderir                                                                                 |
| ---------------- | ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| **OAuth 2.0**    | OAuth bilen modern partnerler — rezervasyon aggregator'leri, büyük B2B platformları.     | `client_id` + `client_secret` ile kısa ömürlü erişim token'ı alır; her çağrıda bu token'ı gönderir. |
| **HTTP Basic**   | Sabit kullanıcı adı + parola başlığıyla büyümüş legacy entegrasyonlar.                   | Her çağrıda `username` + `password` gönderir.                                                       |
| **API Anahtarı** | Self-servis geliştirici entegrasyonları — kurum içi araçlar, panolar, hafif back-office. | Her çağrıda tek bir uzun ömürlü bearer anahtar gönderir.                                            |

Operatör yöntemi kimlik oluşturma anında bir kez seçer. Aynı operatör hesabındaki farklı partnerler farklı yöntemleri kullanabilir — Console'un geri kalanı (scope'lar, yaşam döngüsü, denetim) üç yöntemde aynı kalır.

## Ne zaman kimlik üretilir

Operatörler her yeni partner entegrasyonu devreye girdiğinde yeni bir kimlik üretir — bir partner için bir kimlik, partnerler arası paylaşım yok. Yaygın tetikleyiciler:

* Yeni bir B2B aggregator anlaşması ve partnerin teknik erişime ihtiyacı.
* Operatörün kendi back-office'i, kiosk uygulaması veya kurum içi analitik aracının canlı tekliflere okuma erişimine ihtiyacı.
* Connector partnerinin tek bir kanal bağlamına bağlı, denetlenebilir kalmasını istediği özel bir kimlik.

Operatörler tek bir kimliği birden çok partner arasında paylaşmaz. Denetim izleri, iptal işlemleri ve hız limit muhasebesi kimlik bazlıdır; paylaşılmış bir kimlik "X partner kötü davrandı" ile "Y partner kötü davrandı" sınırını siler.

## Partner kimliği nasıl kullanır

### OAuth 2.0

Partner her yenileme döngüsünde iki adımlı bir akış çalıştırır:

1. **Kimlik doğrula.** `client_id` + `client_secret` değerlerini Adrasis token endpoint'ine gönderir. Adrasis secret'ı doğrular, kimliğin etkin olduğunu kontrol eder ve kısa ömürlü bir erişim token'ını saniye cinsinden kalan ömrüyle birlikte döner.
2. **Distribution API'sini çağır.** Her istekte erişim token'ını `Authorization: Bearer <token>` başlığında gönderir.

Erişim token'ları bir saat geçerlidir. Partner token'ı süresinin sonuna kadar önbelleğinde tutar, sonra yeniden kimlik doğrular. Refresh token yoktur — yeni bir erişim token'ı almak için yapılan tur kasıtlı olarak sade tutulmuştur; ele geçirilmiş bir token doğal ömrünün ötesine geçemez.

### HTTP Basic

Partner her istekte `Authorization: Basic <base64(username:password)>` başlığını gönderir. Token üretme turu yoktur — Adrasis her çağrıda kimliği doğrular. Daha eski B2B kanallardan gelen partnerler için en tanıdık şekil budur.

### API Anahtarı

Partner her istekte `Authorization: Bearer adr_<32 karakter gövde>` başlığını gönderir. Anahtar oluşturma anında sunucu tarafında üretilir, yalnızca bir kez döndürülür ve yenilenene veya iptal edilene kadar geçerli kalır. Modern geliştirici-araçları API'lerinin kullandığı şekil (Stripe deseni) — partner için en sade entegrasyon yolu.

## Scope'lar

Scope'lar kimliğin hangi uçlara erişebileceğini belirler. Aynı iki scope üç kimlik yönteminde de geçerlidir:

| Scope                  | Ne sağlar                                                                                                                                                                          |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `distribution:read`    | Tüm okuma uçları — canlı teklif arama, mülk katalog feed, diagnostic ve metadata uçları.                                                                                           |
| `distribution:booking` | Rezervasyon onaylama, değiştirme ve iptal uçları (ileri faza rezerve; bugün dahi kimliğe atanabilir ki booking devreye alındığında partnerin secret rotasyonuna ihtiyacı olmasın). |

Her yeni kimlik varsayılan olarak iki scope'u da taşır; bugün onboard edilen bir partner booking uçları geldiğinde rotasyon yapmak zorunda kalmaz. Operatörler daraltma gerektiğinde rotasyon sırasında scope kümesini ayarlar.

## Yaşam döngüsü kontrolleri

Bir kimlik üretildikten sonra operatörlerin **Distribution API Kimlikleri** sayfasından ulaşabileceği üç yaşam döngüsü kolu vardır:

* **Yenile (Rotate)** — Aynı kimlik satırında yeni bir secret üretir. Açık tanımlayıcı (`client_id` / `username` / satır public\_id) sabit kalır; yalnızca secret değişir, partner çalışmaya devam etmek için tek değeri değiştirir. Operatörler proaktif olarak sabit bir kadansla yeniler (genelde üç ayda bir) ve secret sızdırıldığından şüphelenildiği anda reaktif olarak yeniler.
* **Devre dışı bırak (Disable)** — Kimlik doğrulamayı duraklatır. Sonraki istekler reddedilir; disable öncesi üretilen OAuth token'ları doğal süresi dolana kadar çalışır. Entegrasyon geçici olarak kapatıldığında (test, bakım, partner incelemede süreç bekliyor) kullanın.
* **İptal et (Revoke)** — Kimliği kalıcı olarak ölü kabul eder. Yeni istekler anında reddedilir ve satır etkin listeden düşer. Disable öncesi üretilen OAuth token'ları süresi dolana kadar geçerli kalır (bir saatlik token penceresi maksimum maruziyeti de sınırlar). Basic ve API anahtarı kimlikleri kısa verifier önbellek penceresi sonunda kesilir. Güvenlik olayı sırasında sert anlık kesinti için Adrasis destek hattıyla iletişime geçin; global imzalama anahtarı çevrilir.

## Operatör ne görür

Her kimlik satırı operatör dostu bir etiket taşır (`Partner A — production`, `Kurum içi back-office`, vb.) ve şunları sergiler:

* Kimliğin kullandığı doğrulama yöntemi (OAuth 2.0 / HTTP Basic / API Anahtarı).
* Partnerin gönderdiği açık tanımlayıcı (`client_id`, `username` veya API anahtarı öneki — tam secret asla görünmez).
* Bağlı connector bağlamı — her kimlik tek bir connector'a bağlıdır, böylece partner aktivitesi kanalıyla eşleşmiş kalır.
* Kimliğe verilen scope kümesi.
* Yaşam döngüsü durumu — Etkin, Devre dışı veya İptal edildi.
* Son başarılı kimlik doğrulama zamanı — kimliğin durağan olup olmadığının en sade göstergesi.

Düz metin secret, ilk tek seferlik gösterimden sonra hiçbir liste, denetim kaydı veya dışa aktarımda görünmez.

## Operasyonel disiplin

Üç kural partner API'sini güvende tutar:

1. **Secret değerlerini asla e-postaya veya sohbete yapıştırmayın.** Adrasis tam da bunun için tek seferlik gösterimde bir kopya butonu ve "Bu değeri partner ile güvenli şekilde paylaştım" onayı sunar.
2. **Yalnızca olay anında değil, plana göre yenileyin.** Üç ayda bir rotasyon, partneri rahatsız etmeden secret'ı taze tutan en düşük sürtünmeli kadanstır — üç yöntemde de geçerli.
3. **Her partner entegrasyonu için tek kimlik.** Partner yeni bir ortam ayağa kaldırdığında (staging, production, felaket kurtarma), her ortam kendi kimlik satırını alır.

## İlgili

* [Kanallar](/console/tr/dagitim/channels.md) — kimlik üretilmeden önce connector'ların nasıl yapılandırıldığı.
* [Bedbank dağıtımı (tedarikçi feed)](/console/tr/dagitim/outbound/bedbank-distribution.md) — Distribution API'sini tüketen outbound feed senaryoları.
* [Metasearch ve B2B platformlar](/console/tr/dagitim/outbound/metasearch.md) — genelde okuma scope'unu tüketen partner aileleri.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://adrasis.gitbook.io/console/tr/dagitim/outbound/partner-api-credentials.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
