İş ortağı sunucusu

İş 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 birlikte SEGMENT_KEY_NOT_FOUND, SUBOPTIMAL_ITINERARY, BOOKING_WINDOW_NOT_SUPPORTED ve TICKETING_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.