Method: accounts.participationReportViews.query

ช่วยให้สามารถค้นหา (รับ กรอง และแบ่งกลุ่ม) รายงานการเข้าร่วมสำหรับบัญชีหนึ่งๆ ได้

คำขอ HTTP

GET https://travelpartner.googleapis.com/v3/{name=accounts/*}/participationReportViews:query

URL ใช้ไวยากรณ์การแปลงรหัส gRPC

พารามิเตอร์เส้นทาง

พารามิเตอร์
name

string

ชื่อทรัพยากรของบัญชีที่กำลังค้นหา รูปแบบคือ accounts/{account_id}

พารามิเตอร์การค้นหา

พารามิเตอร์
filter

string

เงื่อนไข (ฟิลด์และนิพจน์) ที่ใช้ในการกรองเมตริกการเข้าร่วมสำหรับบัญชีที่กำลังค้นหา ไวยากรณ์ต้องมีช่องว่างรอบๆ ตัวดำเนินการ in หรือจะเว้นวรรคก็ได้ คุณสามารถรวมเงื่อนไขโดยใช้โอเปอเรเตอร์ AND

สำคัญ: ไวยากรณ์ที่ถูกต้องในการเพิ่มเงื่อนไขหลายรายการคือ "?filter=<condition>=<value>%20AND%20<condition>=<value>..."

ต้องระบุข้อมูลในช่อง date ช่องอื่นๆ ทั้งหมดเป็นช่องที่ไม่บังคับ

ตัวอย่างเงื่อนไขที่ถูกต้องมีดังนี้

  • advanceBookingWindow = 2
  • advanceBookingWindow >= 0
  • advanceBookingWindow <= 5
  • checkinDate = '2020-10-01'
  • checkinDate >= '2020-10-01'
  • checkinDate <= '2020-10-01'
  • checkinDate between '2020-10-01' and '2020-10-05'
  • date = '2020-02-04'
  • date between '2020-02-04' and '2020-02-09'
  • deviceType = 'TABLET'
  • deviceType in ('MOBILE', 'TABLET')
  • hotelRegionCode = 'US'
  • hotelRegionCode in ('US', 'CA')
  • lengthOfStayDays = 2
  • lengthOfStayDays >= 0
  • lengthOfStayDays <= 5
  • occupancy = 2
  • occupancy >= 0
  • occupancy <= 5
  • occupancy between 1 and 5
  • partnerHotelId = 'AAA'
  • partnerHotelId in ('AAA', 'BBB')
  • userRegionCode = 'US'
  • userRegionCode in ('US', 'CA')
aggregateBy

string

ระบุวิธีแบ่งกลุ่มเมตริกที่การค้นหาแสดงผล เช่น หากระบุ userRegionCode เป็นค่า aggregateBy participationResult จะแสดงเมตริกที่รวบรวมตามภูมิภาคของผู้ใช้

ค่าสตริงคือรายการฟิลด์ที่คั่นด้วยคอมมา ฟิลด์ที่ถูกต้อง ได้แก่ date, userRegionCode, deviceType, partnerHotelId, hotelRegionCode, advanceBookingWindow, lengthOfStayDays, checkinDate และ occupancy ฟิลด์ที่ไม่ได้ระบุจะไม่รวมอยู่ใน ParticipationResult

สำคัญ: การใช้พารามิเตอร์ aggregateBy ที่มีค่า partnerHotelId หรือมากกว่า 2 ค่าอาจทำให้เกิดข้อผิดพลาด การกรองด้วย partnerHotelId และ date เพื่อลดจำนวนแถวจะช่วยป้องกันไม่ให้เกิดข้อผิดพลาดได้

pageSize

integer

จำนวนผลลัพธ์การเข้าร่วมสูงสุดที่จะแสดง บริการอาจแสดงผลน้อยกว่าค่านี้ หากไม่ระบุ ระบบจะแสดงผลลัพธ์สูงสุด 10,000 รายการ ค่าสูงสุดคือ 10,000 ค่าที่สูงกว่า 10,000 จะถูกบังคับให้เป็น 10,000

pageToken

string

โทเค็นหน้าเว็บที่ได้รับจากคำขอ participationReportViews.query ก่อนหน้า ระบุข้อมูลนี้เพื่อรับหน้าถัดไป

เมื่อแบ่งหน้า พารามิเตอร์อื่นๆ ทั้งหมดที่ระบุให้กับ participationReportViews.query ต้องตรงกับการเรียกที่ระบุโทเค็นหน้า

เนื้อความของคำขอ

เนื้อหาของคำขอต้องว่างเปล่า

เนื้อหาการตอบกลับ

ข้อความตอบกลับสำหรับ ParticipationReportService.QueryParticipationReport

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "results": [
    {
      object (ParticipationResult)
    }
  ],
  "nextPageToken": string
}
ช่อง
results[]

object (ParticipationResult)

รายการผลลัพธ์ที่ตรงกับคำค้นหา

nextPageToken

string

โทเค็นการแบ่งหน้าซึ่งใช้เพื่อดึงข้อมูลผลลัพธ์หน้าถัดไป

ขอบเขตการให้สิทธิ์

ต้องใช้ขอบเขต OAuth ต่อไปนี้

  • https://www.googleapis.com/auth/travelpartner

ดูข้อมูลเพิ่มเติมได้ที่ OAuth 2.0 Overview

ParticipationResult

แสดงผลลัพธ์จากการค้นหาสถิติการมีส่วนร่วมของบัญชี

การแสดง JSON
{
  "key": {
    object (Key)
  },
  "opportunityCount": string,
  "participationCount": string,
  "participationPercent": number,
  "missedParticipationCount": string,
  "missedParticipationCountDetails": {
    object (MissedParticipationCountDetails)
  },
  "partnerHotelDisplayName": string
}
ช่อง
key

object (Key)

คีย์ของผลลัพธ์

opportunityCount

string (int64 format)

จำนวนโอกาสทั้งหมดที่มีสำหรับโรงแรมหนึ่งๆ โอกาสคือจำนวนครั้งทั้งหมดที่โฆษณาโรงแรมแสดงต่อผู้ใช้ได้

participationCount

string (int64 format)

จำนวนโอกาสทั้งหมดที่คุณมีสิทธิ์เข้าร่วมกระบวนการประมูลของ Google Ads

participationPercent

number

อัตราเปอร์เซ็นต์การเข้าร่วมที่จำนวนโอกาสที่เข้าร่วมสำเร็จหารด้วยจำนวนโอกาสทั้งหมด ตัวอย่างเช่น หากที่พักมีสิทธิ์เข้าร่วมการประมูลของ Google Ads 90 ครั้งจากโอกาส 100 ครั้ง อัตราการเข้าร่วมคือ 90%

missedParticipationCount

string (int64 format)

จำนวนโอกาสทั้งหมดที่ไม่มีสิทธิ์สำหรับกระบวนการประมูลของ Google Ads โดยจะประกอบด้วยรายการต่อไปนี้

  • ไม่มีหน้า Landing Page
  • ราคาขาดหายไป
  • ปัญหาเกี่ยวกับราคา
  • ไม่มีข้อมูลราคา
  • อื่นๆ
missedParticipationCountDetails

object (MissedParticipationCountDetails)

เหตุผลที่ทำให้พลาดการเข้าร่วม (เช่น ไม่มีห้องว่าง) และจำนวนรวมของแต่ละเหตุผล

partnerHotelDisplayName

string

ชื่อที่แสดงของโรงแรมของพาร์ทเนอร์ ระบบจะแสดงค่าในช่องนี้เมื่อมีการรวบรวมผลลัพธ์ตาม partnerHotelId เท่านั้น

คีย์

คีย์ของผลลัพธ์

การแสดง JSON
{
  "date": {
    object (Date)
  },
  "userRegionCode": string,
  "deviceType": enum (Device),
  "partnerHotelId": string,
  "hotelRegionCode": string,
  "advanceBookingWindow": integer,
  "lengthOfStayDays": integer,
  "checkinDate": {
    object (Date)
  },
  "occupancy": integer
}
ช่อง
date

object (Date)

วันที่ที่คุณขอเมตริก

หาก date ไม่ใช่ค่าของพารามิเตอร์ aggregateBy ในการเรียกคำขอ ระบบจะไม่แสดงผลช่อง date ใน Key

userRegionCode

string

รหัสภูมิภาค ISO 3116 ของประเทศ/ภูมิภาคของผู้ใช้

หาก userRegionCode ไม่ใช่ค่าของพารามิเตอร์ aggregateBy ในการเรียกคำขอ ระบบจะไม่แสดงผลช่อง userRegionCode ใน Key

deviceType

enum (Device)

ประเภทอุปกรณ์ของผู้ใช้

หาก deviceType ไม่ใช่ค่าของพารามิเตอร์ aggregateBy ในการเรียกคำขอ ระบบจะไม่แสดงผลช่อง deviceType ใน Key

partnerHotelId

string

รหัสโรงแรมของพาร์ทเนอร์

หาก partnerHotelId ไม่ใช่ค่าของพารามิเตอร์ aggregateBy ในการเรียกคำขอ ระบบจะไม่แสดงผลช่อง partnerHotelId ใน Key

hotelRegionCode

string

รหัสภูมิภาค CLDR ของประเทศ/ภูมิภาคของโรงแรม

หาก hotelRegionCode ไม่ใช่ค่าของพารามิเตอร์ aggregateBy ในการเรียกคำขอ ระบบจะไม่แสดงผลช่อง hotelRegionCode ใน Key

advanceBookingWindow

integer

จำนวนวันล่วงหน้าที่ผู้ใช้ต้องการจองแผนการเดินทาง

หาก advanceBookingWindow ไม่ใช่ค่าของพารามิเตอร์ aggregateBy ในการเรียกคำขอ ระบบจะไม่แสดงผลช่อง advanceBookingWindow ใน Key

lengthOfStayDays

integer

จำนวนคืนสำหรับแผนการเดินทาง

หาก lengthOfStayDays ไม่ใช่ค่าของพารามิเตอร์ aggregateBy ในการเรียกคำขอ ระบบจะไม่แสดงผลช่อง lengthOfStayDays ใน Key

checkinDate

object (Date)

วันที่เช็คอินของแผนการเดินทาง

หาก checkinDate ไม่ใช่ค่าของพารามิเตอร์ aggregateBy ในการเรียกคำขอ ระบบจะไม่แสดงผลช่อง checkinDate ใน Key

occupancy

integer

อัตราการเข้าพักทั้งหมดของแผนการเดินทาง

หาก occupancy ไม่ใช่ค่าของพารามิเตอร์ aggregateBy ในการเรียกคำขอ ระบบจะไม่แสดงผลช่อง occupancy ใน Key

MissedParticipationCountDetails

จำนวนการเข้าร่วมที่คุณพลาดโดยแยกตามเหตุผล

การแสดง JSON
{
  "noAvailabilityCount": string,
  "hotelSuspendedCount": string,
  "noTaxBreakdownCount": string,
  "noLandingPageCount": string,
  "noPriceCount": string,
  "noPriceCountDetails": {
    object (NoPriceCountDetails)
  },
  "otherReasonCount": string,
  "priceMissingCount": string,
  "priceMissingCountDetails": {
    object (PriceMissingCountDetails)
  },
  "priceProblemCount": string,
  "priceProblemCountDetails": {
    object (PriceProblemCountDetails)
  },
  "priceUnavailableCount": string,
  "priceUnavailableCountDetails": {
    object (PriceUnavailableCountDetails)
  }
}
ช่อง
noAvailabilityCount
(deprecated)

string (int64 format)

จำนวนการเข้าร่วมที่คุณพลาดทั้งหมดเนื่องจากชุดค่าผสมของโรงแรม/แผนการเดินทางไม่พร้อมให้บริการ หรือผู้เดินทางไม่มีสิทธิ์สำหรับราคานี้ คุณอาจต้องระบุข้อมูลราคาเพิ่มเติมจึงจะเข้าร่วมการประมูลเหล่านี้ได้

hotelSuspendedCount
(deprecated)

string (int64 format)

จำนวนการเข้าร่วมที่คุณพลาดทั้งหมดเนื่องจากโรงแรมอย่างน้อย 1 แห่งของคุณถูกระงับเนื่องจากมีการละเมิดความถูกต้องของราคา

noTaxBreakdownCount
(deprecated)

string (int64 format)

จำนวนการเข้าร่วมที่คุณพลาดทั้งหมดเนื่องจากโรงแรมอย่างน้อย 1 แห่งของคุณไม่ได้ระบุภาษีและค่าธรรมเนียมแยกกัน

noLandingPageCount

string (int64 format)

ไม่มีหน้า Landing Page ที่ตรงกับผู้ใช้

noPriceCount
(deprecated)

string (int64 format)

จำนวนการเข้าร่วมที่คุณพลาดทั้งหมดเนื่องจากไม่มีการเสนอราคาสำหรับแผนการเดินทางที่ขอ

noPriceCountDetails
(deprecated)

object (NoPriceCountDetails)

สาเหตุที่ทำให้ไม่มีการนับราคา (เช่น ราคาแบบเรียลไทม์ไม่พร้อมใช้งาน) และจำนวนทั้งหมดของแต่ละสาเหตุ

otherReasonCount

string (int64 format)

โรงแรมไม่ได้เข้าร่วมโดยไม่ทราบเหตุผล

priceMissingCount

string (int64 format)

จำนวนการเข้าร่วมที่คุณพลาดทั้งหมดเนื่องจากราคาไม่แสดงในแคชของ Google หรือตอบสนองต่อราคาแบบเรียลไทม์ไม่สำเร็จ โดยจะประกอบด้วยรายการต่อไปนี้

  • แบนด์วิดท์หมดแล้ว
  • อัตราแคชขาดหายไป
  • แผนการเดินทางถูกบล็อก
  • ไม่ได้ตั้งค่าราคาแบบเรียลไทม์
  • ราคาแบบเรียลไทม์หมดเวลาแล้ว
  • ข้อผิดพลาดด้านราคาแบบเรียลไทม์
priceMissingCountDetails

object (PriceMissingCountDetails)

เหตุผลที่ทำให้จำนวนราคาที่ขาดหายไป

priceProblemCount

string (int64 format)

จำนวนการเข้าร่วมที่คุณพลาดทั้งหมดเนื่องจากปัญหาเกี่ยวกับความถูกต้องของราคาที่ระบุไว้สำหรับแผนการเดินทาง โดยจะประกอบด้วยรายการต่อไปนี้

  • โรงแรมถูกระงับ
  • ราคาสูงกว่าปกติ
  • ราคาต่ำกว่าปกติ
  • ไม่มีภาษีและฟีด
priceProblemCountDetails

object (PriceProblemCountDetails)

สาเหตุที่ทำให้เกิดปัญหาเกี่ยวกับราคา

priceUnavailableCount

string (int64 format)

จำนวนการเข้าร่วมที่คุณพลาดทั้งหมดเนื่องจากมีการระบุว่าราคาไม่พร้อมใช้งาน (-1) สำหรับแผนการเดินทางที่ขอ โดยจะประกอบด้วยรายการต่อไปนี้

  • ไม่มีข้อมูลราคา
  • ไม่มีแนวโน้มที่จะเข้าร่วม
  • อื่นๆ
priceUnavailableCountDetails

object (PriceUnavailableCountDetails)

เหตุผลที่ทำให้จำนวนราคาไม่พร้อมใช้งาน

NoPriceCountDetails

สาเหตุที่ทำให้ไม่มีการนับราคาและจำนวนทั้งหมดของแต่ละสาเหตุ

การแสดง JSON
{
  "livePricingTechnicalIssueCount": string,
  "livePricingNotTriggeredCount": string,
  "livePricingConfigIssueCount": string,
  "livePricingNotAvailableCount": string,
  "livePricingOtherReasonCount": string
}
ช่อง
livePricingTechnicalIssueCount

string (int64 format)

จำนวนการเข้าร่วมที่คุณพลาดทั้งหมดเนื่องจากปัญหาทางเทคนิคเกี่ยวกับราคาแบบเรียลไทม์ ซึ่งเกิดจากสาเหตุใดสาเหตุหนึ่งต่อไปนี้

  • คุณตอบกลับช้าเกินไปและเกินกำหนดเวลาตอบกลับ (ประมาณ 4,000 มิลลิวินาที)
  • คุณแสดงผลข้อผิดพลาด
  • รูปแบบการตอบกลับไม่ถูกต้อง
livePricingNotTriggeredCount

string (int64 format)

จำนวนการเข้าร่วมที่คุณพลาดทั้งหมดเนื่องจากระบบไม่เรียกให้แสดงราคาแบบเรียลไทม์ ซึ่งเกิดจากสาเหตุใดสาเหตุหนึ่งต่อไปนี้

  • คุณไม่ได้กำหนดราคาเสนอ
  • คุณไม่มีหน้า Landing Page ที่ถูกต้อง
  • มีราคาไม่เพียงพอในแคช
livePricingConfigIssueCount

string (int64 format)

จำนวนการเข้าร่วมที่คุณพลาดทั้งหมดเนื่องจากระบบไม่เรียกให้แสดงราคาแบบเรียลไทม์ ซึ่งเกิดจากสาเหตุใดสาเหตุหนึ่งต่อไปนี้

  • คุณไม่ได้กำหนดค่าราคาแบบเรียลไทม์สำหรับการค้นหาเหล่านี้
  • คุณจำกัดไม่ให้ Google เข้าถึงแผนการจองโรงแรมที่เป็นปัญหา
livePricingNotAvailableCount

string (int64 format)

จำนวนการเข้าร่วมที่คุณพลาดทั้งหมดเนื่องจากราคาแบบเรียลไทม์ไม่พร้อมใช้งาน ระบบจะไม่เรียกให้แสดงราคาแบบเรียลไทม์สำหรับ UI หรือแผนการเดินทางเริ่มต้นบางรายการ ในกรณีนี้ พาร์ทเนอร์จะต้องมีราคาที่แคชจึงจะเข้าร่วมได้

livePricingOtherReasonCount

string (int64 format)

จำนวนการเข้าร่วมที่คุณพลาดเนื่องจากปัญหาอื่นๆ เกี่ยวกับราคาแบบเรียลไทม์

PriceMissingCountDetails

สาเหตุที่ทำให้จำนวนราคาที่ขาดหายไปและจำนวนทั้งหมดสำหรับแต่ละสาเหตุ

การแสดง JSON
{
  "cacheRateMissingCount": string,
  "itineraryBlockedCount": string,
  "livePricingNotSetupCount": string,
  "bandwidthDepletedCount": string,
  "livePricingTimeoutCount": string,
  "livePricingErrorCount": string
}
ช่อง
cacheRateMissingCount

string (int64 format)

ไม่มีราคาในแคชสำหรับแผนการเดินทางนี้ ระบบไม่ได้ดำเนินการค้นหาแบบเรียลไทม์เนื่องจากข้อจำกัดของหน้าเว็บ

itineraryBlockedCount

string (int64 format)

แผนการเดินทางอยู่นอกพารามิเตอร์พื้นฐาน ระบบจึงดึงข้อมูลราคาสำหรับแผนการเดินทางจากการค้นหาแบบเรียลไทม์หรือการโอนข้อมูลไปยังแคชไม่ได้

livePricingNotSetupCount

string (int64 format)

ไม่มีการแคชราคาสำหรับแผนการเดินทางนี้ และไม่มีการกำหนดค่าการค้นหาแบบเรียลไทม์สำหรับบัญชีนี้

bandwidthDepletedCount

string (int64 format)

ไม่มีการแคชราคาสำหรับแผนการเดินทางนี้ และโควต้าการค้นหาแบบเรียลไทม์หมดแล้ว

livePricingTimeoutCount

string (int64 format)

ไม่มีการแคชราคาสำหรับแผนการเดินทางนี้ และการค้นหาแบบเรียลไทม์ที่ส่งไปยังระบบของคุณหมดเวลาแล้ว

livePricingErrorCount

string (int64 format)

ไม่มีการแคชราคาสำหรับแผนการเดินทางนี้ การค้นหาแบบเรียลไทม์ยังไม่หมดเวลา แต่ระบบแสดงข้อผิดพลาด

PriceProblemCountDetails

สาเหตุที่ทำให้เกิดจำนวนปัญหาเกี่ยวกับราคาและจำนวนทั้งหมดของแต่ละสาเหตุ

การแสดง JSON
{
  "hotelSuspendedCount": string,
  "priceUnusuallyHighCount": string,
  "priceUnusuallyLowCount": string,
  "taxesAndFeesMissingCount": string,
  "basePriceViolationsCount": string,
  "priceAccuracyIssueCount": string
}
ช่อง
hotelSuspendedCount

string (int64 format)

โรงแรมถูกระงับ ซึ่งอาจเกิดจากปัญหาต่างๆ ที่เกิดขึ้นอย่างต่อเนื่อง เช่น ภาษีและค่าธรรมเนียมไม่ถูกต้อง

priceUnusuallyHighCount

string (int64 format)

ดูเหมือนว่าราคาที่ระบุสำหรับแผนการเดินทางนี้จะสูงกว่าปกติเมื่อเทียบกับแนวโน้มระดับภูมิภาค

priceUnusuallyLowCount

string (int64 format)

ดูเหมือนว่าราคาที่ระบุสำหรับแผนการเดินทางนี้จะต่ำกว่าปกติเมื่อเทียบกับแนวโน้มระดับภูมิภาค

taxesAndFeesMissingCount

string (int64 format)

ภาษีและค่าธรรมเนียมไม่ได้รวมอยู่ในราคา

basePriceViolationsCount

string (int64 format)

ราคาฐานต่ำเกินไปเมื่อเทียบกับราคารวม

priceAccuracyIssueCount

string (int64 format)

ปัญหาเกี่ยวกับความถูกต้องของราคา

PriceUnavailableCountDetails

เหตุผลที่ทำให้จำนวนราคาไม่พร้อมใช้งานและจำนวนรวมของแต่ละเหตุผล

การแสดง JSON
{
  "priceUnavailableCount": string,
  "participationNotLikelyCount": string
}
ช่อง
priceUnavailableCount

string (int64 format)

โรงแรมไม่ได้เข้าร่วมเนื่องจากไม่มีห้องว่างในวันที่ระบุในแผนการเดินทาง

participationNotLikelyCount

string (int64 format)

ไม่มีการแคชราคาสำหรับแผนการเดินทางนี้ และไม่มีการค้นหาแบบเรียลไทม์เนื่องจากเซิร์ฟเวอร์ของคุณมักแจ้งเราว่าโรงแรมไม่มีห้องว่างหรือเต็มแล้ว