API ราคาของพาร์ทเนอร์การเดินทาง
Travel Partner Prices API มีอินเทอร์เฟซ RESTful สำหรับการส่ง ราคาที่พักใน Google
บริการ: travelpartnerprices.googleapis.com
หากต้องการเรียกใช้บริการนี้ เราขอแนะนำให้คุณใช้ไคลเอ็นต์ที่ Google จัดหาให้ ห้องสมุด หาก แอปพลิเคชันต้องใช้ไลบรารีของคุณเองเพื่อเรียกใช้บริการนี้ โปรดติดต่อ ผู้จัดการลูกค้าด้านเทคนิค (TAM) ให้ขอรับเอกสาร Discovery สำหรับบริการนี้
ปลายทางบริการ
บริการ อุปกรณ์ปลายทาง คือ URL พื้นฐานที่ระบุที่อยู่เครือข่ายของบริการ API บริการเดียว อาจมีปลายทางบริการหลายปลายทาง บริการนี้มีบริการต่อไปนี้ ปลายทางและ URI ทั้งหมดที่แสดงสัมพันธ์กับปลายทางของบริการนี้
https://travelpartnerprices.googleapis.com
เมธอด | |
---|---|
ingestLosPropertyPrices |
POST /v1/accounts/account_id/properties/property_id:ingestLosPropertyPrices
อัปโหลดระยะเวลาเข้าพักที่ระบุไว้สำหรับที่พักที่ระบุ ต้องใช้ข้อความราคา LoS ที่เข้ารหัส JSON (ดูด้านล่าง) เป็น HTTP เนื้อความ
|
การตรวจสอบสิทธิ์ API
Travel Partner Prices API ใช้ OAuth 2.0 เพื่อ ตรวจสอบสิทธิ์แอปพลิเคชันเพื่อให้คุณสามารถเข้าถึง API
หากต้องการดูวิธีการตั้งค่าแบบทีละขั้นตอน โปรดดูการตั้งค่า OAuth 2.0 รายการเหล่านี้คือการตั้งค่า วิธีการสำหรับ Travel Partner API โปรดทราบว่า Travel Partner API และ Travel Partner Prices API จะแตกต่างออกไป ดังนั้นในวิธีการตั้งค่าเหล่านี้ คุณต้องแทนที่ "Travel Partner Prices API" ตั้งชื่อที่ใดก็ได้ "Travel Partner API" จะอ้างถึง
คำขอ
ไวยากรณ์
ข้อความ LoS Prices
ใช้ไวยากรณ์ต่อไปนี้
{
"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,...]
}]
}]
}]
}]
}
}
องค์ประกอบและ ลักษณะ
ข้อความระยะเวลาในการเข้าพักมีองค์ประกอบและแอตทริบิวต์ต่อไปนี้
องค์ประกอบ | จำนวนข้อผิดพลาด | ประเภท | คำอธิบาย |
---|---|---|---|
requestTime | 1 | string | ช่วงเวลาที่มีการส่งข้อความ LoS Price เป็นรูปแบบ RFC 3339 สตริง ข้อความที่ส่งด้วย ระบบจะประมวลผลข้อความตามลำดับ RFC 3339 กำหนดให้ระบุวันที่และเวลาแบบเต็มเป็น
เศษของวินาทีเป็นตัวเลือกที่ไม่บังคับ และอาจแสดงออกมาเป็น
ความแม่นยําของระดับนาโนวินาที ตัวอย่างเช่น
|
propertyPrices | 1 | Object | ราคาสำหรับที่พัก ราคาทั้งหมดภายในpropertyPrices นี้
ที่ใช้กับพร็อพเพอร์ตี้เดียวกัน
องค์ประกอบนี้ไม่ซ้ำ หากต้องการส่งราคาสำหรับที่พักหลายแห่ง คุณต้องสร้างคำขอ HTTP หลายรายการ (อย่างน้อย 1 รายการต่อพร็อพเพอร์ตี้) |
arrivalDayPrices[] | 1..n | Object | ราคาสำหรับวันที่เข้าพัก ราคาทั้งหมดภายในarrivalDayPrices นี้
มีผลกับที่พักบางแห่ง แต่วันที่มาถึงต่างกัน |
startDate | 1 | Object | วันที่เข้าพักทั้งหมดใช้productPrices แล้ว
ระหว่าง startDate ถึง endDate เท่านั้น
หากเพียงแค่พยายามระบุวันที่มาถึงเพียงวันเดียว (ไม่ใช่ช่วง)
ป้อนวันที่มาถึงทั้งใน |
startDate.year | 1 | integer | ปี startDate ต้องอยู่ระหว่าง 1 ถึง 9999 |
startDate.month | 1 | integer | เดือนของปี ต้องมีค่าตั้งแต่ 1 ถึง 12 |
startDate.day | 1 | integer | วันของเดือน ต้องมีค่าตั้งแต่ 1 ถึง 31 และใช้ได้สำหรับปีและเดือน |
endDate | 0..1 | Object | ราคาผลิตภัณฑ์จะมีผลกับวันที่เข้าพักทั้งหมดระหว่างวันที่
startDate และ endDate เท่านั้น
หากเพียงแค่พยายามระบุวันที่มาถึงเพียงวันเดียว (ไม่ใช่ช่วง)
อาจละเว้น |
endDate.year | 1 | integer | ปี endDate ต้องอยู่ระหว่าง 1 ถึง 9999 |
endDate.month | 1 | integer | เดือนของปี ต้องมีค่าตั้งแต่ 1 ถึง 12 |
endDate.day | 1 | integer | วันของเดือน ต้องมีค่าตั้งแต่ 1 ถึง 31 และใช้ได้สำหรับปีและเดือน |
productPrices[] | 1..n | Object | ราคาสำหรับผลิตภัณฑ์ ราคาทั้งหมดภายในproductPrices นี้
ใช้กับที่พักที่เฉพาะเจาะจง ชุดค่าผสมของวันที่มาถึง แต่แตกต่างกัน
Google อีกด้วย
|
roomTypeId | 0..1 | string | รหัสที่ไม่ซ้ำกันของห้องพักที่ใช้ราคานี้ ใช้ รหัสนี้เพื่อจับคู่ข้อมูลแพ็กเกจห้องพักกับข้อมูลที่ส่งในข้อมูลห้องพัก ดูข้อมูลเพิ่มเติมได้ที่ ข้อมูลเมตาของแพ็กเกจห้องพัก |
ratePlanId | 0..1 | string | รหัสที่ไม่ซ้ำกันสำหรับข้อมูลแพ็กเกจที่เกี่ยวข้องกับราคานี้ ใช้ รหัสนี้เพื่อจับคู่ข้อมูลแพ็กเกจห้องพักกับข้อมูลที่ส่งในแพ็กเกจข้อมูล ดูข้อมูลเพิ่มเติมได้ที่ ข้อมูลเมตาของแพ็กเกจห้องพัก |
occupancyPrices[] | 1..n | Object | ราคาสำหรับอัตราการเข้าพัก ราคาทั้งหมดภายในoccupancyPrices นี้
ใช้กับที่พักที่เฉพาะเจาะจง วันที่สินค้ามาถึง ชุดค่าผสมของผลิตภัณฑ์
อัตราการเข้าพักที่แตกต่างกัน
|
adults | 1 | integer | จำนวนแขกสูงสุดที่จองได้ต่อห้อง รวมถึง
ผู้ใหญ่และเด็ก ค่านี้จะกำหนดไว้สำหรับอัตราทั้งหมดภายใน
ฟิลด์ occupancyPrices ที่ตรงกันและต้องเป็นค่าบวก
จำนวนเต็มระหว่าง 1 ถึง 99
หมายเหตุ: โปรดติดต่อทีมสนับสนุนเพื่อส่งอัตราการเข้าพัก ผู้ใหญ่มากกว่า 4 คน |
prices[] | 1..n | Object | ราคาระยะเวลาในการเข้าพัก ราคาทั้งหมดภายใน prices จะใช้กับ
ชุดค่าผสมของที่พัก วันที่เข้าพัก ผลิตภัณฑ์ และอัตราการเข้าพัก
|
rateRuleId | 0..1 | string | สำหรับราคาสำหรับลูกค้าที่เข้าเกณฑ์ รหัสนี้จะจับคู่ราคากับคำจำกัดความในไฟล์คำจำกัดความกฎเกี่ยวกับอัตรา จำนวนอักขระสูงสุดสำหรับช่องนี้คือ 40 ตัว |
currencyCode | 1 | string | รหัสสกุลเงิน 3 ตัวอักษรซึ่ง rates และ taxes
ที่มีให้ เช่น "USD" สําหรับดอลลาร์สหรัฐ
|
rates[] | 30 | float | องค์ประกอบราคาฐานของราคาระยะเวลาในการเข้าพัก
หากระบุค่า ค่าที่ดัชนี คุณต้องส่งราคา LoS ทั้งหมดครั้งละ 30 ชุด หากคุณส่ง น้อยกว่า 30 รายการ ราคา LoS ที่ระบุทั้งหมดจะได้รับการประมวลผลเป็น ปกติ และราคาที่เหลือไม่มีข้อมูลถึง LoS 30 หากคุณ ส่งมากกว่า 30 ราคาใดๆ ที่คุณส่งเกินอัตราที่ 30 จะเป็น ยกเลิก ระยะเวลาในการเข้าพักที่ไม่พร้อมใช้งานควรแสดงด้วย
|
taxes[] | 30 | float | องค์ประกอบด้านภาษีของราคาระยะเวลาในการเข้าพัก
ค่าที่ดัชนี |
fees[] | 30 | float | องค์ประกอบค่าธรรมเนียมของราคาระยะเวลาในการเข้าพัก
ค่าที่ดัชนี |
ตัวอย่าง
ราคาและ ภาษีตาม LOS
ตัวอย่างต่อไปนี้แสดงการตั้งค่าระยะเวลาในการเข้าพักขั้นต่ำเป็น 2
สำหรับวันที่เช็คอินวันหนึ่ง และตั้งค่าห้องว่างสำหรับวันที่เช็คอินอื่น
หากคุณตั้งค่า startDate
ตั้งแต่ 1/9/2023 โดยไม่มี endDate
หมายความว่า
คุณจะระบุอัตราเพียงวันเดียว และคุณสามารถข้าม
endDate
อาร์เรย์ occupancyPrices
ที่ตั้งค่าเป็น 2
ช่วยให้คุณกำหนดราคาต่างๆ ได้
สำหรับอัตราการเข้าพักที่แตกต่างกัน ดังนั้นจึงไม่มีเวลาว่างในวันที่ 04/09/23
พร้อมจำหน่าย rates
อาร์เรย์ taxes
ที่แสดงคำนวณได้เท่ากับ 10% ของอัตรา
อาร์เรย์ fees
ที่แสดงมีค่าธรรมเนียมการทำความสะอาด $50 ต่อการเข้าพัก
หากไม่มีวันที่เช็คอินทั้งหมด ‐3/9/2023 คุณต้อง
ส่งวันที่อย่างชัดเจน และละเว้น rates
, taxes
และ productPrices
ไปยัง
แสดงว่าไม่มีห้องว่างสำหรับวันที่ที่ขอ
{
"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
]
}
]
}
]
}
]
}
]
}
}
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดง JSON | |
---|---|
{ "name": "string" } |
ช่อง | |
---|---|
name |
ชื่อทรัพยากรของ PropertyPrices ที่แก้ไขแล้ว มีรูปแบบดังต่อไปนี้
accounts/{account}/properties/{property}
|