סקירה כללית

Google Wallet Passes API מאפשר לשותפים לשמור קודי מ barras מסתובבים ב-Google Wallet. ברקודים אלה תקפים רק לזמן קצר, כדי לספק אבטחה נוספת ולצמצם את הסיכון לצילום מסך של ברקודים. קודי הברקוד נוצרים במכשיר בהתאם ל-RFC 6238, והשותף מספק את המפתח הסודי. עם זאת, אם שותף מעדיף ליצור את הברקודים בעצמו, Google מספקת API שמאפשר להעלות קבוצות של ברקודים ל-Google. לאחר מכן, הברקודים האלה יועברו לטלפונים של המשתמשים, שם הם יפעלו בדיוק כמו ברקודים מסתובבים, ויוצגו למשך פרק זמן קצר. אנחנו מכנים את הפתרון הזה 'ברקודים מסתובבים שנוצרו על ידי שותפים'.

ממשק API ליצירת קודי מ barras מסתובבים על ידי שותפים

קודי מוטציה שנוצרו על ידי שותפים נוצרים באמצעות אותו אובייקט RotatingBarcode. צריך לציין רק את הסוג, אבל מומלץ גם ליצור קבוצה קטנה של קודי מוצר (כ-10 דקות עבודה) ולשלוח אותם בקובץ initialRotatingBarcodeValues. השותף אחראי לוודא שתמיד יש קוד מ barras תקף מוכן למשתמש, ו-initialRotatingBarcodeValues מאפשר לקריאה הבאה להעלאת קבוצה להיות אסינכררונית.

  rotatingBarcode {
    initialRotatingBarcodeValues: object (RotatingBarcodeValues),
    type: enum (BarcodeType),
  }
שדה תיאור
initialRotatingBarcodeValues

object (RotatingBarcodeValues)

הערכים שרוצים לקודד בברקוד. צריך להזין לפחות ערך אחד. קודי הברקוד הראשוניים האלה נועדו לגשר על הפער בין המועד שבו המשתמש מקבל את הכרטיס בפעם הראשונה לבין המועד שבו מתבצעת הקריאה הבאה להעלאת קבוצה.

type

enum (BarcodeType)

חובה. סוג הברקוד.

הערכים הקבילים הם:

  • QR_CODE
  • PDF_417

RotatingBarcodeValues
שדה תיאור
startDateTime

string

התאריך/השעה שבהם הברקוד הראשון תקף. הקוד הברקודי יופיע ב-periodMillis.

זהו תאריך/שעה בפורמט מורחב של ISO 8601, עם עיכוב.

values[]

string

הערכים שרוצים לקודד בברקוד. צריך להזין לפחות ערך אחד.

אין מספר מקסימלי של ערכים, אבל חשוב לזכור שגודל גוף הבקשה לא יכול לחרוג מ-5MB.

periodMillis

number

משך הזמן שבו כל ברקוד תקף.

עדכון ערכים של קודי מ barras באצווה

אחרי שיוצרים את האובייקט RotatingBarcode, מומלץ להעלות קודי מ barras ליום אחד בכל יום, עד שתוקף הכרטיס של המשתמש יפוג. אפשר לעשות זאת באמצעות נקודת הקצה הבאה של ה-API ל-REST.

שיטה: transitobject.uploadrotatingbarcodevalues

העלאת ערכים של ברקודים בסבב לאובייקט המעבר שמשויך למזהה האובייקט הנתון.

בקשת HTTP

POST https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc eId}/uploadRotatingBarcodeValues

פרמטרים של נתיב

פרמטר תיאור
resourceId

string

המזהה הייחודי של אובייקט.

גוף הבקשה

גוף הבקשה (שגודלו לא יכול לחרוג מ-5MB) מכיל מופע של RotatingBarcodeValues.

שיטה: transitobject.downloadrotatingbarcodevalues

הפונקציה מורידת ערכים של ברקודים מתחלפים לאובייקט התחבורה הציבורית שמשויך למזהה האובייקט הנתון. האפשרות הזו שימושית אם שותפים רוצים לאמת את האצווה האחרונה.

בקשת HTTP

GET https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do wnloadRotatingBarcodeValues?alt=media

פרמטרים של נתיב

פרמטר תיאור
resourceId

string

המזהה הייחודי של אובייקט.

מנגנוני חזרה למצב ראשוני

הערה: אם ל-RotatingBarcode תקין אין קודי מ barras תקינים להצגה (עדיין לא העליתם אותם או שכל קודי המ barras הקיימים כבר נוצלו), תוצג למשתמש הודעת שגיאה.