Ana içeriğe geç

Kimlik Doğrulama

Partner API, OAuth 2.0 Client Credentials akışını kullanır. Tüm uç noktalar (OAuth hariç) geçerli bir Authorization: Bearer <access_token> başlığı gerektirir.

1. Kimlik Bilgilerini Alın

TourMAX hesap yöneticinizden aşağıdaki bilgileri talep edin:

AlanÖrnek
client_idcid_f36a59d50737c1a2616cc823d22697fc
client_secretsk_live_... veya sk_test_... (sandbox)
scopeshotels:read tours:read reservations:read reservations:write ...
uyarı

client_secret değerini asla istemci tarafında (tarayıcı/mobil) kullanmayın. Yalnızca sunucudan sunucuya yapılan çağrılarda kullanılmalıdır.

2. Erişim Tokenu (Access Token) Alın

curl
curl -X POST https://example.com/apiv2/partner-api/v1/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "client_credentials",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"scope": "hotels:read reservations:write"
}'
Response
{
"data": {
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 7200,
"scope": "hotels:read reservations:write"
}
}
  • Token 7200 saniye (2 saat) geçerlidir.
  • Süresi dolduğunda 401 Unauthorized hatası döner — aynı uç noktaya yeniden POST atarak yeni bir token alın.
  • Tokenları istemci tarafında önbelleğe (cache) alın; her istekte yeni token üretmeyin.

3. Korumalı Bir Uç Noktaya Çağrı

curl https://example.com/apiv2/partner-api/v1/account \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

4. Scope'lar

ScopeAçıklama
hotels:readOtel arama, detay, fiyat sorgulama
tours:readTur arama, detay
reservations:readRezervasyon listeleme ve detay görme
reservations:writeRezervasyon oluşturma, güncelleme, iptal
account:readHesap bilgisi ve bakiye
content:readPara birimi, ülke, şehir vb. sabit veriler
webhooks:readWebhook aboneliklerini listeleme
webhooks:writeWebhook aboneliği oluşturma, güncelleme, silme

Token alırken yalnızca ihtiyacınız olan kapsamları (scope) talep edin — en az yetki (least privilege) ilkesi.

5. Token İptali

Bir tokenı süresi dolmadan iptal etmek için:

curl -X POST https://example.com/apiv2/partner-api/v1/oauth/revoke \
-H "Content-Type: application/json" \
-d '{"token": "eyJhbGciOiJIUzI1NiIs..."}'