खास जानकारी

Google Wallet Passes API की मदद से, पार्टनर Google Wallet में रोटेट होने वाले बारकोड सेव कर सकते हैं. ये बारकोड सिर्फ़ कुछ समय के लिए मान्य होते हैं. इससे, बारकोड का स्क्रीनशॉट लेने के जोखिम को कम करने के लिए, अतिरिक्त सुरक्षा मिलती है. डिवाइस पर, आरएफ़सी 6238 के मुताबिक बारकोड जनरेट किए जाते हैं. साथ ही, पार्टनर से सीक्रेट कोड लिया जाता है. हालांकि, अगर कोई पार्टनर खुद बारकोड जनरेट करना चाहता है, तो Google एक ऐसा एपीआई उपलब्ध कराता है जिसकी मदद से, बारकोड को Google पर एक साथ अपलोड किया जा सकता है. इसके बाद, ये बारकोड उपयोगकर्ताओं के फ़ोन पर भेज दिए जाएंगे. वहां ये बारकोड, घूमते हुए बारकोड की तरह काम करेंगे और कुछ समय के लिए दिखेंगे. हम इस सलूशन को, पार्टनर से जनरेट किए गए बारकोड के तौर पर देखते हैं.

पार्टनर से जनरेट किया गया रोटेट होने वाला बारकोड API

पार्टनर से जनरेट किए गए रोटेटिंग बारकोड, उसी RotatingBarcode ऑब्जेक्ट का इस्तेमाल करके बनाए जाते हैं. सिर्फ़ टाइप की जानकारी देना ज़रूरी है. हालांकि, हमारा सुझाव है कि आप बारकोड का एक छोटा, शुरुआती सेट बनाएं और उसे initialRotatingBarcodeValues में भेजें. यह पक्का करना पार्टनर की ज़िम्मेदारी है कि उपयोगकर्ता के लिए, हमेशा मान्य बारकोड तैयार हो. साथ ही, 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

बारकोड में कोड में बदली जाने वाली वैल्यू. कम से कम एक वैल्यू देना ज़रूरी है.

वैल्यू की कोई तय सीमा नहीं है. हालांकि, ध्यान दें कि अनुरोध के मुख्य हिस्से का साइज़ 5 एमबी से ज़्यादा नहीं होना चाहिए.

periodMillis

number

हर बारकोड कितने समय तक मान्य है.

एक साथ कई बारकोड की वैल्यू अपडेट करना

RotatingBarcode ऑब्जेक्ट बनाने के बाद, हमारा सुझाव है कि आप हर दिन एक दिन के लिए barcodes अपलोड करें. ऐसा तब तक करें, जब तक उपयोगकर्ता के पास पास की समयसीमा खत्म न हो जाए. ऐसा करने के लिए, यहां दिए गए REST API एंडपॉइंट का इस्तेमाल किया जा सकता है.

तरीका: transitobject.uploadrotatingbarcodevalues

दिए गए ऑब्जेक्ट आईडी से रेफ़र किए गए ट्रांज़िट ऑब्जेक्ट में, बारकोड की बदलती वैल्यू अपलोड करता है.

एचटीटीपी अनुरोध

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

पाथ पैरामीटर

पैरामीटर ब्यौरा
resourceId

string

किसी ऑब्जेक्ट का यूनीक आइडेंटिफ़ायर.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से (जो 5 एमबी से ज़्यादा नहीं हो सकता) में, RotatingBarcodeValues का एक इंस्टेंस शामिल है.

तरीका: transitobject.downloadrotatingbarcodevalues

दिए गए ऑब्जेक्ट आईडी से रेफ़र किए गए ट्रांसपोर्ट ऑब्जेक्ट के लिए, बारकोड की बदलती वैल्यू डाउनलोड करता है. यह तब काम आता है, जब पार्टनर को नए बैच की पुष्टि करनी हो.

एचटीटीपी अनुरोध

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

पाथ पैरामीटर

पैरामीटर ब्यौरा
resourceId

string

किसी ऑब्जेक्ट का यूनीक आइडेंटिफ़ायर.

फ़ॉलबैक के तरीके

ध्यान दें कि अगर किसी मान्य RotatingBarcode में दिखाने के लिए कोई मान्य बारकोड नहीं है (उन्हें अब तक अपलोड नहीं किया गया है या सभी मौजूदा बारकोड का इस्तेमाल किया जा चुका है), तो उपयोगकर्ता को गड़बड़ी का मैसेज दिखेगा.