หากต้องการผสานรวมข้อมูลราคาและห้องว่าง พาร์ทเนอร์จะต้อง ใช้ Partner API อินเทอร์เฟซนี้อิงตาม REST และอนุญาตให้ Google ส่งการโทรสดผ่าน HTTP แม้ว่ารายละเอียดของเมธอด API แต่ละรายการจะอธิบายไว้ในส่วนข้อมูลอ้างอิง แต่คุณจะดูข้อมูลเกี่ยวกับปัญหาที่เกี่ยวข้องได้ในภายหลัง
รูปแบบคำขอและการตอบกลับ
ในขั้นต้นจะรองรับเฉพาะรูปแบบ JSON หากต้องการรูปแบบคำขอหรือการตอบกลับเพิ่มเติม โปรดติดต่อทีมการเดินทางของ Travel ที่ transport-help@google.com เพื่อพูดคุยเกี่ยวกับกรณีการใช้งานของคุณ
ระบบจะส่งคำขอโดยใช้เมธอด HTTP POST พร้อมข้อความคำขอใน เนื้อหา POST
โปรดทราบว่าเพื่อความชัดเจนของโครงสร้าง เอกสารประกอบของอินเทอร์เฟซ API จะมีให้ในรูปแบบ คำจำกัดความของข้อความบัฟเฟอร์โปรโตคอล และการแปลคำจำกัดความของข้อความบัฟเฟอร์โปรโตคอล เป็นออบเจ็กต์ JSON จะกำหนดโดยการแมป JSON ที่เป็นมาตรฐานโดยใช้ ตัวเลือก เพื่อส่งฟิลด์ที่มีค่าเริ่มต้นและเพื่อใช้ชื่อฟิลด์ Proto แทน ชื่อ lowerCamelCase
การตรวจสอบสิทธิ์
Google รองรับการตรวจสอบสิทธิ์ HTTP Digest, OAuth 2.0 และการตรวจสอบสิทธิ์ใบรับรองไคลเอ็นต์ (ดูการกำหนดค่าพาร์ทเนอร์) พาร์ทเนอร์ควรให้ข้อมูลเข้าสู่ระบบที่ถูกต้องแก่ Google ในระหว่างการทดสอบ API โดยทำดังนี้
- สำหรับสรุป: ชื่อผู้ใช้และรหัสผ่าน
- สำหรับ OAuth 2.0: client_id และ client_secret
- สำหรับใบรับรอง: ใบรับรองไคลเอ็นต์ SSL
รหัสสถานะและการจัดการข้อผิดพลาด
โดยทั่วไปแล้ว รหัสสถานะต่อไปนี้จะแสดงในการตอบกลับ HTTP
| รหัส HTTP | คำอธิบาย HTTP | หมายเหตุ |
|---|---|---|
| 2xx | ตกลง | ไม่ใช่ข้อผิดพลาด แต่จะแสดงผลเมื่อสำเร็จ เนื้อหาการตอบกลับควรมีผลลัพธ์ที่สำเร็จ (เช่น TripOptionsResult) ไม่ใช่การตอบกลับข้อผิดพลาด |
| 400 | คำขอไม่ถูกต้อง | คำขอที่ได้รับไม่ถูกต้อง ควรใช้การตอบกลับข้อผิดพลาดเฉพาะเมธอด เพื่อแสดงรายละเอียดข้อผิดพลาดเพิ่มเติมในเนื้อหาการตอบกลับ โดยทั่วไปแล้ว ควรใช้ HTTP 400 ในกรณีที่ Google ทำข้อผิดพลาดทางเทคนิคเท่านั้น (เช่น ตั้งชื่อฟิลด์ในคำขอผิด) |
| 403 | ต้องห้าม | สิทธิ์ถูกปฏิเสธ/ไม่อนุญาต (ระบบรู้จักผู้โทรและปฏิเสธ) ห้ามใช้การตอบกลับนี้ สำหรับการปฏิเสธที่เกิดจากการใช้ทรัพยากรบางอย่างจนหมด (ใช้ Too Many Requests แทนสำหรับข้อผิดพลาดเหล่านั้น) ห้ามใช้ Forbidden หากระบุผู้โทรไม่ได้ (ให้ใช้ Unauthorized แทนสำหรับข้อผิดพลาดเหล่านั้น) |
| 404 | ไม่พบ | ไม่พบทรัพยากรที่ขอ ควรใช้การตอบกลับข้อผิดพลาดเฉพาะเมธอดเพื่อแสดงรายละเอียดข้อผิดพลาดเพิ่มเติมในเนื้อหาการตอบกลับ |
| 429 | มีคำขอมากเกินไป | ทรัพยากรบางอย่างหมดแล้ว อาจเป็นโควต้าต่อผู้ใช้ |
| 500 | ข้อผิดพลาดภายในเซิร์ฟเวอร์ | ข้อผิดพลาดภายใน ซึ่งหมายความว่าระบบพื้นฐานได้ละเมิดข้อกำหนดบางอย่างที่คาดไว้ รหัสข้อผิดพลาดนี้สงวนไว้สำหรับ ข้อผิดพลาดร้ายแรงและบ่งชี้ถึงข้อบกพร่องในการติดตั้งใช้งานเซิร์ฟเวอร์ API ของพาร์ทเนอร์ |
| 503 | ไม่สามารถให้บริการได้ | บริการไม่พร้อมใช้งาน ซึ่งน่าจะเป็นเงื่อนไขชั่วคราว ที่แก้ไขได้โดยการลองอีกครั้งด้วยการเพิ่มระยะเวลาหน่วง |
| 504 | เกตเวย์หมดเวลา | กำหนดเวลาหมดอายุก่อนที่การดำเนินการจะเสร็จสมบูรณ์ สำหรับการดำเนินการที่เปลี่ยนสถานะของระบบ ข้อผิดพลาดนี้อาจแสดงขึ้นแม้ว่าการดำเนินการจะเสร็จสมบูรณ์แล้วก็ตาม เช่น การตอบกลับที่สำเร็จจากเซิร์ฟเวอร์อาจล่าช้าจน เลยกำหนดเวลาไป |
โปรดทราบว่าสำหรับข้อกำหนดเบื้องต้น อาร์กิวเมนต์ที่ไม่ถูกต้อง หรือข้อผิดพลาดที่หาไม่พบทั้งหมด
- ควรใช้การตอบกลับหรือข้อความแสดงข้อผิดพลาดเฉพาะวิธีที่กำหนดไว้ใน API
- ควรใช้รหัส HTTP ที่ถูกต้องตามที่ระบุไว้ในรหัสเฉพาะของเมธอด (ดูตัวอย่างใน
TripOptionsErrorType)
ซึ่งจะช่วยให้เราให้ข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับข้อผิดพลาดประเภทนี้ได้ คุณใช้ข้อมูลนี้เพื่อทำสิ่งต่อไปนี้ได้
- ตรวจสอบว่าลองส่งคำขออีกครั้งได้หรือไม่
SEGMENT_KEY_NOT_FOUNDจะลองอีกครั้งไม่ได้
- แก้ไขข้อมูลที่ไม่มีอัปเดต
Unavailable.Reason.CANCELEDระบุว่าควรนำการเดินทางออก (โปรดทราบว่านี่เป็นส่วนหนึ่งของการตอบกลับที่สำเร็จ)Unavailable.Reason.TEMPORARILY_UNAVAILABLEรวมถึงรหัสข้อผิดพลาดSEGMENT_KEY_NOT_FOUNDSUBOPTIMAL_ITINERARYBOOKING_WINDOW_NOT_SUPPORTEDและTICKETING_PROHIBITEDจะนำราคาที่เราได้รับจากแคชก่อนหน้านี้ออก
- ให้คำแนะนำที่เกี่ยวข้องแก่ผู้ใช้
รายการข้อผิดพลาดเฉพาะเมธอดปัจจุบันที่ระบุไว้ใน
TripOptionsError
เป็นจุดเริ่มต้น หากต้องการข้อผิดพลาดประเภทอื่นๆ โปรดติดต่อ
ทีมการเดินทางของ Google Travel
QPS (จำนวนคำค้นหาต่อวินาที)
ระดับ QPS ที่ Google ส่งมีแนวโน้มที่จะแตกต่างกันไปตามพื้นที่โฆษณาของพาร์ทเนอร์และ จำนวนผู้ใช้ที่ดูข้อมูลที่แคชไว้หรือคลิกผ่านไปยังเว็บไซต์ของพาร์ทเนอร์เพื่อ จอง
เวลาในการตอบสนอง
คำขอจะหมดเวลาหลังจากผ่านไป 10 วินาที จะไม่มีหลักเกณฑ์เพิ่มเติมเกี่ยวกับเวลาในการตอบสนอง สำหรับการผสานรวมของพาร์ทเนอร์ในเวอร์ชันเบต้า อย่างไรก็ตาม เราจะกำหนด SLO ความหน่วงเพิ่มเติมในหลักเกณฑ์ด้านคุณภาพของข้อมูลพาร์ทเนอร์
สกุลเงิน ภาษี และค่าธรรมเนียม
ราคาทั้งหมดที่ส่งไปยัง Google ต้องรวมภาษีและค่าธรรมเนียมทั้งหมด และต้องระบุใน สกุลเงินที่รองรับ
สกุลเงิน
โดยจะระบุสกุลเงินสำหรับราคาโดยใช้currency_code
ฟิลด์ ซึ่งต้องเป็นรหัสสกุลเงิน ISO 4217 ที่ถูกต้อง
ตัวอย่าง 10.25 USD:
{
"price": {
"currency_code": "USD",
"units": 10,
"nanos": 250000000
}
}
ภาษีและค่าธรรมเนียม
ราคาที่คุณระบุต้องเป็นราคารวมสุดท้ายที่ผู้ใช้จะชำระ รวมภาษีทั้งหมด (เช่น VAT) และค่าธรรมเนียมเพิ่มเติม (เช่น ค่าธรรมเนียมการจองหรือบัตรสำหรับชำระเงิน) คุณเพิ่มรายละเอียดค่าโดยสารที่ไม่บังคับได้โดยใช้ฟิลด์ line_items ที่ทำซ้ำได้
Google จะแสดงราคารวม
พร้อมรายละเอียดค่าโดยสาร (ไม่บังคับ) ต่อผู้ใช้