खास जानकारी

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

पार्टनर का जनरेट किया गया रोटेटिंग बारकोड एपीआई

पार्टनर के जनरेट किए गए रोटेटिंग बारकोड, एक ही RottingBarcode ऑब्जेक्ट का इस्तेमाल करके बनाए जाते हैं. सिर्फ़ टाइप ज़रूरी है. हालांकि, हमारा सुझाव है कि आप बारकोड का एक छोटा, स्टार्टर सेट (~10 मिनट की कीमत वाला) बनाएं और उसे 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

हर बारकोड के मान्य रहने की अवधि.

बारकोड की वैल्यू अपडेट करने वाले बैच

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

तरीका: transitobject.uploadroatebarcodevalues

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

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

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

पाथ के पैरामीटर

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

string

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

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

अनुरोध के मुख्य हिस्से (जिसका साइज़ पांच एमबी से ज़्यादा नहीं हो सकता) में RotatingBarcodeValues का एक इंस्टेंस मौजूद होता है.

तरीका: ट्रांज़िटobject.downloadroatebarcodevalues

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

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

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

पाथ के पैरामीटर

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

string

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

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

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