เซิร์ฟเวอร์ของพาร์ทเนอร์

หากต้องการผสานรวมข้อมูลราคาและห้องว่าง พาร์ทเนอร์จะต้อง ใช้ Partner API อินเทอร์เฟซนี้อิงตาม REST และอนุญาตให้ Google ส่งการโทรสดผ่าน HTTP แม้ว่ารายละเอียดของเมธอด API แต่ละรายการจะอธิบายไว้ในส่วนข้อมูลอ้างอิง แต่คุณจะดูข้อมูลเกี่ยวกับปัญหาที่เกี่ยวข้องได้ในภายหลัง

รูปแบบคำขอและการตอบกลับ

ในขั้นต้นจะรองรับเฉพาะรูปแบบ JSON หากต้องการรูปแบบคำขอหรือการตอบกลับเพิ่มเติม โปรดติดต่อทีมการเดินทางของ Travel ที่ transport-help@google.com เพื่อหารือเกี่ยวกับกรณีการใช้งานของคุณ

ระบบจะส่งคำขอโดยใช้เมธอด HTTP POST พร้อมข้อความคำขอใน เนื้อหา POST

โปรดทราบว่าเพื่อความชัดเจนด้านโครงสร้าง เอกสารประกอบของอินเทอร์เฟซ API จะมีให้ในรูปแบบ คำจำกัดความของข้อความ Protocol Buffer และการแปลคำจำกัดความของข้อความ Protocol Buffer เป็นออบเจ็กต์ 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 ต้องห้าม สิทธิ์ถูกปฏิเสธ/ไม่อนุญาต (ระบบรู้จักผู้โทรและปฏิเสธ) ห้ามใช้การตอบกลับนี้ สำหรับการปฏิเสธที่เกิดจากการใช้ทรัพยากรบางอย่างจนหมด (ใช้คำขอมากเกินไปแทนสำหรับข้อผิดพลาดเหล่านั้น) ห้ามใช้ 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_FOUND, SUBOPTIMAL_ITINERARY, BOOKING_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 จะแสดงราคารวมพร้อมรายละเอียดค่าโดยสาร (ไม่บังคับ) ต่อผู้ใช้