Seyahat İş Ortağı Fiyatları API'si
Travel Partner Prices API'si size gönderme işlemleri için RESTful arayüzü sunar tesis fiyatlarını Google'a bildirmelidir.
Hizmet: Travelpartnerprices.googleapis.com
Bu hizmeti çağırmak için Google'ın sağladığı istemciyi kullanmanızı öneririz. kitaplıklar. Eğer uygulamasının bu hizmeti çağırmak için kendi kitaplıklarınızı kullanması gerekiyor. Uygulama Keşif Dokümanı'nı almak için Teknik Hesap Yöneticisi (THY) bu hizmetten bahsedeceğim.
Hizmet uç noktası
Hizmet uç nokta, bir bir API hizmetinin ağ adresini belirten temel URL. Tek hizmet birden fazla hizmet uç noktası olabilir. Bu hizmet aşağıdaki hizmete sahiptir uç noktası ve listelenen tüm URI'ler bu hizmet uç noktasına göre belirlenir:
https://travelpartnerprices.googleapis.com
Yöntemler | |
---|---|
ingestLosPropertyPrices |
POST /v1/accounts/account_id/properties/property_id:ingestLosPropertyPrices
Belirtilen bir tesis için sağlanan Konaklama Süresi Fiyatlarını yükleyin. HTTP olarak JSON kodlamalı KS fiyatları mesajı (aşağıya bakın) gerektirir e-posta mesajı
|
API Kimlik Doğrulaması
Travel Partner Prices API'si şu işlemleri gerçekleştirmek için OAuth 2.0'ı kullanır: API'lere erişebilmeniz için uygulamanızın kimliğini doğrulayın.
Kurulumla ilgili adım adım talimatlar için OAuth ayarlarını yapma hakkında bilgi edinin. indirin. Kurulum bunlardır Travel Partner API ile ilgili talimatlar. Travel Partner API ve Travel Partner Prices API'si farklıdır. Bu kurulum talimatlarında "Travel Partner Prices API"yi değiştirmeniz gerekir olan herhangi bir yere "Travel Partner API" anlamına gelir.
İstekler
Söz dizimi
LoS Prices
mesajında aşağıdaki söz dizimi kullanılır:
{
"requestTime": YYYY-MM-DDTHH:mm:ss.SSSZ,
"propertyPrices": {
"arrivalDatePrices": [{
"startDate": {
"year": int
"month": int
"day": int
}
"endDate": {
"year": int
"month": int
"day": int
}
"productPrices": [{
"roomTypeId": "string"
"ratePlanId": "string"
"occupancyPrices": [{
"adults": int
"prices": [{
"rateRuleId": "string"
"currencyCode": "string"
"rates": [night_1,night_2,...]
"taxes": [night_1,night_2,...]
"fees": [night_1,night_2,...]
}]
}]
}]
}]
}
}
Öğeler ve Öznitelikler
Konaklama Süresi fiyatları mesajında aşağıdaki öğeler ve özellikler bulunur:
Öğe | Yineleme sayısı | Tür | Açıklama |
---|---|---|---|
requestTime | 1 | string | KS Fiyatı mesajının gönderildiği zaman, RFC 3339 biçimli bir olarak dize. Son 24 gün içinde Mesajlar RFC 3339 için tam olarak belirtilmiş tarih ve saat kullanılması gerekir
Kesirli saniyeler isteğe bağlıdır ve
nanosaniye hassasiyeti var. Örneğin,
|
propertyPrices | 1 | Object | Tesis fiyatlarıdır. Bu propertyPrices içindeki tüm fiyatlar
aynı mülk için geçerlidir.
Bu öğe tekrarlanmıyor. Birden fazla tesisin fiyatını göndermek için: birden fazla HTTP isteği (mülk başına en az bir tane) yapmanız gerekir. |
arrivalDayPrices[] | 1..n | Object | Varış tarihi için fiyatlar. Bu arrivalDayPrices içindeki tüm fiyatlar
belirli bir tesis için geçerli ancak farklı varış tarihleri için geçerlidir. |
startDate | 1 | Object | productPrices tüm varış tarihlerine uygulanır
startDate ile endDate arasında (bu alanlar dahil).
Yalnızca tek bir varış tarihi belirtmeye çalışıyorsanız (aralık değil),
Varış tarihini hem |
startDate.year | 1 | integer | startDate yılı. 1 ile 9.999 arasında olmalıdır. |
startDate.month | 1 | integer | Bir yılın ayı. 1 ile 12 arasında olmalıdır. |
startDate.day | 1 | integer | Ayın günü. 1 ile 31 arasında olmalı, yıl ve ay için geçerlidir. |
endDate | 0..1 | Object | productPrices,
startDate ve endDate (bu değerler dahil).
Yalnızca tek bir varış tarihi belirtmeye çalışıyorsanız (aralık değil),
|
endDate.year | 1 | integer | endDate yılı. 1 ile 9.999 arasında olmalıdır. |
endDate.month | 1 | integer | Bir yılın ayı. 1 ile 12 arasında olmalıdır. |
endDate.day | 1 | integer | Ayın günü. 1 ile 31 arasında olmalı, yıl ve ay için geçerlidir. |
productPrices[] | 1..n | Object | Bir ürünün fiyatları. Bu productPrices içindeki tüm fiyatlar
belirli bir tesis, varış tarihi kombinasyonu için geçerli ancak farklı
ürünler.
|
roomTypeId | 0..1 | string | Bu fiyatın atıfta bulunduğu odanın benzersiz kimliği. Tekliflerinizi otomatikleştirmek ve optimize etmek için Oda Paketi verilerini oda verilerinde gönderdiğinizle eşleştirmek için bu kimliği kullanın. Daha fazla bilgi için: Oda Paketi meta verileri. |
ratePlanId | 0..1 | string | Bu fiyatın işaret ettiği paket verilerinin benzersiz kimliği. Tekliflerinizi otomatikleştirmek ve optimize etmek için Oda Paketi verilerini, paket verilerinde gönderdiklerinizle eşleştirmek için bu kimliği kullanın. Daha fazla bilgi için: Oda Paketi meta verileri. |
occupancyPrices[] | 1..n | Object | Doluluk sayısına göre belirlenen fiyatlar. Bu occupancyPrices içindeki tüm fiyatlar
belirli bir tesis, varış tarihi, ürün kombinasyonu için geçerlidir ancak
farklı doluluk oranları.
|
adults | 1 | integer | Şu da dahil olmak üzere oda başına rezervasyon yapılabilecek maksimum konuk sayısı:
birlikte çalışır. Bu değer,
karşılık gelen occupancyPrices alanına karşılık gelen ve pozitif bir değer olmalıdır
1 ile 99 arasında bir tam sayı.
Not: Doluluk durumunu bildirmek için destek ekibinizle iletişime geçin. dört yetişkinden daha büyüktür. |
prices[] | 1..n | Object | Konaklama süresi fiyatları. prices dahilindeki tüm fiyatlar şunun için geçerlidir:
Belirli bir tesis, varış tarihi, ürün ve doluluk kombinasyonu.
|
rateRuleId | 0..1 | string | Koşullu fiyatlar için: bu kimlik, bir ücreti Ücret Kuralı Tanımlama dosyanızdaki bir tanımla eşleştirir. Bu alan için karakter sınırı 40 karakterdir. |
currencyCode | 1 | string | rates ve taxes olmak üzere üç harfli para birimi kodu
sağlandığından emin olun. Örneğin, Türk lirası için "USD" .
|
rates[] | 30 | float | Konaklama süresi fiyatlarının taban ücret bileşeni.
Karşılık gelen bir
30 fiyatlık KS grubunun tamamını tek seferde göndermeniz gerekir. Örneğin 30'dan azsa, sağlanan tüm KS fiyatları normaldir, kalan ücretler ise 30 KS'ye kadar kullanılamaz. Şu durumda: 30'un üzerinde fiyat gönderiyorsanız 30. fiyatın üzerinde gönderdiğiniz fiyatlar düştü . Müsait olmayan konaklama süreleri
|
taxes[] | 30 | float | Konaklama süresi fiyatlarının vergi bileşeni.
|
fees[] | 30 | float | Konaklama süresi fiyatlarının ücret bileşeni.
|
Örnek
Fiyatlar ve KS üzerinden alınan vergiler
Aşağıdaki örnekte minimum konaklama süresinin 2 olarak ayarlanması gösterilmektedir
başka bir check-in tarihi için müsaitlik olmamasını
ayarlayabilirsiniz.
01.09.2023 tarihindeki startDate
için endDate
içermeyen bir değer belirtirseniz
Yalnızca tek bir tarih için ücretleri belirtirseniz ve
endDate
.
2
olarak ayarlanan occupancyPrices
dizisi, farklı oranlar belirlemenize olanak tanır
farklı doluluk oranı. Bu nedenle, 04.09.2023 itibarıyla boş yer yok.
rates
tarihinde kullanılabilir.
Gösterilen taxes
dizisi, oranın% 10'u olarak hesaplanır.
Gösterilen fees
dizisinde konaklama başına 50 ABD doları temizlik ücreti uygulanır.
Giriş tarihinin tamamı kullanılamıyorsa ‐03/09/2023
tarihi açıkça gönderin ve rates
, taxes
ve productPrices
öğelerini
Belirtilen tarih için müsaitlik olmadığını belirtir.
{
"requestTime": "2023-08-10T12:15:222",
"propertyPrices": {
"arrivalDatePrices": [
{
"startDate": {
"year": 2023,
"month": 9,
"day": 1
},
"productPrices": [
{
"occupancyPrices": [
{
"adults": 2,
"prices": [
{
"currencyCode": "USD",
"rates": [
0, 200, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
],
"taxes": [
0, 20, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
],
"fees": [
0, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
]
}
]
}
]
}
]
},
{
"startDate": {
"year": 2023,
"month": 9,
"day": 3
},
"productPrices": [
{
"occupancyPrices": [
{
"adults": 2,
"prices": [
{
"currencyCode": "USD",
"rates": [
0, 200, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
],
"taxes": [
0, 20, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
],
"fees": [
0, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
]
}
]
}
]
}
]
}
]
}
}
Yanıt Metni
Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:
JSON gösterimi | |
---|---|
{ "name": "string" } |
Alanlar | |
---|---|
name |
Değiştirilen PropertyPrices'ın kaynak adı. Şu biçimdedir:
accounts/{account}/properties/{property}
|