# गूगल वॉलेट एपीआई

Google Wallet API आपको प्रोग्रामेटिक रूप से [Google Wallet पास](/hi/product/messaging-channels/google-wallet-passes/) बनाने, अपडेट करने, सूचीबद्ध करने और प्रबंधित करने की सुविधा देता है। यह कंट्रोल पैनल में [पास बिल्डर](/hi/product/messaging-channels/google-wallet-passes/pass-builder/) द्वारा किए जाने वाले समान कार्यों का समर्थन करता है।

इसका उपयोग लॉयल्टी कार्ड, ऑफ़र, गिफ़्ट कार्ड, इवेंट टिकट, फ़्लाइट बोर्डिंग पास, ट्रांज़िट टिकट और जेनेरिक पास जारी करने और आपके उपयोगकर्ताओं के डिवाइस पर पहले से सहेजे गए पास पर लाइव अपडेट पुश करने के लिए करें।

<Aside type="note" title="पूर्व-आवश्यकता: गूगल वॉलेट कॉन्फ़िगरेशन">
किसी एप्लिकेशन के लिए पास बनाने से पहले, Pushwoosh कंट्रोल पैनल में उस एप्लिकेशन के लिए एक Google Wallet **Issuer ID** और **सर्विस अकाउंट की** कॉन्फ़िगर किया जाना चाहिए। उनके बिना, `create` और `update` अनुरोध विफल हो जाते हैं। [Android के लिए Google Wallet पास कॉन्फ़िगरेशन](/hi/developer/first-steps/connect-messaging-services/android-configuration/android-google-wallet-configuration/) देखें।
</Aside>


## बेस यूआरएल

```
https://apple-passkit.svc-nue.pushwoosh.com
```

सभी एंडपॉइंट HTTPS पर परोसे जाते हैं। अनुरोध और प्रतिक्रियाएँ `application/json` का उपयोग करती हैं जब तक कि अन्यथा उल्लेख न किया गया हो।

## प्रमाणीकरण

प्रत्येक अनुरोध में आपके [Pushwoosh API एक्सेस टोकन](/hi/developer/api-reference/api-access-token/) के साथ एक `Authorization` हेडर शामिल होना चाहिए:

```
Authorization: Token <api-token>
```

टोकन का स्वामी खाता `applicationCode` द्वारा संदर्भित एप्लिकेशन का स्वामी होना चाहिए। किसी अन्य खाते से संबंधित एप्लिकेशन के लिए अनुरोध `403 Forbidden` लौटाता है।

## परंपराएँ

*   **फ़ील्ड नेमिंग:** JSON फ़ील्ड `lowerCamelCase` का उपयोग करते हैं (उदाहरण के लिए, `serialNumber`, `hexBackgroundColor`, `logoUrl`)।
*   **अनपॉप्युलेटेड फ़ील्ड:** प्रतिक्रियाओं में सभी फ़ील्ड शामिल होते हैं, भले ही वे खाली या शून्य-मूल्य वाले हों।
*   **पहचान:** `serialNumber` हमेशा सर्वर द्वारा असाइन किया जाता है जब एक पास बनाया जाता है। बनाने पर आपके द्वारा भेजा गया कोई भी मान अनदेखा कर दिया जाता है। पूर्ण Google Wallet ऑब्जेक्ट आईडी `{issuerId}.{serialNumber}` है।
*   **छवियाँ:** `logoUrl` और `heroImageUrl` उन छवियों के लिए सार्वजनिक HTTPS URL हैं जिन्हें Google फ़ेच करता है—अपलोड की गई फ़ाइलें नहीं।
*   **पास स्टाइल:** पास पर ठीक एक स्टाइल ऑब्जेक्ट (`generic`, `offer`, `loyalty`, `eventTicket`, `giftCard`, `flight`, या `transit`) सेट होना चाहिए। निर्माण के बाद स्टाइल नहीं बदल सकता है।

### त्रुटि प्रतिक्रियाएँ

| HTTP स्थिति | अर्थ |
| :---- | :---- |
| `400 Bad Request` | अमान्य तर्क—एक आवश्यक फ़ील्ड गुम या विकृत है। |
| `401 Unauthorized` | गुम या अमान्य `Authorization` हेडर। |
| `403 Forbidden` | एप्लिकेशन कॉलर के खाते से संबंधित नहीं है। |
| `404 Not Found` | पास, टेम्प्लेट, या एप्लिकेशन नहीं मिला। |
| `503 Service Unavailable` | सेवा क्षमता पर है या अस्थायी रूप से अनुपलब्ध है। |

## एंडपॉइंट्स

| विधि | पथ | विवरण |
| :---- | :---- | :---- |
| `POST` | `/api/google/pass/validate` | एक पास कॉन्फ़िगरेशन को मान्य करें |
| `POST` | `/api/google/pass/create` | एक नया पास ऑब्जेक्ट बनाएँ और एक सेव लिंक प्राप्त करें |
| `POST` | `/api/google/pass/update/{serialNumber}` | एक मौजूदा पास को अपडेट करें; Google परिवर्तन वितरित करता है |
| `GET` | `/api/google/pass/{applicationCode}/{serialNumber}/save-link` | एक "Google Wallet में जोड़ें" सेव लिंक प्राप्त करें |
| `GET` | `/api/google/pass/{applicationCode}/{serialNumber}` | एक एकल पास प्राप्त करें |
| `GET` | `/api/google/passes` | एक एप्लिकेशन के लिए सभी पास सूचीबद्ध करें |
| `POST` | `/api/google/pass/{applicationCode}/{serialNumber}/state` | एक पास को सक्रिय या अमान्य करें |
| `DELETE` | `/api/google/pass/{applicationCode}/{serialNumber}` | एक पास हटाएँ |
| `GET` | `/api/google/config` | एप्लिकेशन का Google Wallet कॉन्फ़िगरेशन प्राप्त करें |
| `GET` | `/api/google/templates` | उपलब्ध पास टेम्प्लेट सूचीबद्ध करें |
| `GET` | `/api/google/templates/{filename}` | एक एकल टेम्प्लेट प्राप्त करें |

## पास बनाएँ

Google Wallet में पास क्लास और ऑब्जेक्ट बनाता है, फिर सर्वर-असाइन किया गया सीरियल नंबर, पूर्ण ऑब्जेक्ट आईडी, और एक "Google Wallet में जोड़ें" सेव लिंक लौटाता है।

`POST` `/api/google/pass/create`

### रिक्वेस्ट बॉडी

| पैरामीटर | प्रकार | आवश्यक | विवरण |
| :---- | :---- | :---- | :---- |
| `pass` | ऑब्जेक्ट | हाँ | पास का वर्णन करने वाला [पास ऑब्जेक्ट](#pass-object)। ठीक एक स्टाइल सेट होना चाहिए। |
| `userId` | स्ट्रिंग | हाँ | [Pushwoosh User ID](/hi/developer/api-reference/api-identifiers/#user-id) जिसे पास जारी किया गया है। |
| `applicationCode` | स्ट्रिंग | हाँ | [Pushwoosh एप्लिकेशन कोड](/hi/developer/api-reference/api-identifiers/#application-code)। |

##### अनुरोध उदाहरण

```json
{
  "applicationCode": "XXXXX-XXXXX",
  "userId": "user-123",
  "pass": {
    "hexBackgroundColor": "#3c414c",
    "logoUrl": "https://cdn.acme.com/logo.png",
    "loyalty": {
      "programName": "Acme Rewards",
      "accountName": "Jane Doe",
      "accountId": "1234567890",
      "pointsLabel": "Points",
      "pointsBalance": "1200",
      "rewardsTier": "Gold"
    },
    "barcode": {
      "format": "QR_CODE",
      "value": "1234567890"
    }
  }
}
```

### प्रतिक्रिया

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `serialNumber` | स्ट्रिंग | बनाए गए पास की सर्वर-असाइन की गई अद्वितीय पहचान। |
| `objectId` | स्ट्रिंग | पूर्ण Google Wallet ऑब्जेक्ट आईडी: `{issuerId}.{serialNumber}`। |
| `saveLink` | स्ट्रिंग | "Google Wallet में जोड़ें" लिंक: `https://pay.google.com/gp/v/save/{jwt}`। |
| `message` | स्ट्रिंग | परिणाम संदेश। |

##### प्रतिक्रिया उदाहरण

```json
{
  "serialNumber": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
  "objectId": "XXXXXXXXXXXXXXX.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
  "saveLink": "https://pay.google.com/gp/v/save/{jwt}",
  "message": "Pass created successfully"
}
```

## पास को मान्य करें

एक पास कॉन्फ़िगरेशन को Google की आवश्यकताओं के विरुद्ध जाँचता है बिना उसे बनाए। बनाने को कॉल करने से पहले उपयोगी है।

`POST` `/api/google/pass/validate`

### रिक्वेस्ट बॉडी

| पैरामीटर | प्रकार | आवश्यक | विवरण |
| :---- | :---- | :---- | :---- |
| `pass` | ऑब्जेक्ट | हाँ | मान्य करने के लिए [पास ऑब्जेक्ट](#pass-object)। |

### प्रतिक्रिया

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `valid` | बूलियन | क्या पास सत्यापन पास करता है। |
| `errors` | स्ट्रिंग्स की ऐरे | अवरुद्ध करने वाली समस्याएँ जिन्हें ठीक किया जाना चाहिए। |
| `warnings` | स्ट्रिंग्स की ऐरे | गैर-अवरुद्ध सलाह। |

## पास अपडेट करें

पास ऑब्जेक्ट को नई सामग्री के साथ पैच करता है। फिर Google अपडेटेड संस्करण को हर उस डिवाइस पर वितरित करता है जिसने पास सहेजा है। वैकल्पिक रूप से अपडेट के साथ एक Android सूचना भेजता है।

`POST` `/api/google/pass/update/{serialNumber}`

### पथ पैरामीटर

| पैरामीटर | प्रकार | विवरण |
| :---- | :---- | :---- |
| `serialNumber` | स्ट्रिंग | पास बनाए जाने पर लौटाया गया सीरियल नंबर। |

### रिक्वेस्ट बॉडी

| पैरामीटर | प्रकार | आवश्यक | विवरण |
| :---- | :---- | :---- | :---- |
| `updates` | ऑब्जेक्ट | हाँ | नई सामग्री के साथ [पास ऑब्जेक्ट](#pass-object)। स्टाइल नहीं बदल सकता। |
| `applicationCode` | स्ट्रिंग | हाँ | [Pushwoosh एप्लिकेशन कोड](/hi/developer/api-reference/api-identifiers/#application-code)। |
| `notifyMessage` | स्ट्रिंग | नहीं | जब गैर-खाली हो, तो इस टेक्स्ट के साथ एक Android सूचना उन सभी को पुश करें जिन्होंने पास सहेजा है। खाली का मतलब एक मूक अपडेट है। |
| `notifyOnUpdate` | बूलियन | नहीं | एक फ़ील्ड-अपडेट सूचना का अनुरोध करें। केवल `loyalty`, `eventTicket`, और `flight` पास वास्तव में सूचित करते हैं; अन्य स्टाइल ध्वज को स्वीकार करते हैं लेकिन कभी एक नहीं भेजते हैं। सूचनाएँ केवल एक प्रासंगिक प्रारंभ समय के 3 घंटे के भीतर फायर होती हैं, और Google उन्हें प्रति पास प्रति 24 घंटे में 3 सूचनाओं तक सीमित करता है। |

<Aside type="note" title="अपडेट पर सूचित करने के दो तरीके">
`notifyMessage` उन सभी को एक कस्टम Android सूचना भेजता है जिन्होंने पास सहेजा है और किसी भी पास स्टाइल के लिए काम करता है। `notifyOnUpdate` Google से अपनी स्वयं की फ़ील्ड-अपडेट सूचना भेजने के लिए कहता है, जो केवल `loyalty`, `eventTicket`, और `flight` पास के लिए फायर होती है।
</Aside>

### प्रतिक्रिया

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `success` | बूलियन | क्या अपडेट सफल हुआ। |
| `message` | स्ट्रिंग | परिणाम संदेश। |

## सेव लिंक प्राप्त करें

पहले से बनाए गए पास के लिए "Google Wallet में जोड़ें" सेव लिंक लौटाता है। पास ऑब्जेक्ट पहले से मौजूद होना चाहिए ([पास बनाएँ](#create-a-pass) के माध्यम से बनाया गया)।

`GET` `/api/google/pass/{applicationCode}/{serialNumber}/save-link`

### प्रतिक्रिया

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `saveLink` | स्ट्रिंग | `https://pay.google.com/gp/v/save/{jwt}`। |

<Aside type="tip" title="लिंक साझा करें या इसे QR कोड के रूप में प्रस्तुत करें">
`saveLink` को "Google Wallet में जोड़ें" बटन के पीछे रखें, या इसे किसी भी QR लाइब्रेरी के साथ QR कोड के रूप में प्रस्तुत करें। जब कोई उपयोगकर्ता इसे खोलता है, तो Google उन्हें पास सहेजने के लिए प्रेरित करता है और उनके डिवाइस को अपडेट के लिए पंजीकृत करता है।
</Aside>

## पास प्राप्त करें

एक एकल संग्रहीत पास लौटाता है, जिसमें उसका पूर्ण पास ऑब्जेक्ट शामिल है।

`GET` `/api/google/pass/{applicationCode}/{serialNumber}`

### प्रतिक्रिया

`{ "pass": { ... } }` लौटाता है, एक एकल [पास रिकॉर्ड ऑब्जेक्ट](#pass-record-object)।

## पास की सूची बनाएँ

एक एप्लिकेशन के लिए संग्रहीत पास की एक पृष्ठित, क्रमबद्ध सूची लौटाता है।

`GET` `/api/google/passes?applicationCode=XXXXX-XXXXX&page=0&perPage=20`

### क्वेरी पैरामीटर

| पैरामीटर | प्रकार | आवश्यक | विवरण |
| :---- | :---- | :---- | :---- |
| `applicationCode` | स्ट्रिंग | हाँ | [Pushwoosh एप्लिकेशन कोड](/hi/developer/api-reference/api-identifiers/#application-code)। |
| `orderBy` | स्ट्रिंग | नहीं | सॉर्ट फ़ील्ड: `UPDATED` (डिफ़ॉल्ट) या `CREATED`। |
| `orderDirection` | स्ट्रिंग | नहीं | सॉर्ट दिशा: `DESC` (डिफ़ॉल्ट, सबसे नया पहले) या `ASC`। |
| `page` | पूर्णांक | नहीं | शून्य-आधारित पृष्ठ सूचकांक। डिफ़ॉल्ट `0` है। |
| `perPage` | पूर्णांक | नहीं | पृष्ठ आकार। `0` या छोड़ा गया सर्वर डिफ़ॉल्ट का उपयोग करता है। |

### प्रतिक्रिया

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `passes` | ऑब्जेक्ट्स की ऐरे | [पास रिकॉर्ड्स](#pass-record-object) का वर्तमान पृष्ठ। |
| `page` | पूर्णांक | लौटाया गया पृष्ठ सूचकांक। |
| `perPage` | पूर्णांक | इस प्रतिक्रिया के लिए उपयोग किया गया पृष्ठ आकार। |
| `total` | पूर्णांक | सभी पृष्ठों पर एप्लिकेशन के लिए पास की कुल संख्या। |

## पास की स्थिति सेट करें

एक पास को सक्रिय या अमान्य करता है। एक अमान्य (निष्क्रिय) पास उपयोगकर्ता के Google Wallet में **समाप्त पास** अनुभाग में चला जाता है; रिकॉर्ड रखा जाता है ताकि इसे फिर से सक्रिय किया जा सके।

`POST` `/api/google/pass/{applicationCode}/{serialNumber}/state`

### रिक्वेस्ट बॉडी

| पैरामीटर | प्रकार | आवश्यक | विवरण |
| :---- | :---- | :---- | :---- |
| `active` | बूलियन | हाँ | `true` पास को `ACTIVE` पर सेट करता है; `false` इसे अमान्य करता है (`INACTIVE`)। |

### प्रतिक्रिया

सफलता पर एक खाली ऑब्जेक्ट `{}` लौटाता है।

## पास हटाएँ

Google में पास को अमान्य करता है और Pushwoosh में उसके संग्रहीत रिकॉर्ड को हटा देता है।

`DELETE` `/api/google/pass/{applicationCode}/{serialNumber}`

<Aside type="caution" title="एक सहेजा गया पास बलपूर्वक नहीं हटाया जा सकता">
Google किसी उपयोगकर्ता के डिवाइस पर पहले से सहेजे गए पास को हटाने की अनुमति नहीं देता है। हटाने से पास अमान्य हो जाता है (यह **समाप्त पास** में चला जाता है) और Pushwoosh रिकॉर्ड हटा दिया जाता है।
</Aside>

### प्रतिक्रिया

सफलता पर एक खाली ऑब्जेक्ट `{}` लौटाता है।

## कॉन्फ़िगरेशन प्राप्त करें

एक एप्लिकेशन के लिए Google Wallet कॉन्फ़िगरेशन स्थिति लौटाता है।

`GET` `/api/google/config?applicationCode=XXXXX-XXXXX`

### प्रतिक्रिया

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `hasServiceAccount` | बूलियन | क्या एक सर्विस अकाउंट की कॉन्फ़िगर किया गया है। |
| `issuerId` | स्ट्रिंग | कॉन्फ़िगर किया गया [Google Pay & Wallet Console Issuer ID](/hi/developer/first-steps/connect-messaging-services/android-configuration/android-google-wallet-configuration/#create-the-issuer-account)। |
| `serviceAccountEmail` | स्ट्रिंग | कॉन्फ़िगर किए गए [सर्विस अकाउंट](/hi/developer/first-steps/connect-messaging-services/android-configuration/android-google-wallet-configuration/#create-the-service-account-key) का `client_email`। |

## टेम्प्लेट्स

उपलब्ध उदाहरण पास टेम्प्लेट सूचीबद्ध करें, या एक को [पास ऑब्जेक्ट](#pass-object) के रूप में प्राप्त करें जिसे आप एक शुरुआती बिंदु के रूप में उपयोग कर सकते हैं।

`GET` `/api/google/templates` — `{ "templates": [ { "filename", "name", "description", "style" } ] }` लौटाता है।

`GET` `/api/google/templates/{filename}` — `{ "template": { ...pass object... } }` लौटाता है।

## ऑब्जेक्ट संदर्भ

### पास ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `serialNumber` | स्ट्रिंग | सर्वर द्वारा बनाने पर असाइन किया गया; पास की पहचान करता है। |
| `generic` / `offer` / `loyalty` / `eventTicket` / `giftCard` / `flight` / `transit` | ऑब्जेक्ट | पास स्टाइल। **ठीक एक** सेट होना चाहिए। नीचे स्टाइल ऑब्जेक्ट देखें। |
| `hexBackgroundColor` | स्ट्रिंग | कार्ड पृष्ठभूमि रंग, `#rrggbb`। |
| `logoUrl` | स्ट्रिंग | लोगो छवि का सार्वजनिक HTTPS URL। लॉयल्टी और ट्रांज़िट के लिए आवश्यक। |
| `heroImageUrl` | स्ट्रिंग | एक विस्तृत बैनर छवि का सार्वजनिक HTTPS URL। |
| `barcode` | ऑब्जेक्ट | पास पर दिखाया गया [बारकोड](#barcode-object)। |
| `textModules` | ऐरे | विवरण दृश्य में दिखाए गए [टेक्स्ट मॉड्यूल](#text-module-object)। |
| `links` | ऐरे | विवरण दृश्य में दिखाए गए [लिंक मॉड्यूल](#link-module-object)। |
| `expirationTime` | स्ट्रिंग | ISO 8601 समय जब Google पास को स्वतः समाप्त कर देता है। खाली का मतलब कोई समाप्ति नहीं है। |
| `appLink` | ऑब्जेक्ट | [ऐप लिंक](#app-link-object): पास के सामने एक CTA बटन। |
| `locations` | ऐरे | [स्थान](#location-object) जो एक जियोफेंस्ड सूचना को ट्रिगर करते हैं (अधिकतम 10)। |
| `holdersPolicy` | स्ट्रिंग | पास कौन सहेज सकता है: `ONE_USER_ALL_DEVICES` (डिफ़ॉल्ट), `ONE_USER_ONE_DEVICE`, या `MULTIPLE_HOLDERS`। |

### जेनेरिक ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `cardTitle` | स्ट्रिंग | आवश्यक। कार्ड के शीर्ष पर जारीकर्ता/कार्यक्रम का नाम। |
| `header` | स्ट्रिंग | आवश्यक। कार्ड का मुख्य शीर्षक। |
| `subheader` | स्ट्रिंग | द्वितीयक शीर्षक। |
| `cardFields` | ऐरे | सामने पिन किए गए 6 तक [टेक्स्ट मॉड्यूल](#text-module-object) (3 पंक्तियों में 2 तक)। |

### ऑफ़र ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `title` | स्ट्रिंग | आवश्यक। उदाहरण के लिए, `सब कुछ पर 20% की छूट`। |
| `provider` | स्ट्रिंग | आवश्यक। व्यापारी का नाम। |
| `details` | स्ट्रिंग | ऑफ़र विवरण। |
| `finePrint` | स्ट्रिंग | नियम और शर्तें। |
| `redemptionChannel` | स्ट्रिंग | `ONLINE`, `INSTORE`, `BOTH` (डिफ़ॉल्ट), या `TEMPORARY_PRICE_REDUCTION`। |
| `issuerName` | स्ट्रिंग | Google के "द्वारा जारी" सतहों पर दिखाया गया; डिफ़ॉल्ट `provider` है। |

### लॉयल्टी ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `programName` | स्ट्रिंग | आवश्यक। पास पर `logoUrl` की आवश्यकता है। |
| `accountName` | स्ट्रिंग | कार्ड पर दिखाया गया सदस्य का नाम। |
| `accountId` | स्ट्रिंग | कार्ड पर दिखाया गया सदस्य आईडी। |
| `pointsLabel` | स्ट्रिंग | उदाहरण के लिए, `पॉइंट्स`। केवल शेष राशि के साथ दिखाया गया। |
| `pointsBalance` | स्ट्रिंग | पॉइंट्स शेष राशि। |
| `rewardsTier` | स्ट्रिंग | उदाहरण के लिए, `गोल्ड`। |
| `rewardsTierLabel` | स्ट्रिंग | टियर के बगल में लेबल; डिफ़ॉल्ट `टियर` है। |
| `issuerName` | स्ट्रिंग | डिफ़ॉल्ट `programName` है। |

### इवेंट टिकट ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `eventName` | स्ट्रिंग | आवश्यक। |
| `venueName` / `venueAddress` | स्ट्रिंग | स्थल विवरण। |
| `startDateTime` / `endDateTime` | स्ट्रिंग | ऑफ़सेट के साथ ISO 8601 (उदाहरण के लिए, `2026-07-01T19:30:00+02:00`)। |
| `ticketHolderName` / `ticketNumber` / `ticketType` | स्ट्रिंग | धारक और टिकट विवरण। |
| `section` / `row` / `seat` / `gate` | स्ट्रिंग | बैठने का विवरण। |
| `issuerName` | स्ट्रिंग | डिफ़ॉल्ट `eventName` है। |

### गिफ़्ट कार्ड ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `merchantName` | स्ट्रिंग | आवश्यक। |
| `cardNumber` | स्ट्रिंग | आवश्यक। |
| `pin` | स्ट्रिंग | कार्ड पिन। |
| `balance` | स्ट्रिंग | दशमलव राशि, उदाहरण के लिए `25.00`। `balanceCurrency` की आवश्यकता है। |
| `balanceCurrency` | स्ट्रिंग | ISO 4217 मुद्रा कोड, उदाहरण के लिए `USD`। |
| `issuerName` | स्ट्रिंग | डिफ़ॉल्ट `merchantName` है। |

### फ़्लाइट ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `carrierIataCode` | स्ट्रिंग | आवश्यक। 2-अक्षर IATA कोड, उदाहरण के लिए `LX`। |
| `airlineName` | स्ट्रिंग | एयरलाइन प्रदर्शन नाम। |
| `flightNumber` | स्ट्रिंग | आवश्यक। केवल अंक, उदाहरण के लिए `113`। |
| `originAirportCode` / `destinationAirportCode` | स्ट्रिंग | आवश्यक। 3-अक्षर IATA कोड। |
| `originTerminal` / `originGate` / `destinationTerminal` | स्ट्रिंग | टर्मिनल और गेट विवरण। |
| `departureDateTime` | स्ट्रिंग | आवश्यक। मूल हवाई अड्डे का **स्थानीय** समय, ISO 8601 **बिना** ऑफ़सेट के (उदाहरण के लिए, `2026-09-01T06:30:00`)। |
| `boardingTime` / `arrivalDateTime` | स्ट्रिंग | समान स्थानीय प्रारूप। `arrivalDateTime` गंतव्य स्थानीय समय है। |
| `passengerName` | स्ट्रिंग | आवश्यक। |
| `confirmationCode` / `seatNumber` / `seatClass` / `boardingGroup` | स्ट्रिंग | यात्री विवरण। |
| `issuerName` | स्ट्रिंग | डिफ़ॉल्ट `airlineName` है, फिर वाहक कोड। |

### ट्रांज़िट ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `transitType` | स्ट्रिंग | आवश्यक। `BUS`, `RAIL`, `TRAM`, `FERRY`, या `OTHER`। |
| `transitOperatorName` | स्ट्रिंग | आवश्यक। पास पर `logoUrl` की आवश्यकता है। |
| `passengerName` | स्ट्रिंग | आवश्यक। |
| `ticketNumber` | स्ट्रिंग | टिकट नंबर। |
| `tripType` | स्ट्रिंग | `ONE_WAY` (डिफ़ॉल्ट) या `ROUND_TRIP`। |
| `legs` | ऐरे | यात्रा क्रम में एक या अधिक [ट्रांज़िट लेग्स](#transit-leg-object)। |
| `issuerName` | स्ट्रिंग | डिफ़ॉल्ट `transitOperatorName` है। |

### ट्रांज़िट लेग ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `originName` / `destinationName` | स्ट्रिंग | आवश्यक। |
| `departureDateTime` / `arrivalDateTime` | स्ट्रिंग | ISO 8601; ऑफ़सेट वैकल्पिक (छोड़ने पर स्थानीय समय)। |
| `platform` / `coach` / `seat` | स्ट्रिंग | बोर्डिंग विवरण। |
| `fareName` | स्ट्रिंग | उदाहरण के लिए, `एनीटाइम सिंगल`। |

### बारकोड ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `format` | स्ट्रिंग | `QR_CODE`, `PDF_417`, `AZTEC`, `CODE_128`, `EAN_13`, और अन्य Google Wallet बारकोड प्रकार। |
| `value` | स्ट्रिंग | बारकोड में एन्कोड किया गया डेटा। |
| `altText` | स्ट्रिंग | बारकोड के नीचे दिखाया गया टेक्स्ट। |

### टेक्स्ट मॉड्यूल ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `id` | स्ट्रिंग | मॉड्यूल का पहचानकर्ता। |
| `header` | स्ट्रिंग | मॉड्यूल शीर्षक। |
| `body` | स्ट्रिंग | मॉड्यूल टेक्स्ट। |

### लिंक मॉड्यूल ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `uri` | स्ट्रिंग | बाहरी लिंक URL। |
| `description` | स्ट्रिंग | विवरण दृश्य में दिखाया गया लिंक लेबल। |

### ऐप लिंक ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `uri` | स्ट्रिंग | वेब URL या डीप-लिंक लक्ष्य URI। |
| `androidPackageName` | स्ट्रिंग | वैकल्पिक। सेट होने पर, Android ऐप खोलता है। |
| `description` | स्ट्रिंग | लक्ष्य URI का आंतरिक विवरण (एक दृश्यमान बटन लेबल नहीं); डिफ़ॉल्ट URI है। |

### स्थान ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `latitude` | संख्या | `-90.0` से `+90.0`। |
| `longitude` | संख्या | `-180.0` से `+180.0`। |

### पास रिकॉर्ड ऑब्जेक्ट

सूची/प्राप्त एंडपॉइंट्स द्वारा लौटाया गया।

| फ़ील्ड | प्रकार | विवरण |
| :---- | :---- | :---- |
| `serialNumber` | स्ट्रिंग | पास सीरियल नंबर। |
| `objectId` | स्ट्रिंग | पूर्ण Google Wallet ऑब्जेक्ट आईडी `{issuerId}.{serialNumber}`। |
| `cardTitle` | स्ट्रिंग | पास के लिए प्रदर्शन शीर्षक/हेडर। |
| `header` | स्ट्रिंग | द्वितीयक प्रदर्शन शीर्षक। |
| `userId` | स्ट्रिंग | [Pushwoosh User ID](/hi/developer/api-reference/api-identifiers/#user-id) जिसे पास जारी किया गया था। |
| `createdAt` / `updatedAt` | स्ट्रिंग | निर्माण और अंतिम-अपडेट टाइमस्टैम्प। |
| `state` | स्ट्रिंग | `ACTIVE` या `INACTIVE`। |
| `style` | स्ट्रिंग | `generic`, `offer`, `loyalty`, `eventTicket`, `giftCard`, `flight`, या `transit`। |
| `pass` | ऑब्जेक्ट | संपादन के लिए पूर्ण [पास ऑब्जेक्ट](#pass-object)। |