پس از رزرو یک اسلات در دسترس بودن با قیمتی خاص، کاربر با استفاده از یک URL که توسط شما تعریف شده است به صفحه رزرو شما هدایت می شود. مراحل ارائه شده به شما نشان می دهد که چگونه کارهای زیر را انجام دهید:
- قالب URL خود را تعریف کنید.
- الگوی URL خود را در فیدهای خود تنظیم کنید.
- فعال کردن پیوند در هر شکاف دسترسی.
- فیلدهای موجود در Action Center را تأیید کنید.
1. تعریف قالب URL شما.
الگوی uri از مشخصات الگوی Uri سطح 2 RFC6570 Internet Engineering Task Force (IETF) پیروی می کند، جزئیات بیشتر در 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 |
منابع_حزب_اندازه | مورد نیاز | در دسترس بودن.منابع | اندازه_پارتی | 2 |
availability_slot_availability_tag | اختیاری | در دسترس بودن | availability_tag | res-123 |
availability_slot_duration_seconds | اختیاری | در دسترس بودن | duration_sec | 3600 |
resources_room_id | اختیاری | در دسترس بودن.منابع | room_id | bar_123 |
2. الگوی URI خود را در فید خود تنظیم کنید.
بخش زیر فرض میکند که یک E2E زنده با یک سرویس فید موجود یکپارچه شدهاید. نشانی اینترنتی که تعریف کردهاید در فید سرویس تنظیم میشود، موارد زیر شامل تعریف آن قسمت میشود.
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" } ] } } ] }
3. پیوند در هر شکاف دسترسی را فعال کنید.
بخش زیر فرض میکند که یک E2E زنده با یک فید موجودی موجود ادغام شدهاید. هنگامی که الگوی URL را در فید سرویس خود تنظیم کردید، باید مشخص کنید که کدام یک از اسلات های موجود برای پیوند دادن لازم است.
می توانید این کار را با افزودن فیلد linkout_required_reason
با مقدار PAYMENT_REQUIRED
انجام دهید.
تعریف دلیل Linkout
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; }
تعریف نمونه دلیل Linkout
{ "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. بررسی فیلدها در Action Center
هنگامی که فیدهای شما با موفقیت ارسال شد و هیچ خطایی در تاریخچه فید وجود نداشت، می توانید با استفاده از مراحل زیر فیلدها را تأیید کنید.
الگوی URL در Inventory Viewer
میتوانید تعریف الگوی URL را در بخش خدمات در نمای موجودی یک تاجر پیدا کنید. الگو را در بخش "فید snippet" خواهید یافت. برای جزئیات بیشتر در مورد نمای تاجر و خدمات به نمای موجودی مراجعه کنید.
دلیل پیوند در نمایشگر در دسترس بودن
وقتی شکاف دسترسی خاص را در نمای دسترسی مشاهده میکنید، میتوانید فیلد linkout_reason_required
را پیدا کنید.