בדף הזה מוצגות כמה קריאות לדוגמה באמצעות גרסה 3 של Google Partner API.
נקודות הקצה (endpoints) של שלכם בתוכנית השותפים של הנסיעות משתמשות בתחביר שמותאם ל-REST באמצעות קריאות ל-HTTPS. base_url עבור כל בקשות ה-API הוא:
https://travelpartner.googleapis.com/v3/accounts/account_id
הרשימה המלאה של שדות הבקשות והתשובות זמינה בקטלוג המשאבים של ה-API .
שירות תצוגת דוח הביצועים של נכס מספק את היכולת לשלוח שאילתות (לקבל, לסנן ולפלח) דוח ביצועי נכסים עבור חשבון ספציפי.
בדוגמה הבאה מופיע דוח ביצועי הנכס לכל הנכסים בחשבון 12345678
, עם סינון לפי תאריך 11 במאי 2022, שמקובצים לפי מזהה מלון של שותף.
GET https://travelpartner.googleapis.com/v3/accounts/12345678/propertyPerformanceReportViews:query?filter=date%20%3D%20%272022-05-11%27&aggregateBy=partnerPropertyId
תגובה לדוגמה
{
"results": [
{
"partnerPropertyId": "10001",
"clickCount": "47"
"impressionCount": "360"
},
{
"partnerPropertyId": "10003",
"clickCount": "23"
"impressionCount": "400"
},
{
"partnerPropertyId": "10007",
"clickCount": "106"
"impressionCount": "780"
},
{
"partnerPropertyId": "10009",
"clickCount": "81"
"impressionCount": "520"
},
]
}
מלונות שירות תצוגת המלונות כולל רשימה של כל המלונות או סיכום שלהם של חשבון מסוים.
קבלת רשימה של מלונות בדוגמה הבאה מאחזרת רשימה של כל המלונות בחשבון 12345678
:
GET https://travelpartner.googleapis.com/v3/accounts/12345678/hotelviews
הבקשה מקבלת פרמטרים של שאילתות לניווט בתוצאות מרובות דפים:
GET base_url /hotelviews?pageSize=10&pageToken=11
תגובה לדוגמה
{
"nextPageToken": "11",
"hotelViews": [
{
"googleHotelDisplayName": "Alameda Hotel",
"googleHotelId": "11111111111111111111",
"partnerHotelDisplayName": "Alameda Hotel",
"partnerHotelId": "10",
"dataIssues": [
"MISSING_STREET_NUMBER"
],
"googleClusterId": "1131326789990787753"
},
{
"googleClusterId": "11390920309628839218",
"googleHotelDisplayName": "At Hotel",
"googleHotelId": "9999999999999999999",
"partnerHotelDisplayName": "At Hotel and Restaurant",
"partnerHotelId": "100001"
},
...
{
"googleHotelDisplayName": "Aquapark & Spa Hotel",
"googleHotelId": "444444444444444444",
"partnerHotelDisplayName": "Aquapark & Spa Hotel",
"partnerHotelId": "100069",
"dataIssues": [
"MISSING_PHONE_NUMBER",
"MISSING_STREET_NUMBER",
"LATLONG_INCONSISTENT_WITH_ADDRESS"
],
"googleClusterId": "18401597592098761505"
}
]
}
קבלת סיכום נכסים לפניכם דוגמה לסיכום של הנכסים בחשבון 12345678
:
GET https://travelpartner.googleapis.com/v3/accounts/12345678/hotelviews:summarize
תגובה לדוגמה
{
"lastManifestUpdateTime": "2019-09-26T18:24:54.479972Z",
"matchedPropertyCount": "206107",
"overclusteredPropertyWithErrorsCount": "16927",
"overclusteredPropertyCount": "17611",
"unmatchedPropertyWithErrorsCount": "93638",
"lastFeedSubmissionTime": "2019-09-19T20:51:08Z",
"unmatchedPropertyCount": "99673"
}
דוח השתתפות שירות תצוגת דוח ההשתתפות מספק את האפשרות לשלוח שאילתות (לקבל, לסנן ולפלח) דוח השתתפות עבור חשבון מסוים.
לשלוח שאילתה לדוח השתתפות בדוגמה הבאה מתקבל דוח ההשתתפות של כל הנכסים בחשבון 12345678
ומסנן את הדוח לפי תאריך 4/10/20.
GET https://travelpartner.googleapis.com/v3/accounts/12345678/participationReportViews:query?filter=date%20%3D%20%272020-10-04%27
תגובה לדוגמה
{
"results": [
{
"missedParticipationCountDetails": {
"noAvailabilityCount": "628873",
"otherReasonCount": "22",
"hotelSuspendedCount": "262",
"noTaxBreakdownCount": "1",
"noLandingPageCount": "4558",
"noPriceCount": "43194",
"noPriceCountDetails": {
"livePricingTechnicalIssueCount": "4795",
"livePricingNotTriggeredCount": "2",
"livePricingConfigIssueCount": "3",
"livePricingNotAvailableCount": "27731",
"livePricingOtherReasonCount": "1"
}
"otherReasonCount": "1"
"priceMissingCount": "2235",
"priceMissingCountDetails": {
"cacheRateMissingCount": "2030",
"itineraryBlockedCount": "196",
"livePricingNotSetupCount": "0",
"bandwidthDepletedCount": "1",
"livePricingTimeoutCount": "8",
"livePricingErrorCount": "0"
}
"priceProblemCount": "0",
"priceProblemCountDetails": {
"hotelSuspendedCount": "0",
"priceUnusuallyHighCount": "0",
"priceUnusuallyLowCount": "0",
"taxesAndFeesMissingCount": "0"
}
"priceUnavailableCount": "0",
"priceUnavailableCountDetails": {
"priceUnavailableCount": "0",
"participationNotLikelyCount": "0"
}
},
"participationCount": "1298876",
"missedParticipationCount": "679146",
"opportunityCount": "1975787",
"participationPercent": 0.6573967740444975
}
]
}
המחירים המדויקים השירות 'דיוק המחירים' מאפשר לאחזר דוחות וכרטיסי מידע של דיוק מחירים בחשבון מסוים.
קבלת דוח דיוק במחירים הדוגמה הבאה מאחזרת את דוח דיוק המחירים ב-26/8/2019 עבור החשבון 12345678
:
GET https://travelpartner.googleapis.com/v3/accounts/12345678/priceAccuracyViews/20190826
מלבד הפרמטרים הרגילים של השאילתות , כדי לעבור בין הדפים במהלך התגובה, יש עוד כמה פרמטרים לציון מחירים תואמים או אותות פיקסלים בתוצאות.
בדוגמה הזו, דוח דיוק המחירים ב-26/8/2019 כולל מחירים תואמים ואותות פיקסלים:
GET base_url /priceAccuracyViews/20190826?includeMatchedPrices=true&includePixels=true
רישום דוחות מדויקים של דיוק במחירים כדי לקבל רשימה של הדוחות הזמינים, יש לשלוח את הבקשה הזו:
GET https://travelpartner.googleapis.com/v3/accounts/12345678/priceAccuracyViews
אפשר לכלול את הפרמטרים הרגילים של השאילתות להחלפה בין התוצאות .
תגובה לדוגמה
{
"priceAccuracyViews": [
{
"name": "accounts/12345678/priceAccuracyViews/20190925"
},
...
{
"name": "accounts/12345678/priceAccuracyViews/20190827"
}
]
}
קבלת ציון הדיוק במחיר כדי לקבל את כרטיס המידע על דיוק המחירים, יש להשתמש בשיטה summarize
:
GET https://travelpartner.googleapis.com/v3/accounts/12345678/priceAccuracyViews:summarize
תגובה לדוגמה
{
"updateTime": "2019-09-26T18:29:32.372204Z",
"currentScore": "EXCELLENT",
"predictedScore": "EXCELLENT"
}
כיסוי מחירים שירות תצוגות של כיסוי מחירים מספק את הדוח העדכני ביותר של מחירי הכיסוי או את ההיסטוריה המלאה של הדפים הנכללים באינדקס.
קבלת נתונים סטטיסטיים עדכניים לגבי כיסוי המחירים הדוגמה הבאה מאחזרת את הנתונים הסטטיסטיים העדכניים ביותר של כיסוי המחיר לחשבון 12345678
:
GET https://travelpartner.googleapis.com/v3/accounts/12345678/priceCoverageViews:latest
תגובה לדוגמה
{
"calculationDate": {
"month": 10,
"day": 1,
"year": 2019
},
"priceCoveragePercent": 7.683124346337668,
"matchedPropertyCount": 486546,
"priceCoverageBuckets": [
{
"availablePriceCount": "57708897",
"advanceBookingWindowRange": "DAYS_0_TO_30",
"priceCoveragePercent": 54.65867924338515,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "44221",
"advanceBookingWindowRange": "DAYS_0_TO_30",
"priceCoveragePercent": 0.04188368831276978,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "59988397",
"advanceBookingWindowRange": "DAYS_31_TO_60",
"priceCoveragePercent": 58.71161890824986,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "8805",
"advanceBookingWindowRange": "DAYS_31_TO_60",
"priceCoveragePercent": 0.008617596574336533,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "55096752",
"advanceBookingWindowRange": "DAYS_61_TO_90",
"priceCoveragePercent": 53.9240864613594,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "11747",
"advanceBookingWindowRange": "DAYS_61_TO_90",
"priceCoveragePercent": 0.011496979779526548,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "117074",
"advanceBookingWindowRange": "DAYS_91_TO_120",
"priceCoveragePercent": 0.11458222616057641,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "7527",
"advanceBookingWindowRange": "DAYS_91_TO_120",
"priceCoveragePercent": 0.007366797207839987,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "71904",
"advanceBookingWindowRange": "DAYS_121_TO_150",
"priceCoveragePercent": 0.07037361318354277,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "5544",
"advanceBookingWindowRange": "DAYS_121_TO_150",
"priceCoveragePercent": 0.005426002885646989,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "56528",
"advanceBookingWindowRange": "DAYS_151_TO_180",
"priceCoveragePercent": 0.05532487213561562,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "4680",
"advanceBookingWindowRange": "DAYS_151_TO_180",
"priceCoveragePercent": 0.00458039204632538,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "29269",
"advanceBookingWindowRange": "DAYS_181_TO_210",
"priceCoveragePercent": 0.02864604589826871,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "2336",
"advanceBookingWindowRange": "DAYS_181_TO_210",
"priceCoveragePercent": 0.0022862811581658314,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "22967",
"advanceBookingWindowRange": "DAYS_211_TO_240",
"priceCoveragePercent": 0.022478176095716885,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "1906",
"advanceBookingWindowRange": "DAYS_211_TO_240",
"priceCoveragePercent": 0.001865433171003456,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "19387",
"advanceBookingWindowRange": "DAYS_241_TO_270",
"priceCoveragePercent": 0.01897437192352781,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "2179",
"advanceBookingWindowRange": "DAYS_241_TO_270",
"priceCoveragePercent": 0.0021326227070391033,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "14102",
"advanceBookingWindowRange": "DAYS_271_TO_300",
"priceCoveragePercent": 0.013801856546427458,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "2048",
"advanceBookingWindowRange": "DAYS_271_TO_300",
"priceCoveragePercent": 0.0020044108783919615,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "10280",
"advanceBookingWindowRange": "DAYS_301_TO_330",
"priceCoveragePercent": 0.010061203041928398,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "1333",
"advanceBookingWindowRange": "DAYS_301_TO_330",
"priceCoveragePercent": 0.0013046287602033614,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
}
],
"priceCoverageBinaryPercent": 76.38722751805585
}
הצגת ההיסטוריה של כיסוי המחירים הבקשה הזו מקבלת את כל היסטוריית כיסוי המחירים עבור חשבון:
GET https://travelpartner.googleapis.com/v3/accounts/12345678/priceCoverageViews
תגובה לדוגמה
{
"priceCoverageViews": [
{
"calculationDate": {
"month": 9,
"day": 17,
"year": 2019
},
"priceCoveragePercent": 7.75351958685931,
"matchedPropertyCount": 492550,
"priceCoverageBuckets": [
{
"availablePriceCount": "57557901",
"advanceBookingWindowRange": "DAYS_0_TO_30",
"priceCoveragePercent": 53.85113864788107,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "40549",
"advanceBookingWindowRange": "DAYS_0_TO_30",
"priceCoveragePercent": 0.037937620780037304,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "60927294",
"advanceBookingWindowRange": "DAYS_31_TO_60",
"priceCoveragePercent": 58.90365880186203,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "9151",
"advanceBookingWindowRange": "DAYS_31_TO_60",
"priceCoveragePercent": 0.00884705927848756,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "58125328",
"advanceBookingWindowRange": "DAYS_61_TO_90",
"priceCoveragePercent": 56.19475711917089,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "6943",
"advanceBookingWindowRange": "DAYS_61_TO_90",
"priceCoveragePercent": 0.0067123956475291366,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "112206",
"advanceBookingWindowRange": "DAYS_91_TO_120",
"priceCoveragePercent": 0.10847919718085183,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "9665",
"advanceBookingWindowRange": "DAYS_91_TO_120",
"priceCoveragePercent": 0.00934398731576683,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "42373",
"advanceBookingWindowRange": "DAYS_121_TO_150",
"priceCoveragePercent": 0.04096562592146797,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "4123",
"advanceBookingWindowRange": "DAYS_121_TO_150",
"priceCoveragePercent": 0.0039860589449463675,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "34813",
"advanceBookingWindowRange": "DAYS_151_TO_180",
"priceCoveragePercent": 0.033656723271990756,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "3296",
"advanceBookingWindowRange": "DAYS_151_TO_180",
"priceCoveragePercent": 0.003186526869401704,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "26839",
"advanceBookingWindowRange": "DAYS_181_TO_210",
"priceCoveragePercent": 0.02594757119170884,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "2188",
"advanceBookingWindowRange": "DAYS_181_TO_210",
"priceCoveragePercent": 0.00211532790966351,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "20301",
"advanceBookingWindowRange": "DAYS_211_TO_240",
"priceCoveragePercent": 0.0196267239004017,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "1589",
"advanceBookingWindowRange": "DAYS_211_TO_240",
"priceCoveragePercent": 0.0015362230568808583,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "17661",
"advanceBookingWindowRange": "DAYS_241_TO_270",
"priceCoveragePercent": 0.01707440868947315,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "1768",
"advanceBookingWindowRange": "DAYS_241_TO_270",
"priceCoveragePercent": 0.0017092777624703316,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "14245",
"advanceBookingWindowRange": "DAYS_271_TO_300",
"priceCoveragePercent": 0.013771867492301967,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "2019",
"advanceBookingWindowRange": "DAYS_271_TO_300",
"priceCoveragePercent": 0.0019519410647214931,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
},
{
"availablePriceCount": "10625",
"advanceBookingWindowRange": "DAYS_301_TO_330",
"priceCoveragePercent": 0.010272101937922665,
"lengthOfStayRange": "LENGTH_OF_STAY_1_TO_7"
},
{
"availablePriceCount": "1401",
"advanceBookingWindowRange": "DAYS_301_TO_330",
"priceCoveragePercent": 0.0013544672767086734,
"lengthOfStayRange": "LENGTH_OF_STAY_8_TO_14"
}
],
"priceCoverageBinaryPercent": 77.83737691604914
},
...
]
}
מחיר שירות תצוגות המחיר מאפשר לכם לאחזר דוח מחירים לנכס מסוים.
קבלת נתוני תמחור של נכס כדי לקבל את דוח התמחור של מלון ספציפי (ID=101
) השייך לחשבון 12345678
, יש לשלוח את הבקשה הבאה:
GET https://travelpartner.googleapis.com/v3/accounts/12345678/priceViews/101
תגובה לדוגמה
{
"perItineraryPrices": [
{
"updateTime": "2019-09-30T23:24:32Z",
"checkinDate": {
"month": 9,
"day": 30,
"year": 2019
},
"taxes": 8.83,
"currencyCode": "USD",
"lengthOfStayDays": 1,
"roomAvailable": true,
"price": 68.25
},
...
{
"updateTime": "2019-10-02T03:32:22.347810Z",
"checkinDate": {
"month": 4,
"day": 23,
"year": 2020
},
"currencyCode": "USD",
"price": -1,
"lengthOfStayDays": 3,
"allInclusive": true
}
],
"name": "accounts/12345678/priceViews/101"
}
דוחות התאמה
התוכן הזה רלוונטי רק למודעות להזמנת חדרים.
שירות דוחות ההתאמה
קבלת רשימה של דוחות התאמה בדוגמה הבאה מופיעה רשימת דוחות לחשבון 12345678
:
GET https://travelpartner.googleapis.com/v3/accounts/12345678/reconciliationReports
כדי להגביל את התוצאות, אפשר להוסיף פרמטרים אופציונליים של תאריך ההתחלה והסיום של השאילתה. לדוגמה, השאילתה הזו מגבילה את הדיווחים רק לתאריכים 15 ביוני 2019 עד 15 בספטמבר 2019:
GET base_url /reconciliationReports?startDate=2019-06-15&endDate=2019-09-15
תגובה לדוגמה
{
"reconciliationReports": [
{
"name": "accounts/12345678/reconciliationReports/2019-09-19T08:32:00~booking_report.csv"
}
]
}
הורדת דוח התאמה הדוגמה הזו מאחזרת את הדוח booking_report.csv
(כתגובת JSON) שהועלה ב-2019-08-26T12:00:00
:
GET base_url /reconciliationReports/2019-08-26T12%3A00%3A00~bookings.csv
תגובה לדוגמה
{
"contents": "Hotel ID,Hotel Name,Hotel Address,Hotel City,Hotel State/Region,Hotel PostalCode,Hotel Country Code,Hotel Phone Number,Booking Reference,Booking Date and Time,Check-in Date,Check-out Date,Number of Rooms,Number of Guests,Booking Revenue,Booking Revenue Currency,Booking Revenue Currency to Billing Currency Conversion Rate,Booking Status,Commission,Commission Currency,Commission Currency to Billing Currency Conversion Rate,Payment Date,Payment Status\n\n111,\"Capybara Hotel and Spa\",123 Foo Driveway,Boston,MA,02472,US,+11234567890,2thHRTY,2016-01-04,2016-02-01,2016-02-03,1,4,213.88,USD,1,Stayed,21.39,USD,1.0,2016-06-07,Invoice Required\n\n211,\"Mabels Gabels\",45678 Bar Street,London,,KT13 0PU,GB,+440203456123,z452121A,2016-02-04,2016-02-01,2016-02-03,1,3,414.21,GBP,1.249,Stayed,64.43,USD,1.0,2016-06-07,Invoice Required\n\n311,\"No-Tell Motels\",66 Acacia Avenue,Geneva,,1211,CH,+412241820000,42,2016-03-04,2016-02-01,2016-02-03,1,2,451.15,CHF,1.05,Stayed,37.41,EUR,0.99889,2016-06-07,Invoice Required"
}
אימות דוח התאמה אפשר להשתמש בשיטה הזו כדי לאמת את הדוח לפני שמעלים אותו. אימות של דוח לא מעלה אותו.
דוח ההתאמה נכלל בגוף הבקשה, כערך של השדה contents
. דוח ההתאמה חייב להיות תואם לתחביר שמתואר בדוחות ההתאמה .
הדוגמה הבאה מאמתת דוח לחשבון 12345678
:
POST https://travelpartner.googleapis.com/v3/accounts/12345678/reconciliationReports:validate
תגובה מוצלחת לדוגמה
{
"successfulRecordCount": 3
}
העלאת דוח התאמה אחרי שתאשרו שדוח ההתאמה חוקי, תוכלו להעלות אותו ל-Google כמו בדוגמה הבאה:
POST https://travelpartner.googleapis.com/v3/accounts/12345678/reconciliationReports
תגובה מוצלחת לדוגמה
{
"successfulRecordCount": 3,
"reconciliationReport": {
"name": "accounts/12345678/reconciliationReports/2019-09-30T09:17~2019-09-19T08:32:00~booking_report.csv"
}
}