सामग्री पर जाएं

एप्पल वॉलेट पासकिट एपीआई

PassKit Designer API आपको प्रोग्रामेटिक रूप से एप्पल वॉलेट पास बनाने, अपडेट करने, डाउनलोड करने और प्रबंधित करने की सुविधा देता है। यह कंट्रोल पैनल में पास बिल्डर द्वारा किए जाने वाले समान ऑपरेशनों का समर्थन करता है। इसका उपयोग लॉयल्टी कार्ड, कूपन, इवेंट टिकट, बोर्डिंग पास और स्टोर कार्ड जारी करने के लिए करें, और अपने उपयोगकर्ताओं के उपकरणों पर पहले से इंस्टॉल किए गए पास पर लाइव अपडेट पुश करने के लिए करें।

बेस यूआरएल

Anchor link to
https://apple-passkit.svc-nue.pushwoosh.com

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

प्रमाणीकरण

Anchor link to

प्रत्येक अनुरोध में आपके Pushwoosh API एक्सेस टोकन के साथ एक Authorization हेडर शामिल होना चाहिए:

Authorization: Token <api-token>

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

परंपराएं

Anchor link to
  • फील्ड नेमिंग: JSON फ़ील्ड lowerCamelCase का उपयोग करते हैं (उदाहरण के लिए, passTypeIdentifier, serialNumber, backgroundColor)।
  • अनपॉप्युलेटेड फ़ील्ड: प्रतिक्रियाओं में सभी फ़ील्ड शामिल होते हैं, भले ही वे खाली या शून्य-मूल्य वाले हों।
  • बाइनरी डेटा: bytes फ़ील्ड जैसे pkpassData और छवि data JSON में Base64-एन्कोडेड स्ट्रिंग्स हैं।
  • सीरियल नंबर: serialNumber हमेशा सर्वर द्वारा असाइन किया जाता है जब एक पास बनाया जाता है। बनाने पर आपके द्वारा भेजा गया कोई भी मान अनदेखा कर दिया जाता है; यह बाद के सभी ऑपरेशनों के लिए पास की पहचान करता है।

त्रुटि प्रतिक्रियाएं

Anchor link to

API आंतरिक स्थिति कोड को HTTP स्थिति कोड में मैप करता है:

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

एंडपॉइंट्स

Anchor link to
विधिपथविवरण
POST/api/pass/validateएक पास कॉन्फ़िगरेशन को मान्य करें
POST/api/pass/createएक नया .pkpass बनाएं
POST/api/pass/update/{serialNumber}एक मौजूदा पास को अपडेट करें और उपकरणों को सूचित करें
GET/api/passesएक एप्लिकेशन के लिए सभी पास सूचीबद्ध करें
GET/api/pass/{applicationCode}/{serialNumber}एक एकल पास प्राप्त करें
GET/api/pass/{applicationCode}/{serialNumber}/downloadएक मौजूदा पास का .pkpass डाउनलोड करें
DELETE/api/pass/{applicationCode}/{serialNumber}एक पास हटाएं
GET/api/pass/{serialNumber}/registrationsएक पास के लिए पंजीकृत उपकरणों को सूचीबद्ध करें
GET/api/configएप्लिकेशन का PassKit कॉन्फ़िगरेशन प्राप्त करें
GET/api/templatesउपलब्ध पास टेम्पलेट्स को सूचीबद्ध करें
GET/api/templates/{filename}एक एकल टेम्पलेट प्राप्त करें

एक पास बनाएं

Anchor link to

एक नया पास बनाता है, हस्ताक्षर करता है, और संग्रहीत करता है, फिर उसका सर्वर-असाइन किया गया सीरियल नंबर लौटाता है।

POST /api/pass/create

अनुरोध बॉडी

Anchor link to
पैरामीटरप्रकारआवश्यकविवरण
passऑब्जेक्टहाँपास का वर्णन करने वाला पास ऑब्जेक्ट
imagesऑब्जेक्ट्स का ऐरेनहींपास छवियां (आइकन, लोगो, आदि)। एक वैध पास के लिए icon और logo आवश्यक हैं।
userIdस्ट्रिंगहाँPushwoosh यूज़र आईडी जिसे पास जारी किया गया है।
applicationCodeस्ट्रिंगहाँPushwoosh एप्लिकेशन कोड
अनुरोध उदाहरण
Anchor link to
{
"applicationCode": "XXXXX-XXXXX",
"userId": "user-123",
"pass": {
"description": "Acme loyalty card",
"logoText": "Acme",
"backgroundColor": "rgb(60, 65, 76)",
"foregroundColor": "rgb(255, 255, 255)",
"labelColor": "rgb(255, 255, 255)",
"storeCard": {
"primaryFields": [
{ "key": "balance", "label": "BALANCE", "value": "1200 pts" }
],
"secondaryFields": [
{ "key": "member", "label": "MEMBER", "value": "Jane Doe" }
]
},
"barcodes": [
{
"format": "PKBarcodeFormatQR",
"message": "1234567890",
"messageEncoding": "iso-8859-1"
}
]
},
"images": [
{ "imageType": "icon", "data": "<base64>", "contentType": "image/png" },
{ "imageType": "logo", "data": "<base64>", "contentType": "image/png" }
]
}

प्रतिक्रिया

Anchor link to
फ़ील्डप्रकारविवरण
serialNumberस्ट्रिंगबनाए गए पास की सर्वर-असाइन की गई अद्वितीय पहचान। इसका उपयोग पास को लाने (एक पास प्राप्त करें) या .pkpass डाउनलोड करने (एक पास डाउनलोड करें) के लिए करें।
messageस्ट्रिंगपरिणाम संदेश।
प्रतिक्रिया उदाहरण
Anchor link to
{
"serialNumber": "a1b2c3d4-1234-5678-9abc-def012345678",
"message": "Pass created successfully"
}

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

Anchor link to

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

POST /api/pass/validate

अनुरोध बॉडी

Anchor link to
पैरामीटरप्रकारआवश्यकविवरण
passऑब्जेक्टहाँमान्य करने के लिए पास ऑब्जेक्ट

प्रतिक्रिया

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

एक पास को अपडेट करें

Anchor link to

पास को नई सामग्री के साथ पुन: उत्पन्न करता है, इसे फिर से हस्ताक्षर करता है, इसके अपडेट टैग को बढ़ाता है, और पास को पंजीकृत करने वाले प्रत्येक उपकरण को एक साइलेंट पुश नोटिफिकेशन भेजता है। iOS फिर पृष्ठभूमि में अद्यतन संस्करण को प्राप्त और इंस्टॉल करता है।

POST /api/pass/update/{serialNumber}

पथ पैरामीटर

Anchor link to
पैरामीटरप्रकारविवरण
serialNumberस्ट्रिंगपास बनाए जाने पर लौटाया गया सीरियल नंबर।

अनुरोध बॉडी

Anchor link to
पैरामीटरप्रकारआवश्यकविवरण
updatesऑब्जेक्टहाँनई सामग्री के साथ पूर्ण पास ऑब्जेक्ट
applicationCodeस्ट्रिंगहाँPushwoosh एप्लिकेशन कोड।

serialNumber (पथ से) और पास का प्रमाणीकरण टोकन सर्वर द्वारा संरक्षित किया जाता है, भले ही आप कुछ भी भेजें।

प्रतिक्रिया

Anchor link to
फ़ील्डप्रकारविवरण
successबूलियनक्या अपडेट सफल हुआ।
updateTagपूर्णांकनया अपडेट टैग (एक यूनिक्स टाइमस्टैम्प)।
messageस्ट्रिंगपरिणाम संदेश।

पास सूचीबद्ध करें

Anchor link to

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

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

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

Anchor link to
पैरामीटरप्रकारआवश्यकविवरण
applicationCodeस्ट्रिंगहाँPushwoosh एप्लिकेशन कोड।
orderByस्ट्रिंगनहींसॉर्ट फ़ील्ड: UPDATED (डिफ़ॉल्ट) या CREATED
orderDirectionस्ट्रिंगनहींसॉर्ट दिशा: DESC (डिफ़ॉल्ट, सबसे नया पहले) या ASC
pageपूर्णांकनहींशून्य-आधारित पृष्ठ सूचकांक। 0 पर डिफ़ॉल्ट।
perPageपूर्णांकनहींपृष्ठ आकार। 0 या छोड़ा गया सर्वर डिफ़ॉल्ट का उपयोग करता है।

प्रतिक्रिया

Anchor link to
फ़ील्डप्रकारविवरण
passesऑब्जेक्ट्स का ऐरेपास रिकॉर्ड्स का वर्तमान पृष्ठ।
pageपूर्णांकलौटाया गया पृष्ठ सूचकांक।
perPageपूर्णांकइस प्रतिक्रिया के लिए उपयोग किया गया पृष्ठ आकार।
totalपूर्णांकसभी पृष्ठों पर एप्लिकेशन के लिए पास की कुल संख्या।
प्रतिक्रिया उदाहरण
Anchor link to
{
"passes": [ /* pass records */ ],
"page": 0,
"perPage": 20,
"total": 137
}

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

Anchor link to

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

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

पथ पैरामीटर

Anchor link to
पैरामीटरप्रकारविवरण
applicationCodeस्ट्रिंगPushwoosh एप्लिकेशन कोड।
serialNumberस्ट्रिंगपास सीरियल नंबर।

प्रतिक्रिया

Anchor link to

{ "pass": { ... } } लौटाता है, एक एकल पास रिकॉर्ड

एक पास डाउनलोड करें

Anchor link to

एक मौजूदा पास की संग्रहीत .pkpass फ़ाइल लौटाता है।

GET /api/pass/{applicationCode}/{serialNumber}/download

प्रतिक्रिया

Anchor link to
फ़ील्डप्रकारविवरण
pkpassDataस्ट्रिंग (Base64).pkpass फ़ाइल।
filenameस्ट्रिंगसुझाया गया फ़ाइल नाम।

एक पास हटाएं

Anchor link to

एक पास रिकॉर्ड और उसकी संग्रहीत .pkpass फ़ाइल को हटाता है।

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

प्रतिक्रिया

Anchor link to
फ़ील्डप्रकारविवरण
successबूलियनक्या पास हटा दिया गया था।
messageस्ट्रिंगपरिणाम संदेश।

पास पंजीकरण प्राप्त करें

Anchor link to

उन उपकरणों को सूचीबद्ध करता है जिन्होंने पास जोड़ा है और अपडेट के लिए पंजीकृत हैं।

GET /api/pass/{serialNumber}/registrations?applicationCode=XXXXX-XXXXX

प्रतिक्रिया

Anchor link to

{ "registrations": [ ... ] } लौटाता है, जहां प्रत्येक आइटम में है:

फ़ील्डप्रकारविवरण
deviceLibraryIdentifierस्ट्रिंगएप्पल डिवाइस लाइब्रेरी पहचानकर्ता।
pushTokenस्ट्रिंगडिवाइस के लिए पास पुश टोकन।

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

Anchor link to

एक एप्लिकेशन के लिए उसके प्रमाणपत्र से हल किए गए PassKit कॉन्फ़िगरेशन को लौटाता है।

GET /api/config?applicationCode=XXXXX-XXXXX

प्रतिक्रिया

Anchor link to
फ़ील्डप्रकारविवरण
teamIdentifierस्ट्रिंगप्रमाणपत्र से एप्पल टीम आईडी।
passTypeIdentifierस्ट्रिंगप्रमाणपत्र से पास प्रकार आईडी।
organizationNameस्ट्रिंगप्रमाणपत्र से संगठन का नाम।
hasCertificateबूलियनक्या एक प्रमाणपत्र कॉन्फ़िगर किया गया है।
webServiceUrlस्ट्रिंगपास वेब सेवा का बेस यूआरएल। क्लाइंट /v1/passes/{passType}/{serial}?token={authToken} जोड़कर एक इंस्टॉल लिंक बनाते हैं।

टेम्पलेट्स

Anchor link to

उपलब्ध पास टेम्पलेट्स को सूचीबद्ध करें, या एक को पास ऑब्जेक्ट के रूप में प्राप्त करें जिसे आप एक शुरुआती बिंदु के रूप में उपयोग कर सकते हैं।

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

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

एक पास को क्यूआर कोड के रूप में साझा करें

Anchor link to

उपयोगकर्ताओं को एक क्यूआर कोड स्कैन करके (या एक लिंक पर टैप करके) एक पास जोड़ने देने के लिए, पास इंस्टॉल यूआरएल को एक क्यूआर कोड में एन्कोड करें। यूआरएल उन मानों से बनाया गया है जो आपको पहले से ही एपीआई से वापस मिलते हैं:

{webServiceUrl}/v1/passes/{passTypeIdentifier}/{serialNumber}?token={authenticationToken}
यूआरएल भागइसे कहाँ से प्राप्त करें
webServiceUrlGET /api/configwebServiceUrl
passTypeIdentifierपास रिकॉर्डpass.passTypeIdentifier (सूची/प्राप्त से)
serialNumberपास रिकॉर्डserialNumber
authenticationTokenपास रिकॉर्डpass.authenticationToken

उदाहरण:

https://apple-passkit.svc-nue.pushwoosh.com/v1/passes/pass.com.acme.loyalty/a1b2c3d4-1234-5678-9abc-def012345678?token=AbC123XyZ

इस यूआरएल को किसी भी क्यूआर लाइब्रेरी के साथ एक क्यूआर कोड के रूप में प्रस्तुत करें। जब कोई उपयोगकर्ता इसे स्कैन करता है, तो उनका डिवाइस लिंक खोलता है, नवीनतम .pkpass डाउनलोड करता है, और वॉलेट उन्हें इसे जोड़ने के लिए संकेत देता है—जो डिवाइस को अपडेट के लिए भी पंजीकृत करता है।

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

Anchor link to

पास ऑब्जेक्ट

Anchor link to
फ़ील्डप्रकारविवरण
formatVersionपूर्णांकपास प्रारूप संस्करण। 1 पर डिफ़ॉल्ट।
passTypeIdentifierस्ट्रिंगएप्पल पास प्रकार आईडी (pass.com.yourcompany.passtype)। प्रमाणपत्र से डिफ़ॉल्ट।
serialNumberस्ट्रिंगबनाने पर सर्वर द्वारा असाइन किया गया; पास की पहचान करता है।
teamIdentifierस्ट्रिंगएप्पल टीम आईडी। प्रमाणपत्र से डिफ़ॉल्ट।
organizationNameस्ट्रिंगपास पर दिखाया गया संगठन। प्रमाणपत्र से डिफ़ॉल्ट।
descriptionस्ट्रिंगमानव-पठनीय विवरण (एप्पल द्वारा आवश्यक)।
boardingPass / coupon / eventTicket / storeCard / genericऑब्जेक्टपास शैली। ठीक एक सेट होना चाहिए। फ़ील्ड समूह देखें।
backgroundColorस्ट्रिंगपृष्ठभूमि रंग, rgb(r, g, b)
foregroundColorस्ट्रिंगअग्रभूमि (पाठ) रंग, rgb(r, g, b)
labelColorस्ट्रिंगफ़ील्ड लेबल रंग, rgb(r, g, b)
logoTextस्ट्रिंगलोगो के बगल में दिखाया गया पाठ।
suppressStripShineबूलियनस्ट्रिप छवि पर चमक प्रभाव को अक्षम करें।
barcodesऐरेपास पर दिखाए गए बारकोड
locationsऐरेस्थान जो पास को प्रासंगिक बनाते हैं।
beaconsऐरेबीकन जो पास को प्रासंगिक बनाते हैं।
relevantDateस्ट्रिंगआईएसओ 8601 दिनांक जब पास प्रासंगिक हो जाता है।
maxDistanceपूर्णांकस्थान प्रासंगिकता के लिए अधिकतम दूरी (मीटर)।
expirationDateस्ट्रिंगआईएसओ 8601 समाप्ति दिनांक।
voidedबूलियनपास को शून्य के रूप में चिह्नित करता है।
groupingIdentifierस्ट्रिंगसंबंधित पास (इवेंट टिकट/बोर्डिंग पास) को समूहित करता है।
userInfoऑब्जेक्ट (मैप)मनमाना कुंजी/मान ऐप डेटा।

फ़ील्ड समूह ऑब्जेक्ट

Anchor link to

प्रत्येक पास शैली (boardingPass, coupon, eventTicket, storeCard, generic) फ़ील्ड्स को क्षेत्रों में समूहित करती है:

फ़ील्डप्रकारविवरण
headerFieldsऐरेपास हेडर में दिखाया गया (वॉलेट में स्टैक होने पर दिखाई देता है)।
primaryFieldsऐरेसबसे प्रमुख फ़ील्ड।
secondaryFieldsऐरेप्राथमिक फ़ील्ड के नीचे।
auxiliaryFieldsऐरेद्वितीयक के नीचे अतिरिक्त फ़ील्ड।
backFieldsऐरेपास के पीछे दिखाया गया।

boardingPass में अतिरिक्त रूप से transitType (PKTransitTypeAir, PKTransitTypeTrain, PKTransitTypeBus, PKTransitTypeBoat, या PKTransitTypeGeneric) होता है।

फ़ील्ड ऑब्जेक्ट

Anchor link to
फ़ील्डप्रकारविवरण
keyस्ट्रिंगपास के भीतर अद्वितीय फ़ील्ड कुंजी।
labelस्ट्रिंगफ़ील्ड लेबल।
valueस्ट्रिंगफ़ील्ड मान (पाठ या संख्या स्ट्रिंग के रूप में)।
changeMessageस्ट्रिंगमान बदलने पर दिखाया गया संदेश (प्लेसहोल्डर के रूप में %@ का उपयोग करें)।
textAlignmentस्ट्रिंगPKTextAlignment मान।
dateStyle / timeStyleस्ट्रिंगदिनांक/समय स्वरूपण के लिए PKDateStyle
isRelativeबूलियनदिनांक को अब के सापेक्ष दिखाएं।
numberStyleस्ट्रिंगसंख्या स्वरूपण के लिए PKNumberStyle
currencyCodeस्ट्रिंगआईएसओ 4217 मुद्रा कोड।
dataDetectorTypesस्ट्रिंग्स का ऐरेमान पर लागू करने के लिए डेटा डिटेक्टर।

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

Anchor link to
फ़ील्डप्रकारविवरण
formatस्ट्रिंगPKBarcodeFormatQR, PKBarcodeFormatPDF417, PKBarcodeFormatAztec, या PKBarcodeFormatCode128
messageस्ट्रिंगबारकोड में एन्कोड किया गया डेटा।
messageEncodingस्ट्रिंगपाठ एन्कोडिंग, आमतौर पर iso-8859-1
altTextस्ट्रिंगबारकोड के नीचे दिखाया गया पाठ।

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

Anchor link to
फ़ील्डप्रकारविवरण
latitudeसंख्याअक्षांश।
longitudeसंख्यादेशांतर।
altitudeसंख्यामीटर में ऊंचाई।
relevantTextस्ट्रिंगइस स्थान के पास लॉक स्क्रीन पर दिखाया गया पाठ।

बीकन ऑब्जेक्ट

Anchor link to
फ़ील्डप्रकारविवरण
proximityUuidस्ट्रिंगiBeacon निकटता UUID।
majorपूर्णांकप्रमुख मान।
minorपूर्णांकलघु मान।
relevantTextस्ट्रिंगइस बीकन के पास लॉक स्क्रीन पर दिखाया गया पाठ।

पास छवि ऑब्जेक्ट

Anchor link to
फ़ील्डप्रकारविवरण
imageTypeस्ट्रिंगicon, logo, strip, background, footer, thumbnail में से एक। icon और logo आवश्यक हैं।
dataस्ट्रिंग (Base64)छवि बाइट्स।
contentTypeस्ट्रिंगMIME प्रकार, उदाहरण के लिए image/png

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

Anchor link to

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

फ़ील्डप्रकारविवरण
serialNumberस्ट्रिंगपास सीरियल नंबर।
passTypeIdentifierस्ट्रिंगपास प्रकार आईडी।
organizationNameस्ट्रिंगसंगठन का नाम।
descriptionस्ट्रिंगपास विवरण।
createdAtस्ट्रिंगनिर्माण टाइमस्टैम्प (RFC 3339)।
updatedAtस्ट्रिंगअंतिम अपडेट टाइमस्टैम्प (RFC 3339)।
updateTagपूर्णांकवर्तमान अपडेट टैग।
passऑब्जेक्टसंपादन के लिए पूर्ण पास ऑब्जेक्ट
userIdस्ट्रिंगPushwoosh यूज़र आईडी जिसे पास जारी किया गया था।