पेमेंट रीडायरेक्ट के लिए यूआरएल टेंप्लेट

किसी खास कीमत पर उपलब्धता स्लॉट बुक करने पर, उपयोगकर्ता को आपके तय किए गए यूआरएल का इस्तेमाल करके, बुकिंग पेज पर रीडायरेक्ट कर दिया जाएगा. तरीका दी गई जानकारी से आपको इन कामों को करने का तरीका पता चलेगा:

  1. अपना यूआरएल टेंप्लेट तय करें.
  2. अपने फ़ीड में यूआरएल टेंप्लेट सेट करें.
  3. उपलब्धता के हर स्लॉट के लिए लिंकआउट चालू करें.
  4. ऐक्शन सेंटर में मौजूद फ़ील्ड की पुष्टि करें.

1. अपना यूआरएल टेंप्लेट तय करना.

यूआरआई टेंप्लेट, इंटरनेट इंजीनियरिंग टास्क फ़ोर्स (आईईटीएफ़) आरएफ़सी6570 के लेवल 2 यूआरआई टेंप्लेट स्पेसिफ़िकेशन का पालन करता है. ज़्यादा जानकारी के लिए, datatracker.ietf.org पर जाएं. यूआरएल को पैरामीटर के साथ सेट किया जाता है. ये पैरामीटर, उस बुकिंग से जुड़ी जानकारी के साथ डाइनैमिक तौर पर अपने-आप पॉप्युलेट होते हैं. यहां दी गई टेबल में, यूआरआई टेंप्लेट के लिए उपलब्ध ज़रूरी और वैकल्पिक पैरामीटर शामिल हैं.

`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. अपने फ़ीड में यूआरआई टेंप्लेट सेट करें.

इस सेक्शन में यह माना गया है कि आपके पास किसी मौजूदा सेवा फ़ीड के साथ, लाइव ई2ई इंटिग्रेशन है. आपने जो यूआरएल तय किया है वह सेवा फ़ीड में सेट हो जाएगा. नीचे उस फ़ील्ड की परिभाषा दी गई है.

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

यूआरआई टेंप्लेट की परिभाषा

// 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"
          }
        ]
      }
    }
  ]
}

यहां दिए गए सेक्शन में माना गया है कि आपके पास पहले से मौजूद उपलब्धता फ़ीड. सेवा फ़ीड में यूआरएल टेंप्लेट सेट करने के बाद, आपको यह बताना होगा कि उपलब्धता के किन स्लॉट को लिंकआउट करना है.

ऐसा करने के लिए, 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. ऐक्शन सेंटर में फ़ील्ड की पुष्टि करना

फ़ीड सबमिट हो जाने और फ़ीड के इतिहास में कोई गड़बड़ी न होने के बाद, नीचे दिया गया तरीका अपनाकर फ़ील्ड की पुष्टि की जा सकती है.

इन्वेंट्री व्यूअर में यूआरएल टेंप्लेट

यूआरएल टेंप्लेट की परिभाषा, व्यापारी/कंपनी/कारोबारी के इन्वेंट्री व्यू के 'सेवाएं' सेक्शन में देखी जा सकती है. आपको "फ़ीड स्निपेट" में टेंप्लेट मिलेगा सेक्शन में जाएं. व्यापारी/कंपनी/कारोबारी और सेवा व्यू के बारे में ज़्यादा जानने के लिए, इन्वेंट्री व्यू देखें.

इमेज 1: Action Center में यूआरएल ढूंढने का उदाहरण

उपलब्धता व्यूअर में लिंकआउट की वजह

खास जानकारी देखने पर, आपको linkout_reason_required फ़ील्ड मिल सकता है उपलब्धता व्यू में उपलब्धता स्लॉट.

इमेज 1: ऐक्शन सेंटर में यूआरएल खोजने का उदाहरण