İş ortaklarının fiyatlandırma ve müsaitlik durumu bilgilerini entegre etmek için Partner API'yi uygulaması gerekir. Bu arayüz REST'e dayanır ve Google'ın HTTP üzerinden canlı görüşme göndermesine olanak tanır. Tek tek API yöntemlerinin ayrıntıları Referans bölümünde açıklanırken, kesişen konularla ilgili bilgileri daha sonra bulabilirsiniz.
İstek ve yanıt biçimi
Başlangıçta yalnızca JSON biçimleri desteklenecektir. Başka istek veya yanıt biçimleri gerekiyorsa kullanım alanınızı görüşmek için transport-help@google.com adresinden Seyahat Taşımacılığı Ekibi ile iletişime geçin.
İstekler, HTTP yöntemi POST kullanılarak gönderilir. İstek mesajı, POST gövdesinde yer alır.
Yapısal netlik için API arayüzü dokümanlarının Protokol Arabelleği mesaj tanımları olarak sağlandığını ve Protokol Arabelleği mesaj tanımının JSON nesnesine çevrilmesinin, standart JSON eşlemesi ile tanımlandığını unutmayın. Bu eşleme, alanları varsayılan değerlerle yaymak ve lowerCamelCase adları yerine proto alan adlarını kullanmak için seçenekleri kullanır.
Kimlik doğrulama
Google, HTTP Digest kimlik doğrulamasını ve istemci sertifikası kimlik doğrulamasını destekler. Partner API'nin tüm HTTP çağrıları, HTTP Digest kimlik doğrulamasını (kullanıcı adı ve şifreyle) veya istemci sertifikası kimlik doğrulamasını kullanır. İş ortağı, Google'a kullanıcı adı ve şifre (bkz. İş Ortağı Yapılandırması) veya SSL istemci sertifikası sağlamalıdır.
Durum kodları ve hata işleme
Genel olarak, HTTP yanıtlarında aşağıdaki durum kodları döndürülebilir:
HTTP Kodu | HTTP Açıklaması | Notlar |
---|---|---|
2xx | Tamam | Hata değildir, başarıyla döndürülür. Yanıt gövdesinin, hata yanıtı değil başarılı bir sonuç (ör. TripOptionsResult) içermesi beklenir. |
400 | Hatalı İstek | Alınan istek geçersizdi. Yanıt gövdesinde ek hata ayrıntılarını döndürmek için yönteme özgü hata yanıtları kullanılmalıdır. HTTP 400 genellikle yalnızca Google teknik bir hata yaptıysa (ör. istekte yanlış adlandırılmış bir alan) kullanılmalıdır. |
403 | Yasak | İzin reddedildi/yasaklandı (arayan kişi biliniyor ve reddedildi). Bu yanıt, bazı kaynakların tükenmesinden kaynaklanan retler için kullanılmamalıdır (bu tür hatalar için bunun yerine Çok Fazla İstek yanıtı kullanılmalıdır). Arayan tanımlanamıyorsa Forbidden (Yasak) kullanılmamalıdır (bu tür hatalar için bunun yerine Unauthorized (Yetkisiz) kullanılmalıdır). |
404 | Bulunamadı | İstenen kaynak bulunamadı. Yanıt gövdesinde ek hata ayrıntıları döndürmek için yönteme özgü hata yanıtları kullanılmalıdır. |
429 | Çok fazla istek var | Kullanıcı başına kota gibi bir kaynak tükendi. |
500 | Dahili Sunucu Hatası | Dahili hatalar. Bu, temel sistemin beklediği bazı değişmezlerin bozulduğu anlamına gelir. Bu hata kodu, ciddi hatalar için ayrılmıştır ve iş ortağının API sunucusu uygulamasında bir hata olduğunu gösterir. |
503 | Hizmet Kullanılamıyor | Hizmet kullanılamıyor. Bu durum büyük olasılıkla geçicidir ve geri çekilme ile yeniden denenerek düzeltilebilir. |
504 | Ağ Geçidi Zaman Aşımı | İşlem tamamlanmadan son tarih geçti. Sistemin durumunu değiştiren işlemler için, işlem başarıyla tamamlanmış olsa bile bu hata döndürülebilir. Örneğin, bir sunucudan gelen başarılı yanıt, son kullanma tarihinin geçmesine yetecek kadar uzun süre gecikmiş olabilir. |
Tüm ön koşullar, geçersiz bağımsız değişkenler veya bulunamadı hataları için şunları unutmayın:
- API'lerde tanımlanan yönteme özgü yanıtlar veya hata mesajları kullanılmalıdır.
- Yönteme özel kodlarda belirtildiği gibi doğru HTTP kodu kullanılmalıdır (ör.
TripOptionsErrorType
).
Bu sayede, bu tür hatalar hakkında daha ayrıntılı bilgi sağlanabilir. Bu bilgiler şu amaçlarla kullanılabilir:
- Bir hatanın yeniden denenip denenemeyeceğini belirleme
SEGMENT_KEY_NOT_FOUND
yeniden denenemez.
- Eski bilgileri düzeltin
Unavailable.Reason.CANCELED
, gezinin kaldırılması gerektiğini gösterir (bunun başarılı bir yanıtın parçası olduğunu unutmayın).Unavailable.Reason.TEMPORARILY_UNAVAILABLE
ile birlikteSEGMENT_KEY_NOT_FOUND
,SUBOPTIMAL_ITINERARY
,BOOKING_WINDOW_NOT_SUPPORTED
veTICKETING_PROHIBITED
hata kodları, daha önce önbellekten aldığımız tüm fiyatları kaldırır.
- Kullanıcılara alakalı rehberlik sağlama
TripOptionsError
bölümünde sağlanan yönteme özgü hataların mevcut listesi bir başlangıç noktasıdır. Başka hata türlerine ihtiyaç duyarsanız lütfen Google Seyahat Ulaşım Ekibi ile iletişime geçin.
QPS (saniyedeki sorgu sayısı)
Google tarafından gönderilen QPS düzeyi, iş ortağı envanterine ve kaç kullanıcının önbelleğe alınmış verileri görüntülediğine veya rezervasyon için iş ortağı web sitelerini tıkladığına bağlı olarak değişebilir.
Gecikme
İsteklerin zaman aşımı süresi 10 saniyedir. Beta iş ortağı entegrasyonları için ek gecikme yönergeleri olmayacaktır. Ancak, daha fazla gecikme SLO'su İş Ortağı Veri Kalitesi Yönergelerimizde tanımlanacaktır.
Para birimleri, vergiler ve ücretler
Google'a gönderilen tüm fiyatlar, tüm vergi ve ücretleri içermeli ve desteklenen bir para biriminde belirtilmelidir.
Para Birimi
Bir fiyatın para birimi, geçerli bir ISO 4217 para birimi kodu olması gereken currency_code
alanı kullanılarak belirtilir.
10,25 ABD doları örneği:
{
"price": {
"currency_code": "USD",
"units": 10,
"nanos": 250000000
}
}
Vergiler ve Ücretler
Sağladığınız fiyat, kullanıcının ödeyeceği nihai toplam fiyat olmalı, tüm vergiler (ör. KDV) ve ek ücretler (ör. rezervasyon veya kredi kartı ücretleri) dahil olmalıdır. Tekrarlanabilir line_items
alanı kullanılarak isteğe bağlı bir ücret dökümü eklenebilir. Google, toplam fiyatı kullanıcılara isteğe bağlı ücret dökümüyle birlikte gösterir.