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 أو أكثر من قيمتَين إلى حدوث خطأ. يمكن أن يؤدي الفلترة باستخدام 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".

participationPercent

number

النسبة المئوية للمشاركة، حيث يتم قسمة عدد الفرص المشارِكة بنجاح على إجمالي عدد الفرص. على سبيل المثال، إذا كان الموقع مؤهَّلاً للمشاركة في مزاد "إعلانات Google" 90 مرّة من أصل 100 فرصة، يكون معدّل المشاركة %90.

missedParticipationCount

string (int64 format)

إجمالي عدد فرص التحسين غير المؤهَّلة لعملية المزاد في "إعلانات Google". يتضمّن ما يلي:

  • لم يتم إدراج الصفحة المقصودة
  • لم يتم إدخال السعر
  • مشكلة في السعر
  • السعر غير متاح
  • غير ذلك
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)

إجمالي عدد المشاركات التي لم تتم بسبب تعليق فندق واحد أو أكثر من فنادقك نتيجة انتهاكات سياسة دقة الأسعار

noTaxBreakdownCount
(deprecated)

string (int64 format)

إجمالي عدد المشاركات التي لم تتم بسبب عدم تحديد الضرائب والرسوم بشكل منفصل في فندق واحد أو أكثر من فنادقك

noLandingPageCount

string (int64 format)

لم تتطابق أي صفحة مقصودة مع المستخدم.

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)

العدد الإجمالي لمرات عدم المشاركة بسبب مشاكل فنية في الأسعار في الوقت الفعلي لأي من الأسباب التالية:

  • لم تردّ بسرعة كافية وتجاوزت الموعد النهائي للردّ (حوالي 4000 مللي ثانية).
  • لقد حدث خطأ.
  • كان ردّك بتنسيق غير صحيح.
livePricingNotTriggeredCount

string (int64 format)

إجمالي عدد مرات عدم المشاركة بسبب عدم تفعيل ميزة "السعر في الوقت الفعلي" لأي من الأسباب التالية:

  • لم يتم ضبط عرض سعر.
  • لم تكن لديك صفحة مقصودة صالحة.
  • لم تتوفر أسعار كافية في ذاكرة التخزين المؤقت.
livePricingConfigIssueCount

string (int64 format)

إجمالي عدد مرات عدم المشاركة بسبب عدم تفعيل ميزة "السعر في الوقت الفعلي" لأي من الأسباب التالية:

  • لم يتم ضبط الأسعار المباشرة لعمليات البحث هذه.
  • لقد حظرت وصول Google إلى برنامج رحلة الفندق المعنيّ.
livePricingNotAvailableCount

string (int64 format)

إجمالي عدد مرات عدم المشاركة بسبب عدم توفّر الأسعار في الوقت الفعلي لن يتم تفعيل ميزة "السعر في الوقت الفعلي" لبعض برامج الرحلات أو واجهات المستخدم التلقائية. في هذه الحالة، سيحتاج الشركاء إلى سعر مخزّن مؤقتًا للمشاركة.

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)

لم يتم تخزين أي سعر مؤقتًا لبرنامج الرحلة هذا، ولم يتم إجراء أي طلب بحث مباشر لأنّ خادمك يخبرنا عادةً بأنّ الفندق غير متاح أو تم بيع جميع غرفه.