Google Wallet Passes API की मदद से, पार्टनर Google Wallet में रोटेट होने वाले बारकोड सेव कर सकते हैं. ये बारकोड सिर्फ़ कुछ समय के लिए मान्य होते हैं. इससे, बारकोड का स्क्रीनशॉट लेने के जोखिम को कम करने के लिए, अतिरिक्त सुरक्षा मिलती है. डिवाइस पर, आरएफ़सी 6238 के मुताबिक बारकोड जनरेट किए जाते हैं. साथ ही, पार्टनर से सीक्रेट कोड लिया जाता है. हालांकि, अगर कोई पार्टनर खुद बारकोड जनरेट करना चाहता है, तो Google एक ऐसा एपीआई उपलब्ध कराता है जिसकी मदद से, बारकोड को Google पर एक साथ अपलोड किया जा सकता है. इसके बाद, ये बारकोड उपयोगकर्ताओं के फ़ोन पर भेज दिए जाएंगे. वहां ये बारकोड, घूमते हुए बारकोड की तरह काम करेंगे और कुछ समय के लिए दिखेंगे. हम इस सलूशन को, पार्टनर से जनरेट किए गए बारकोड के तौर पर देखते हैं.
पार्टनर से जनरेट किया गया रोटेट होने वाला बारकोड API
पार्टनर से जनरेट किए गए रोटेटिंग बारकोड, उसी RotatingBarcode ऑब्जेक्ट का इस्तेमाल करके बनाए जाते हैं. सिर्फ़ टाइप की जानकारी देना ज़रूरी है. हालांकि, हमारा सुझाव है कि आप बारकोड का एक छोटा, शुरुआती सेट बनाएं और उसे initialRotatingBarcodeValues
में भेजें. यह पक्का करना पार्टनर की ज़िम्मेदारी है कि उपयोगकर्ता के लिए, हमेशा मान्य बारकोड तैयार हो. साथ ही, initialRotatingBarcodeValues
की मदद से, अगले बैच अपलोड कॉल को एसिंक्रोनस किया जा सकता है.
rotatingBarcode { initialRotatingBarcodeValues: object (RotatingBarcodeValues), type: enum (BarcodeType), }
फ़ील्ड | ब्यौरा |
---|---|
initialRotatingBarcodeValues |
बारकोड में कोड में बदली जाने वाली वैल्यू. कम से कम एक वैल्यू देना ज़रूरी है. इन शुरुआती बारकोड का मकसद, उपयोगकर्ता के पास कार्ड मिलने और बैच अपलोड के लिए कॉल करने के बीच के अंतर को कम करना है. |
type |
ज़रूरी है. इस बारकोड का टाइप. स्वीकार की जा सकने वाली वैल्यू ये हैं:
|
फ़ील्ड | ब्यौरा |
---|---|
startDateTime |
वह तारीख/समय जब पहला बारकोड मान्य होगा. यह ISO 8601 के एक्सटेंडेड फ़ॉर्मैट में तारीख/समय है. इसमें ऑफ़सेट भी शामिल है. |
values[] |
बारकोड में कोड में बदली जाने वाली वैल्यू. कम से कम एक वैल्यू देना ज़रूरी है. वैल्यू की कोई तय सीमा नहीं है. हालांकि, ध्यान दें कि अनुरोध के मुख्य हिस्से का साइज़ 5 एमबी से ज़्यादा नहीं होना चाहिए. |
periodMillis |
हर बारकोड कितने समय तक मान्य है. |
एक साथ कई बारकोड की वैल्यू अपडेट करना
RotatingBarcode ऑब्जेक्ट बनाने के बाद, हमारा सुझाव है कि आप हर दिन एक दिन के लिए barcodes अपलोड करें. ऐसा तब तक करें, जब तक उपयोगकर्ता के पास पास की समयसीमा खत्म न हो जाए. ऐसा करने के लिए, यहां दिए गए REST API एंडपॉइंट का इस्तेमाल किया जा सकता है.
तरीका: transitobject.uploadrotatingbarcodevalues
दिए गए ऑब्जेक्ट आईडी से रेफ़र किए गए ट्रांज़िट ऑब्जेक्ट में, बारकोड की बदलती वैल्यू अपलोड करता है.
एचटीटीपी अनुरोध
POST
https://walletobjects.googleapis.com/upload/walletobjects/v1/transitObject/{resourc
eId}/uploadRotatingBarcodeValues
पाथ पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
resourceId |
किसी ऑब्जेक्ट का यूनीक आइडेंटिफ़ायर. |
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से (जो 5 एमबी से ज़्यादा नहीं हो सकता) में, RotatingBarcodeValues का एक इंस्टेंस शामिल है.
तरीका: transitobject.downloadrotatingbarcodevalues
दिए गए ऑब्जेक्ट आईडी से रेफ़र किए गए ट्रांसपोर्ट ऑब्जेक्ट के लिए, बारकोड की बदलती वैल्यू डाउनलोड करता है. यह तब काम आता है, जब पार्टनर को नए बैच की पुष्टि करनी हो.
एचटीटीपी अनुरोध
GET
https://walletobjects.googleapis.com/walletobjects/v1/transitObject/{resourceId}/do
wnloadRotatingBarcodeValues?alt=media
पाथ पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
resourceId |
किसी ऑब्जेक्ट का यूनीक आइडेंटिफ़ायर. |