Google Wallet Passes एपीआई की मदद से, पार्टनर बस, मेट्रो वगैरह के टिकट को चालू करने के लिए, एंडपॉइंट की जानकारी दे सकते हैं. चालू करने की ज़रूरत पड़ने पर, उपयोगकर्ता को “चालू करें” बटन दिखेगा. इस बटन पर टैप करने पर, बताए गए एंडपॉइंट पर कॉल किया जाएगा. इसके लिए, यहां दिए गए पैरामीटर इस्तेमाल किए जाएंगे. वापस लौटने से पहले, एंडपॉइंट को यह पक्का करना चाहिए कि पास में रिडीम करने की सही जानकारी (बारकोड या विज़ुअल जांच) उपलब्ध हो. इसके बाद, रिडीम करने की जानकारी दिखाने के लिए, उपयोगकर्ता के Wallet में मौजूद पास को अपडेट किया जाएगा. ध्यान दें कि चालू किए जाने से पहले, ऑफ़र रिडीम करने की कोई भी मौजूदा जानकारी नहीं दिखाई जाएगी.
ऐक्टिवेशन एपीआई
ऐक्टिवेशन एंडपॉइंट, एपीआई में ट्रांज़िट क्लास में मौजूद activationOptions
का इस्तेमाल करके बताया जाता है.
चालू ऐक्टिवेशन एंडपॉइंट को बनाए रखने की ज़िम्मेदारी पार्टनर की है, ताकि इंतज़ार का समय सही हो.
activationOptions: { activationUrl: string }
फ़ील्ड | ब्यौरा |
---|---|
activationUrl |
पार्टनर एंडपॉइंट का यूआरएल, जिसे चालू करने के अनुरोध के लिए कहा जाएगा. यूआरएल को एचटीटीपीएस पर होस्ट किया जाना चाहिए और robots.txt से ऐसा होना चाहिए कि यूआरएल पाथ को UserAgent:Google-Valuables से ऐक्सेस किया जा सके. |
चालू होने की स्थिति, activationStatus
फ़ील्ड का इस्तेमाल करके ऑब्जेक्ट पर सेव की जाती है.
मान्य स्थिति में NOT_ACTIVATED
और ACTIVATED
शामिल हैं. ऐक्टिवेशन
एंडपॉइंट को ऑब्जेक्ट को ACTIVATED
स्टेटस से अपडेट करना चाहिए. साथ ही, यह पक्का करना चाहिए कि
ऑब्जेक्ट में रिडीम करने की मान्य जानकारी हो, जैसे कि बारकोड या विज़ुअल जांच वाले पैरामीटर. डिवाइस पिन करने के लिए, deviceContext
फ़ील्ड का इस्तेमाल किया जा सकता है.
activationStatus: enum (ActivationStatus), deviceContext: { deviceToken: string }, hasLinkedDevice: boolean
फ़ील्ड | ब्यौरा |
---|---|
activationStatus |
इस ट्रांज़िट ऑब्जेक्ट के चालू होने की स्थिति. इस स्टेटस से, टिकट
की परफ़ॉर्मेंस बदल जाएगी और उपयोगकर्ता कार्रवाई कर पाएंगे. उदाहरण के लिए, अगर इसे स्वीकार की जाने वाली वैल्यू ये हैं:
|
deviceContext |
डिवाइस का वह कॉन्टेक्स्ट जिसके साथ ऑब्जेक्ट को जोड़ना है. अगर इस नीति को सेट किया जाता है, तो ऑफ़र रिडीम करने की जानकारी सिर्फ़ दिए गए डिवाइस पर ही वापस की जाएगी. |
hasLinkedDevice |
फ़िलहाल, यह ऑब्जेक्ट एक ही डिवाइस से जुड़ा है या नहीं. |
फ़ील्ड | ब्यौरा |
---|---|
deviceToken |
अगर इस नीति को सेट किया जाता है, तो ऑब्जेक्ट के चालू होने के बाद ही, ऑफ़र रिडीम करने की जानकारी दिए गए डिवाइस पर दिखेगी. किसी उपयोगकर्ता के डिवाइस को ट्रेस करने के लिए, इसे स्थायी आइडेंटिफ़ायर के तौर पर इस्तेमाल नहीं किया जा सकता. यह
एक ही डिवाइस के लिए अलग-अलग पास में या एक ही डिवाइस पर,
अलग-अलग चालू होने पर भी बदल सकता है. इसे सेट करते समय, कॉलर को चालू किए जा रहे ऑब्जेक्ट पर
ध्यान दें कि |
डिवाइस पिन किया जा रहा है
डिवाइस पिन करने की सुविधा एक ऐसी सुविधा है जिसकी मदद से उपयोगकर्ता, एक डिवाइस पर टिकट चालू कर सकता है और टिकट रिडीम करने की जानकारी सिर्फ़ उसी डिवाइस पर दिखा सकता है. यह ONE_USER_ONE_DEVICE
के multipleDevicesAndHoldersAllowedStatus
से अलग है, जो टिकट को सिर्फ़ एक डिवाइस पर दिखाने की अनुमति देता है. हमारा सुझाव है कि डिवाइस पिन करने की सुविधा के साथ, ONE_USER_ALL_DEVICES
स्थिति का इस्तेमाल करें.
चालू किए जाने से पहले, उपयोगकर्ता अपने किसी भी डिवाइस पर टिकट और 'चालू करें' बटन देख सकता है. जब पिन किया गया डिवाइस चालू हो जाएगा और किसी डिवाइस पर पिन हो जाएगा, तब वह ऑफ़र रिडीम करने की जानकारी दिखाएगा.
साथ ही, दूसरे डिवाइस पर 'चालू करें' बटन दिखेगा, ताकि लोग टिकट को किसी दूसरे
डिवाइस पर ले जा सकें. अगर टिकट को मूव करना ज़रूरी नहीं है, लेकिन किसी भी डिवाइस पर इसे चालू किया जा रहा है, तो
डिवाइस को पिन करने के बजाय, उसे ONE_USER_ONE_DEVICE
पर अपडेट किया जा सकता है.
डिवाइस को पिन करने की सुविधा लागू करने के लिए, ऑब्जेक्ट को ऐक्टिवेशन पैरामीटर से मिलने वाले deviceToken
फ़ील्ड के साथ अपडेट किया जाना चाहिए. साथ ही, उसी एपीआई कॉल में hasLinkedDevice
को 'सही' पर सेट करना चाहिए. अगर आप चाहें, तो
आने वाले समय में होने वाले एपीआई कॉल में hasLinkedDevice
को 'गलत है' पर सेट करके, टिकट को डिवाइस से अनलिंक किया जा सकता है.
ऐक्टिवेशन पैरामीटर
ऐक्टिवेशन एंडपॉइंट को किए जाने वाले अनुरोध में ये पैरामीटर शामिल होंगे.
JSON का उदाहरण:
{ classId: “123.classId”, objectIds: [ “123.objectId” ], expTimeMillis: 1669671940735, eventType: “activate”, nonce: “1c6fccce-6f66-11ed-a1eb-0242ac120002”, deviceContext: “6fba937a-6f6e-11ed-a1eb-0242ac120002” }
पहचानकर्ता | ब्यौरा |
---|---|
classId |
पूरी तरह क्वालिफ़ाइड क्लास आईडी. इस फ़ॉर्मैट का इस्तेमाल करता है: <issuer_id.class_id> |
objectIds |
ऑब्जेक्ट आईडी की पूरी तरह क्वालिफ़ाइड कलेक्शन, जो नीचे दिए गए फ़ॉर्मैट का इस्तेमाल करता है: <issuer_id.object_id> |
expTimeMillis |
EPOCH के बाद से, समयसीमा खत्म होने का समय, मिलीसेकंड में. समयसीमा खत्म होने के बाद, मैसेज को अमान्य माना जाना चाहिए. |
eventType |
हमेशा "activate" .
|
nonce |
डुप्लीकेट डिलीवरी को ट्रैक करने की ज़रूरत नहीं है. |
deviceContext |
Google, जनरेट किया गया एक यूनीक आईडी होता है. यह उस डिवाइस की जानकारी देता है जिस पर उपयोगकर्ता कार्रवाई कर रहा है. ऑब्जेक्ट को किसी डिवाइस से जोड़ने वाले अपडेट करते समय, इस आईडी का इस्तेमाल करना चाहिए. हो सकता है कि किसी डिवाइस से आने वाले समय में किए जाने वाले अनुरोधों के लिए यह आईडी हमेशा एक जैसा न रहे. |