רקע
התכונה 'כרטיסים מקושרים באופן אוטומטי' מאפשרת לכם לשלוח כרטיסים נוספים למשתמש שכבר יש לו את הכרטיס הקיים שלכם ב-Google Wallet. תוכלו גם לקשר מראש כרטיסים לכרטיס ראשי כשמשתמשים שומרים את הכרטיס הראשי (הראשי). הכרטיס המקושר האוטומטי מקובצים יחד עם הכרטיס הראשי, עם הסבר מעל לכרטיס הראשי, שמיידע את המשתמש שקושר כרטיס חדש. אפשר להשתמש בתגי הכניסה הבאים ככרטיסים ראשיים או ככרטיסים מקושרים:
- כרטיס לאירוע
- כרטיס עלייה למטוס
- כרטיס לתחבורה ציבורית
- ההצעה
- כרטיס מתנה
- כרטיס מועדון לקוחות
- כרטיס גנרי
כרטיס ראשי עם ההודעה על הוספת כרטיס חדש | כרטיס חדש שמקושר לכרטיס הראשי |
תרחישים לדוגמה
יכול להיות שתצטרכו לקשר כרטיסים לכרטיס קיים במגוון תרחישים לדוגמה. לדוגמה:
- קישור של מבצע לכרטיס מועדון לקוחות קיים.
- לקשר שובר לארוחה לכרטיס עלייה למטוס או לכרטיס לאירוע.
- אפשר לקשר כרטיס חניה לכרטיס לאירוע.
שיקולים לשימוש בכרטיסים שמקושרים באופן אוטומטי
- באובייקט הראשי ובאובייקט המקושר צריך להשתמש באותו מזהה מנפיק (issuerId).
- יש מגבלה של 50 אובייקטים מקושרים לכל אובייקט ראשי.
- לא מובטח שההעברה האוטומטית של כרטיסים מקושרים תתבצע, והיא נחשבת ל'לפי יכולת'. המשתמשים יכולים לבטל את ההסכמה לקבלת כרטיסים שמקושרים באופן אוטומטי. אם התרחיש לדוגמה הוא קריטי והמשתמש חייב לקבל את הכרטיס המקושר, מומלץ ליצור קשר דרך ערוץ אחר כדי לוודא שהמשתמש מוסיף את הכרטיס.
- העדכונים במדיניות ה-AUP של Google Wallet כוללים הנחיות לשימוש בכרטיסים מקושרים באופן אוטומטי, שעליכם לפעול לפיהן.
שלבי ההטמעה
אם כבר יצרתם אובייקט ראשי, אתם יכולים לדלג על שלב 1.
- יוצרים אובייקט מכל סוג כרטיס שמופיע עם הפרמטרים הנדרשים. זהו האובייקט הראשי.
- יצירת אובייקט נוסף מכל סוג כרטיס שמופיע. זה יהיה האובייקט מקושר.
- לפני או אחרי שמירת האובייקט הראשי, מעדכנים את האובייקט הראשי במזהה של האובייקט המקושר בפרמטר linkedObjectIds.
יש עומס מינימלי נדרש כדי להגדיר את linkedObjectIds בכרטיס ראשי. 3 הפרמטרים הנדרשים הם:
- ISSUERID.PRIMARY_OBJECT_ID
- ISSUERID.PRIMARY_CLASS_ID
- ISSUERID.LINKED_OBJECT_ID
דוגמה לבקשת JSON להוספת אובייקט מקושר לאובייקט Pass
… { "id": "ISSUERID.PASS_OBJECTID", "classId": "ISSUERID.PASS_CLASSID", "barcode": { "type": "qrCode", "value": "QR code" }, "linkedObjectIds": {"ISSUERID.LINKED_PASS_OBJECTID"} } …
דוגמה לתגובת JSON אחרי קישור אובייקט לאובייקט Pass
… "state": "active", "linkedObjectIds": { "ISSUERID.LINKED_PASS_OBJECTID" } …
התנהגות צפויה
אחרי שתקבלו תשובה מוצלחת, הכרטיס המקושר אמור להופיע במכשירים שבהם הכרטיס עודכן. הכרטיס המקושר יקובץ יחד עם הכרטיס הראשי. המשתמשים יכולים לראות את הכרטיס המקושר על ידי החלקה ימינה.
טיפול בחריגים
שגיאות פוטנציאליות עשויות להתרחש כתוצאה משימוש שגוי ב-API, למשל:
Message | הסיבה |
---|---|
לאובייקט הראשי ולאובייקט המקושר אין מזהה מנפיק זהה. | אי אפשר לצרף אובייקט מקושר לאובייקט של מנפיק אחר. |
האובייקט הראשי והאובייקט המקושר מתייחסים לאותו אובייקט. | אי אפשר לצרף את אותו האובייקט כמו ה-linkedObject. |
האובייקט המקושר לא קיים. | האובייקט המקושר צריך להיות כבר מוכנס ל-Wallet API. |
לאובייקט המקושר כבר יש אובייקט מקושר אחר. אי אפשר להוסיף אובייקטים מקושרים בתצוגת עץ. | אובייקטים מקושרים לא יכולים להכיל אובייקט מקושר אחר. |
האובייקט כבר מקושר לאובייקט אחר. אי אפשר להוסיף אובייקטים מקושרים בתצוגת עץ. | אובייקט ראשי לא יכול להיות אובייקט מקושר לבדו. |
אי אפשר להוסיף עוד אובייקטים מקושרים, חרגתם מהמגבלה. | הגעתם למגבלה של 50 כרטיסים מקושרים בכרטיס הראשי. |