পেমেন্ট রিডাইরেক্টের জন্য ইউআরএল টেমপ্লেট, পেমেন্ট রিডাইরেক্টের জন্য ইউআরএল টেমপ্লেট

একটি নির্দিষ্ট মূল্যের সাথে একটি প্রাপ্যতা স্লট বুক করার পরে, ব্যবহারকারীকে আপনার দ্বারা সংজ্ঞায়িত একটি URL ব্যবহার করে আপনার বুকিং পৃষ্ঠায় পুনঃনির্দেশিত করা হবে। প্রদত্ত পদক্ষেপগুলি আপনাকে নিম্নলিখিতগুলি কীভাবে করতে হবে তা দেখাবে:

  1. আপনার URL টেমপ্লেট সংজ্ঞায়িত করুন।
  2. আপনার ফিডে আপনার URL টেমপ্লেট সেট করুন।
  3. প্রতি উপলব্ধতা স্লট লিঙ্কআউট সক্ষম করুন.

1. আপনার URL টেমপ্লেট সংজ্ঞায়িত করা।

ইউআরআই টেমপ্লেটটি ইন্টারনেট ইঞ্জিনিয়ারিং টাস্ক ফোর্স (IETF) RFC6570 লেভেল 2 Uri টেমপ্লেট স্পেসিফিকেশন অনুসরণ করে, datatracker.ietf.org- এ আরও বিশদ URL আপনার দ্বারা সেট করা হয়েছে প্যারামিটারগুলির সাথে যা গতিশীলভাবে সেই রিজার্ভেশন সম্পর্কিত তথ্য দিয়ে জনবহুল। নিম্নলিখিত সারণীতে আপনার ইউরি টেমপ্লেটের জন্য উপলব্ধ প্রয়োজনীয় এবং ঐচ্ছিক পরামিতি অন্তর্ভুক্ত রয়েছে।

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

URL টেমপ্লেটের জন্য উপলব্ধ মান

টেমপ্লেট পরামিতি প্রয়োজনীয়/ঐচ্ছিক খাওয়ান মাঠ উদাহরণ মান
availability_slot_start_seconds প্রয়োজন উপস্থিতি start_sec 4152695841
রিসোর্স_পার্টি_সাইজ প্রয়োজন availability.resources পার্টি_সাইজ 2
availability_slot_availability_tag ঐচ্ছিক উপস্থিতি availability_tag res-123
availability_slot_duration_seconds ঐচ্ছিক উপস্থিতি সময়কাল_সেকেন্ড 3600
সম্পদ_রুম_আইডি ঐচ্ছিক availability.resources রুম_আইডি bar_123

2. আপনার ফিডে আপনার URI টেমপ্লেট সেট করুন।

নিম্নলিখিত বিভাগটি অনুমান করে যে আপনি একটি বিদ্যমান পরিষেবা ফিডের সাথে একটি লাইভ E2E ইন্টিগ্রেশন করেছেন৷ আপনি যে URLটি সংজ্ঞায়িত করেছেন সেটি পরিষেবা ফিডে সেট করা হবে, নিম্নলিখিতটি সেই ক্ষেত্রের সংজ্ঞা অন্তর্ভুক্ত করে।

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

নিম্নলিখিত বিভাগটি অনুমান করে যে আপনি একটি বিদ্যমান উপলব্ধতা ফিডের সাথে একটি লাইভ E2E ইন্টিগ্রেশন করেছেন৷ একবার আপনি আপনার পরিষেবা ফিডে URL টেমপ্লেট সেট করার পরে, লিঙ্কআউট করার জন্য আপনার কোন উপলব্ধতার স্লট প্রয়োজন হবে তা আপনাকে নির্দিষ্ট করতে হবে।

আপনি PAYMENT_REQUIRED এর মান সহ linkout_required_reason ফিল্ড যোগ করে তা করতে পারেন।

লিঙ্কআউট কারণ সংজ্ঞা

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