אחרי שהמשתמש יבצע הזמנה של זמן זמינות במחיר ספציפי, הוא יועבר לדף ההזמנות שלכם באמצעות כתובת URL שתגדירו. השלבים תספקו הסבר איך לבצע את הפעולות הבאות:
- מגדירים את תבנית כתובת ה-URL.
- מגדירים את תבנית כתובת ה-URL בפידים.
- מפעילים קישורים יוצאים לכל חריץ זמינות.
- מאמתים את השדות במרכז הפעולות.
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" } ] } } ] }
3. הפעלת קישור לפי משבצת זמינות.
בקטע הבא נניח שיש לכם אינטגרציה פעילה מקצה לקצה עם פיד זמינות קיים. אחרי שתגדירו את תבנית כתובת ה-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 מופיעה בקטע 'שירותים' בתצוגת המלאי של המוכר. התבנית נמצאת בקטע 'קטע קוד של פיד' . מומלץ לעיין בתצוגת מלאי לקבלת פרטים נוספים על תצוגת שירות.
סיבת הקישור בכלי להצגת הזמינות
השדה linkout_reason_required
מופיע כשמציגים את חלון הזמינות הספציפי בתצוגת הזמינות.