Amadeus API & XML Entegrasyonu Rehberi
Amadeus API'leri, uçuş rezervasyonları, otel rezervasyonları, araç kiralama ve diğer seyahat hizmetlerine erişim sağlar. Amadeus API entegrasyonu adım adım nasıl gerçekleştirilir.
Amadeus API Entegrasyonu: Adım Adım Rehber
Giriş
Amadeus, seyahat endüstrisi için geniş bir API yelpazesi sunan lider bir teknoloji sağlayıcısıdır. Amadeus API'leri, uçuş rezervasyonları, otel rezervasyonları, araç kiralama ve diğer seyahat hizmetlerine erişim sağlar. Bu yazıda, Amadeus API entegrasyonunu adım adım nasıl gerçekleştirebileceğinizi öğreneceksiniz.
Tüm hayayolu firmalarıyla entegre tek bir API istiyacınız var ise, Demircode firmasının FAPI (Flight API) ürününe göz atmak için tıklayın.
1. API'ye Erişim Sağlama
a. Kayıt ve API Anahtarı Alma
Amadeus API'lerine erişmek için Amadeus for Developers portalına (https://developers.amadeus.com/) kayıt olmanız gerekmektedir. Kayıt işlemini tamamladıktan sonra, projeler oluşturabilir ve API anahtarınızı alabilirsiniz.
b. API Dokümantasyonunu İnceleme
API anahtarını aldıktan sonra, Amadeus API dokümantasyonunu dikkatlice inceleyin. Dokümantasyon, kullanabileceğiniz uç noktalar (endpoints), istek ve yanıt formatları hakkında ayrıntılı bilgiler sağlar.
2. Temel Entegrasyon Adımları
a. Gerekli Kütüphanelerin Kurulumu
API entegrasyonu için bazı kütüphanelere ihtiyacınız olacak. Python örneği için:
python
pip install amadeus
b. API Anahtarı ile Kimlik Doğrulama
Amadeus API'sine istek göndermek için, API anahtarınızı kullanarak kimlik doğrulaması yapmanız gerekir. Aşağıdaki örnekte, bir uçuş sorgulaması yapılmaktadır:
python
from amadeus import Client, ResponseError amadeus = Client( client_id='SİZİN_API_KEY', client_secret='SİZİN_CLIENT_SECRET' ) try: response = amadeus.shopping.flight_offers_search.get( originLocationCode='NYC', destinationLocationCode='LON', departureDate='2024-12-01', adults=1 ) print(response.data) except ResponseError as error: print(error)
3. Uç Noktaların Kullanımı
a. Uçuş Bilgileri Sorgulama
Uçuş bilgilerini sorgulamak için flight_offers_search uç noktasını kullanabilirsiniz. İstek formatı ve parametreler dokümantasyonda belirtilmiştir.
b. Rezervasyon Yapma
Rezervasyon yapmak için flight_create_orders uç noktasını kullanabilirsiniz. Gerekli olan parametreler ve örnek bir rezervasyon isteği dokümantasyonda detaylı bir şekilde açıklanmıştır. Örnek bir rezervasyon isteği:
python
order = { 'data': { 'type': 'flight-order', 'flightOffers': [/* uçuş teklifleri burada olacak */], 'travelers': [ { 'id': '1', 'dateOfBirth': '1982-01-16', 'name': { 'firstName': 'JORGE', 'lastName': 'GONZALES' }, 'gender': 'MALE', 'contact': { 'emailAddress': 'jorge.gonzales833@telefonica.es', 'phones': [ { 'deviceType': 'MOBILE', 'countryCallingCode': '34', 'number': '480080076' } ] }, 'documents': [ { 'documentType': 'PASSPORT', 'birthPlace': 'Madrid', 'issuanceLocation': 'Madrid', 'issuanceDate': '2015-04-14', 'number': '00000000', 'expiryDate': '2025-04-14', 'issuanceCountry': 'ES', 'validityCountry': 'ES', 'nationality': 'ES', 'holder': True } ] } ] } } try: response = amadeus.booking.flight_orders.post(order) print(response.data) except ResponseError as error: print(error)
c. Otel Rezervasyonları
Otel rezervasyonları için de benzer şekilde ilgili uç noktaları kullanarak istek gönderebilirsiniz. Parametrelerin doğruluğuna ve zorunlu alanlara dikkat etmek önemlidir.
python
try: response = amadeus.shopping.hotel_offers.get( cityCode='LON' ) print(response.data) except ResponseError as error: print(error)
4. Hata Yönetimi ve Debugging
a. Hata Kodları ve Anlamları
API isteği sırasında karşılaşabileceğiniz hata kodlarını ve anlamlarını bilmek, sorunları hızlıca çözmenizi sağlar. Örneğin, 401 Unauthorized hatası genellikle yanlış veya eksik API anahtarından kaynaklanır.
b. Loglama
Entegrasyon sırasında loglama yaparak, hangi adımda hata aldığınızı kolayca tespit edebilirsiniz.
python
import logging logging.basicConfig(level=logging.INFO) try: response = amadeus.shopping.flight_offers_search.get( originLocationCode='NYC', destinationLocationCode='LON', departureDate='2024-12-01', adults=1 ) logging.info(response.data) except ResponseError as error: logging.error(f'Error occurred: {error}')
5. Performans ve Güvenlik İpuçları
a. İstek Sayısını Optimize Etme
API çağrılarınızı optimize ederek performansı artırabilirsiniz. Mümkün olduğunca toplu istekler yapmaya çalışın.
b. Güvenlik Önlemleri
API anahtarınızı güvende tutun ve sadece güvenli bağlantılar (https) kullanın. Anahtarınızı kod içerisine hardcode etmekten kaçının, çevresel değişkenler veya güvenli bir saklama yöntemi kullanın.
python
import os API_KEY = os.getenv('AMADEUS_API_KEY') CLIENT_SECRET = os.getenv('AMADEUS_CLIENT_SECRET') amadeus = Client( client_id=API_KEY, client_secret=CLIENT_SECRET )
Sonuç
Amadeus API entegrasyonu, uçuş bilgileri, rezervasyon ve otel rezervasyonları gibi işlemleri otomatikleştirmenizi sağlar. Bu rehberde, temel entegrasyon adımlarından hata yönetimine kadar çeşitli konuları ele aldık. Başarılı bir entegrasyon için, API dokümantasyonunu dikkatlice incelemeniz ve güvenlik önlemlerini almanız önemlidir.