نماذج عناوين URL لإعادة التوجيه للدفع

عند حجز خانة مدى توفّر بسعر معيّن، إعادة توجيهك إلى صفحة الحجز باستخدام عنوان URL تحدّده أنت. توضّح لك الخطوات المقدَّمة كيفية تنفيذ ما يلي:

  1. حدِّد نموذج عنوان URL.
  2. اضبط نموذج عنوان URL في خلاصاتك.
  3. فعِّل ميزة "الربط بصفحة أخرى" لكل خانة توفّر.
  4. تحقّق من الحقول في "مركز الإجراءات".

1. تحديد نموذج عنوان URL

يتبع نموذج معرف الموارد المنتظم (URI) نموذج مجموعة مهندسي شبكة الإنترنت (IETF) RFC6570. مواصفات نموذج Uri من المستوى 2، يمكنك الاطّلاع على المزيد من التفاصيل على الرابط datatracker.ietf.org يتم ضبط عنوان URL من خلالك باستخدام مَعلمات يتم تعبئتها ديناميكيًا باستخدام معلومات تتعلّق بالحجز. يتضمن الجدول التالي المطلوبة والاختيارية إلى نموذج معرّف الموارد المنتظم (URI).

`https://reservation-provider.com/examplerestaurant/book?date={availability_slot_start_seconds}&num_guests={resources_party_size}`

القيم المتاحة لنموذج عنوان URL

مَعلمات النماذج مطلوبة / اختيارية الخلاصة الحقل نموذج القيمة
availability_slot_start_seconds مطلوب مدى التوفّر start_sec 4152695841
resources_party_size مطلوب availability.resources party_size 2
availability_slot_availability_tag اختياري مدى التوفّر availability_tag res-123
availability_slot_duration_seconds اختياري مدى التوفّر duration_sec 3600
resources_room_id اختياري availability.resources room_id bar_123

2. اضبط نموذج معرّف الموارد المنتظم (URI) في خلاصتك.

يفترض القسم التالي أنّ لديك عملية دمج فعّالة من طرف إلى طرف مع خلاصة خدمة حالية. سيتم ضبط عنوان URL الذي حدّدته في خلاصة الخدمة، يشمل ما يلي تعريف ذلك الحقل.

message Service {
  // ..
  UriTemplate uri_template = 38;
}

تعريف نموذج معرّف الموارد المنتظم (URI)

// A template specifying how Google should generate URLs to external site.
message UriTemplate {
  // The uri template must follow the RFC6570, see
  // https://datatracker.ietf.org/doc/html/rfc6570.
  // Supports Level 2 templates.
  // These parameters will be resolved to their values specified in their
  // respective entities.
  //
  // 5 available parameters for Dining Reservation Linkout:
  // 1) (required) {availability_slot_start_seconds} :: populated from start_sec
  //   field in availability feed
  // 2) (required) {availability_slot_duration_seconds} :: populated from
  //   duration_sec field in availability feed
  // 3) (optional) {resources_party_size} :: populated from party_size field in
  //   availability feed
  // 4) (optional) {availability_availability_tag} :: populated from
  //   availability_tag field in availability feed
  // 5) (optional) {resources_room_id} :: populated from room_id field in
  //   availability feed
  //
  // Example usage:
  // http://example.com/book/restaurant?start={availability_slot_start_seconds}
  // &num_guests={resources_party_size}
  // * start_sec = 123456
  // * party_size = 2
  // https://example.com/book/restaurant?start=123456&num_guests=2
  string uri_template = 1;
}

تعريف نموذج الخدمة

{
  "metadata": {
    "processing_instruction": "PROCESS_AS_COMPLETE",
    "shard_number": 0,
    "total_shards": 1,
    "nonce": "12484913",
    "generation_timestamp": 1530432018
  },
  "service": [
    {
      "merchant_id": "dining-A",
      "service_id": "reservation",
      "uri_template": {
        "uri_template": "https://reservation-provider.com/examplerestaurant/book?date={availability_slot_start_seconds}&num_guests={resources_party_size}"
      },
      "localized_service_name": {
        "value": "Reservation",
        "localized_value": [
          {
            "locale": "en",
            "value": "Reservation"
          }
        ]
      }
    }
  ]
}

يفترض القسم التالي أن لديك عملية تكامل مباشرة بين الأطراف المعنية باستخدام عنصر خلاصة مدى التوفّر. بعد تعيين نموذج عنوان URL في جديدة، ستحتاج إلى تحديد خانات التوفر التي سيتم المطلوبة للربط.

ويمكنك إجراء ذلك من خلال إضافة الحقل linkout_required_reason مع القيمة PAYMENT_REQUIRED.

تعريف سبب الرابط الصادر

message Availability {
  // ..
  LinkoutRequiredReason linkout_required_reason = 19;
}
  // The reason why a slot requires a linkout. Currently only used for Dining
  // Reservations Payment Redirect Partners.
  enum LinkoutRequiredReason {
    // Default value: Do not use, equates to unknown.
    LINKOUT_REQUIRED_REASON_UNSPECIFIED = 0;
    // Slot requires payment in the partner platform to be booked.
    PAYMENT_REQUIRED = 1;
  }

نموذج لتعريف سبب الربط

{
  "metadata": {
    "processing_instruction": "PROCESS_AS_COMPLETE",
    "shard_number": 0,
    "total_shards": 1,
    "nonce": "11203880",
    "generation_timestamp": 1543875200
  },
  "service_availability": [
    {
      "availability": [
        {
          "merchant_id": "dining-A",
          "service_id": "reservation",
          "linkout_required_reason": "PAYMENT_REQUIRED",
          "start_sec": 1535853600,
          "duration_sec": 2700,
          "spots_total": 2,
          "spots_open": 2,
          "resources": {
            "room_id": "A-dining-room",
            "room_name": "Dining Room",
            "party_size": 2
          }
        }
      ]
    }
  ]
}

.

4. التحقّق من الحقول في "مركز الإجراءات"

بعد إرسال خلاصاتك بنجاح ولا تظهر أي أخطاء في الخلاصة يمكنك التحقق من الحقول باستخدام الخطوات التالية.

نموذج عنوان URL في عارض المستودع

يمكنك العثور على تعريف نموذج عنوان URL في قسم "الخدمات" ضمن ملف تعريف البائع في عرض المستودع. يمكنك العثور على النموذج ضمن قسم "مقتطف الخلاصة". يُرجى الرجوع إلى عرض المستودع للحصول على مزيد من التفاصيل حول حساب التاجر عرض الخدمة

الشكل 1: مثال على العثور على عنوان URL ضمن مركز الإجراءات

سبب الربط في "عارض مدى التوفّر"

يمكنك العثور على الحقل linkout_reason_required عند عرض خانة التوفّر المحدّدة في عرض مدى التوفّر.

الشكل 1: مثال على العثور على عنوان URL ضمن مركز الإجراءات