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

प्रीसेट्स API

एक पुश प्रीसेट एक पुन: प्रयोज्य पुश नोटिफिकेशन टेम्पलेट है — वही ऑब्जेक्ट जो आप कंट्रोल पैनल के पुश एडिटर में बनाते हैं। यह API केवल पुश प्रीसेट का प्रबंधन करता है; SMS, WhatsApp, Kakao, LINE, और Viber प्रीसेट प्रत्येक की अपनी समर्पित प्रीसेट सेवा होती है, जो यहां शामिल नहीं है।

किसी प्रीसेट के code का उपयोग इसे Notify (पेलोड preset) या Customer Journey Send push point के माध्यम से भेजने के लिए करें।

बेस URL

Anchor link to
https://rpc-api.svc-nue.pushwoosh.com

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

प्रमाणीकरण

Anchor link to

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

Authorization: Api YOUR_API_TOKEN

परंपराएं

Anchor link to
  • फ़ील्ड नामकरण: अनुरोध बॉडी और क्वेरी/पाथ पैरामीटर lowerCamelCase स्वीकार करते हैं (उदाहरण के लिए, sendType, localizedProperties, searchByName) — सर्वर किसी भी केसिंग को अनमार्शल करता है। प्रतिक्रियाएं हमेशा प्रोटो फ़ील्ड नामों का उपयोग करके snake_case में मार्शल की जाती हैं (localized_properties, platform_properties, per_page, इत्यादि)। नीचे दिए गए प्रतिक्रिया उदाहरण और प्रीसेट ऑब्जेक्ट संदर्भ उस केसिंग का उपयोग करते हैं।
  • code: प्रत्येक प्रीसेट प्रतिक्रिया अपना स्वयं का कोड ले जाती है, जो Create पर उत्पन्न होता है। इस कोड को Get, Update, UpdatePartial, Delete, Clone, और ऊपर दिए गए मैसेजिंग/जर्नी API को पास करें।
  • प्लेटफ़ॉर्म कुंजियाँ: platforms और open_actions मैप्स को संख्यात्मक डिवाइस प्रकार कोड (1 iOS के लिए, 3 Android के लिए, इत्यादि) द्वारा कुंजीबद्ध किया जाता है। platform_properties को प्लेटफ़ॉर्म के एनम नाम से कुंजीबद्ध किया जाता है (IOS, ANDROID, HUAWEI_ANDROID, OSX — केवल चार प्लेटफ़ॉर्म जिन्हें यह कवर करता है)।
  • अपूर्ण फ़ील्ड: Get, Create, और Clone प्रतिक्रियाओं में प्रीसेट ऑब्जेक्ट का प्रत्येक फ़ील्ड शामिल होता है, भले ही वह खाली या शून्य-मूल्य वाला हो। List एक कम फ़ील्ड सेट लौटाता है — नीचे सूची देखें। Update और UpdatePartial कोई भी प्रीसेट फ़ील्ड नहीं लौटाते हैं — उनके अनुभागों में सावधानी देखें।

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

Anchor link to
HTTP स्थितिअर्थ
400 Bad Requestअमान्य तर्क — एक आवश्यक फ़ील्ड गायब है या विकृत है, या एक पूर्व शर्त विफल हो गई है (उदाहरण के लिए, बिना नाम के क्लोन करना)।
401 UnauthorizedAuthorization हेडर गायब या अमान्य है।
403 Forbiddenएप्लिकेशन या प्रीसेट कॉलर के खाते से संबंधित नहीं है।
404 Not Foundप्रीसेट या एप्लिकेशन नहीं मिला।
500 Internal Server Errorअप्रत्याशित सर्वर-साइड विफलता।

किसी चल रहे या रुके हुए जर्नी के Send push point द्वारा अभी भी उपयोग किए जा रहे प्रीसेट पर Delete भी 400 Bad Request (वायर पर एक FailedPrecondition) लौटाता है — 409 नहीं। पहले जर्नी से प्रीसेट को हटा दें।

Create, Update, और UpdatePartial भी एक अनसुलझे निजीकरण टोकन के लिए 400 Bad Request लौटाते हैं — नीचे देखें।

निजीकरण टोकन

Anchor link to

Create, Update, और UpdatePartial प्रत्येक निजीकरण टोकन ({name|modifier|default}) को localizedTitle, localizedSubtitle, और localizedContent में (अनुरोध में प्रत्येक भाषा के लिए), और रिच प्रति-प्लेटफ़ॉर्म सामग्री फ़ील्ड में मान्य करते हैं, जिसमें प्रेषक प्रतिस्थापित करता है (शीर्षक, सामग्री, बैनर, आइकन, URL, डीप-लिंक पैरामीटर, इत्यादि, प्रत्येक प्लेटफ़ॉर्म के लिए)। उस सेट के बाहर के फ़ील्ड, जैसे कि richmedia, campaignCode, deeplink, या filterCode, एक टोकन को ठीक वैसे ही रखते हैं जैसा लिखा गया है — Pushwoosh वहां निजीकरण सिंटैक्स को पार्स नहीं करता है।

एक टोकन को एक संशोधक की आवश्यकता होती है जिसे Pushwoosh पहचानता है, क्योंकि एक असंशोधित या गलत वर्तनी वाले को प्रारूपित नहीं किया जा सकता है और अन्यथा उपयोगकर्ताओं तक शाब्दिक ब्रेसिज़ के रूप में पहुंच जाएगा। एक लापता या अज्ञात संशोधक ({Tag|}, {Tag|typo}) वाला टोकन कॉल को InvalidArgument के साथ विफल कर देता है:

{
"code": 3,
"message": "personalization token {Tag|} has no known modifier, so it would be delivered as text; expected one of [capitalizefirst capitalizeallfirst uppercase lowercase regular base64 cent dollar comma euro jpy lira M-d-y m-d-y M d y M d Y l M d H:i m-d-y H:i]"
}

स्वीकृत संशोधक

Anchor link to

कंट्रोल पैनल का निजीकरण पिकर पहले से ही नीचे दिए गए हर संशोधक को INTEGER/PRICE टैग (तिथि प्रारूपों सहित) और स्ट्रिंग टैग को प्रदान करता है, सिवाय base64 के — वह केवल API के माध्यम से ही पहुंच योग्य है। gitlab.corp.pushwoosh.com/channels/sdk/pkg/dynamiccontent सत्य का स्रोत है जिसके खिलाफ कंट्रोल पैनल और यह API दोनों मान्य करते हैं।

संशोधकटैग प्रकारनोट्स
capitalizefirststringकेस-असंवेदनशील
capitalizeallfirststringकेस-असंवेदनशील
uppercasestringकेस-असंवेदनशील
lowercasestringकेस-असंवेदनशील
regularstring or integerकेस-असंवेदनशील, कोई स्वरूपण लागू नहीं
base64stringकेस-असंवेदनशील, केवल API — CP पिकर द्वारा प्रस्तुत नहीं
cent / dollar / comma / euro / jpy / liraintegerकेस-असंवेदनशील
M-d-y, m-d-y, M d y, M d Y, l, M d, H:i, m-d-y H:iintegerतिथि-प्रारूप संशोधक, ठीक वैसे ही मिलान किए गए जैसे लिखे गए हैं, केस सहित

एंडपॉइंट्स

Anchor link to
विधिपथविवरण
POST/api/presetsएक नया पुश प्रीसेट बनाएं
GET/api/presetsएक एप्लिकेशन के पुश प्रीसेट सूचीबद्ध करें
GET/api/presets/{code}एक एकल पुश प्रीसेट प्राप्त करें
PUT/api/presets/{code}एक पुश प्रीसेट अपडेट करें (पूर्ण ओवरराइट)
PUT/api/presets/{code}:partialएक पुश प्रीसेट अपडेट करें (आंशिक)
POST/api/presets/{code}:cloneएक पुश प्रीसेट क्लोन करें
DELETE/api/presets/{code}एक पुश प्रीसेट हटाएं

बनाएं

Anchor link to

एक एप्लिकेशन में एक नया पुश प्रीसेट बनाता है और इसे इसके उत्पन्न कोड के साथ लौटाता है।

POST /api/presets

अनुरोध बॉडी

Anchor link to
पैरामीटरप्रकारआवश्यकविवरण
applicationstringहाँजिस एप्लिकेशन में प्रीसेट बनाना है उसका एप्लिकेशन कोड
namestringहाँप्रीसेट का नाम।
sendTypestringनहींप्रीसेट का चैनल (उदाहरण के लिए push)।
isV2booleanनहींप्रीसेट के मूल ध्वज को पिन करता है। true (v2) पर डिफ़ॉल्ट करने के लिए छोड़ दें; केवल एक विरासत v1 प्रीसेट को पुन: प्रस्तुत करते समय false सेट करें।

अन्य सभी फ़ील्ड — स्थानीयकृत सामग्री, प्लेटफ़ॉर्म, डीप लिंक, इनबॉक्स, श्रेणियां, इत्यादि — Update के साथ साझा किए जाते हैं और नीचे प्रीसेट ऑब्जेक्ट संदर्भ में एक बार प्रलेखित किए गए हैं।

अनुरोध उदाहरण
Anchor link to
{
"application": "XXXXX-XXXXX",
"name": "20% discount",
"platforms": { "1": true, "3": true },
"localizedContent": {
"default": "Get your 20% discount right now",
"es": "Consigue tu 20% de descuento ahora mismo"
},
"localizedTitle": { "default": "Hi there" },
"openAction": { "link": { "url": "https://example.com" } },
"categories": ["promo"]
}

प्रतिक्रिया

Anchor link to

{ "preset": { ... } } लौटाता है, जो बनाया गया प्रीसेट ऑब्जेक्ट है।

सूची

Anchor link to

एक एप्लिकेशन के पुश प्रीसेट सूचीबद्ध करता है — एक कम फ़ील्ड सेट, न कि पूरा ऑब्जेक्ट — पेजिंग, ऑर्डरिंग, और नाम या श्रेणी के अनुसार फ़िल्टरिंग के साथ।

GET /api/presets

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

Anchor link to
पैरामीटरप्रकारआवश्यकविवरण
applicationstringहाँजिस एप्लिकेशन के लिए प्रीसेट सूचीबद्ध करने हैं उसका एप्लिकेशन कोड।
orderBystringनहींNAME (डिफ़ॉल्ट), CREATED, या UPDATED
orderDirectionstringनहींASC (डिफ़ॉल्ट) या DESC
pageintegerनहींशून्य-आधारित पृष्ठ सूचकांक।
perPageintegerनहींपृष्ठ का आकार। छोड़े जाने पर या 0 होने पर 100 पर डिफ़ॉल्ट होता है।
searchByNamestringनहींप्रीसेट नाम या कोड पर केस-असंवेदनशील सबस्ट्रिंग मिलान (ILIKE %value%)।
searchByCategoryarray of stringsनहींकई श्रेणियों में से किसी के द्वारा फ़िल्टर करने के लिए पैरामीटर दोहराएं, जैसे ?searchByCategory=promo&searchByCategory=lifecycle
showHiddenbooleanनहींhidden के रूप में चिह्नित प्रीसेट शामिल करें।

प्रतिक्रिया

Anchor link to

प्रत्येक आइटम में केवल: name, code, platforms, localized_content (प्रति-लोकेल सादा पाठ — न कि localized_properties), localized_title, localized_subtitle, banner, icon, categories, journey_uuid, custom_data, is_v2, created, updated होता है। प्रीसेट ऑब्जेक्ट के हर दूसरे फ़ील्ड — localized_properties, platform_properties, deeplink, richmedia, url, इत्यादि — को छोड़ दिया जाता है, भले ही वह प्रीसेट पर सेट हो।

फ़ील्डप्रकारविवरण
presetsarray of objectsप्रीसेट का वर्तमान पृष्ठ, ऊपर वर्णित कम आकार में।
pageintegerलौटाया गया पृष्ठ सूचकांक।
per_pageintegerइस प्रतिक्रिया के लिए उपयोग किया गया पृष्ठ आकार।
totalintegerसभी पृष्ठों पर फ़िल्टर से मेल खाने वाले प्रीसेट की कुल संख्या।
प्रतिक्रिया उदाहरण
Anchor link to
{
"presets": [
{ "name": "20% discount", "code": "AAAAA-BBBBB", "platforms": { "1": true, "3": true }, "categories": ["promo"] }
],
"page": 0,
"per_page": 100,
"total": 1
}

प्राप्त करें

Anchor link to

एक एकल पुश प्रीसेट को उसके कोड द्वारा लौटाता है, जिसमें प्रीसेट ऑब्जेक्ट के प्रत्येक फ़ील्ड को भरा जाता है।

GET /api/presets/{code}

पाथ पैरामीटर्स

Anchor link to
पैरामीटरप्रकारविवरण
codestringप्रीसेट का कोड।

प्रतिक्रिया

Anchor link to

{ "preset": { ... } } लौटाता है, जो पूरा प्रीसेट ऑब्जेक्ट है।

अपडेट करें

Anchor link to

आपूर्ति किए गए फ़ील्ड के साथ कोड द्वारा एक मौजूदा पुश प्रीसेट को ओवरराइट करता है।

PUT /api/presets/{code}

पाथ पैरामीटर्स

Anchor link to
पैरामीटरप्रकारविवरण
codestringओवरराइट करने के लिए प्रीसेट का कोड।

अनुरोध बॉडी

Anchor link to

बनाएं के समान फ़ील्ड (application को छोड़कर), साथ ही प्रीसेट ऑब्जेक्ट के बाकी फ़ील्ड। sendType स्वीकार किया जाता है लेकिन अनदेखा कर दिया जाता है — एक प्रीसेट का चैनल निर्माण के बाद नहीं बदला जा सकता है।

प्रतिक्रिया

Anchor link to

सफलता पर एक खाली ऑब्जेक्ट: {}

आंशिक अपडेट

Anchor link to

कोड द्वारा एक मौजूदा पुश प्रीसेट के केवल आपूर्ति किए गए फ़ील्ड को अपडेट करता है, बिना सेट किए गए फ़ील्ड को अपरिवर्तित छोड़ देता है।

PUT /api/presets/{code}:partial

पाथ पैरामीटर्स

Anchor link to
पैरामीटरप्रकारविवरण
codestringपैच करने के लिए प्रीसेट का कोड।

अनुरोध बॉडी

Anchor link to

अपडेट के समान फ़ील्ड, application को छोड़कर। Update के विपरीत, यहां हर फ़ील्ड — जिसमें localizedProperties, platformProperties, categories, और अपडेट की सावधानी में सूचीबद्ध सामग्री-गुण समूह के बाकी हिस्से शामिल हैं — छोड़े जाने पर अपरिवर्तित छोड़ दिया जाता है, और केवल तभी छुआ जाता है जब आप इसे भेजते हैं (एक मैप/ऐरे फ़ील्ड जिसे आप भेजते हैं, वह अभी भी उस फ़ील्ड के लिए मौजूदा मान को पूरी तरह से बदल देता है, यह बस आपके द्वारा शामिल नहीं की गई किसी भी चीज़ को प्रभावित नहीं करता है)। sendType को भी स्वीकार किया जाता है लेकिन अनदेखा कर दिया जाता है।

अनुरोध उदाहरण
Anchor link to
{
"sendRate": 500,
"cappingCount": 3,
"cappingDays": 7
}

प्रतिक्रिया

Anchor link to

यह भी एक खाली ऑब्जेक्ट है — ऊपर दी गई सावधानी देखें।

क्लोन

Anchor link to

एक मौजूदा पुश प्रीसेट को एक नए नाम के तहत उसी एप्लिकेशन में डुप्लिकेट करता है।

POST /api/presets/{code}:clone

अनुरोध बॉडी

Anchor link to
पैरामीटरप्रकारआवश्यकविवरण
codestringहाँडुप्लिकेट करने के लिए स्रोत प्रीसेट का कोड।
namestringहाँनए प्रीसेट के लिए नाम।
अनुरोध उदाहरण
Anchor link to
{ "code": "AAAAA-BBBBB", "name": "20% discount (copy)" }

प्रतिक्रिया

Anchor link to

{ "preset": { ... } } लौटाता है, जो नया प्रीसेट ऑब्जेक्ट है।

हटाएं

Anchor link to

कोड द्वारा एक पुश प्रीसेट को स्थायी रूप से हटा देता है।

DELETE /api/presets/{code}

पाथ पैरामीटर्स

Anchor link to
पैरामीटरप्रकारविवरण
codestringहटाने के लिए प्रीसेट का कोड।

प्रतिक्रिया

Anchor link to

सफलता पर एक खाली ऑब्जेक्ट: {}

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

Anchor link to

नीचे दिए गए फ़ील्ड नाम Get, Create, Update, और Clone द्वारा वास्तव में लौटाए गए नामों से मेल खाते हैं — snake_case प्रोटो फ़ील्ड नाम (परंपराएं देखें)। ऊपर दिए गए अनुरोध उदाहरणों में उपयोग किया गया lowerCamelCase रूप इनपुट पर उसी तरह काम करता है।

प्रीसेट ऑब्जेक्ट

Anchor link to

पहचान

Anchor link to
फ़ील्डप्रकारविवरण
codestringCreate पर उत्पन्न। API में हर जगह इस प्रीसेट की पहचान करता है।
namestringप्रीसेट का नाम।
send_typestringप्रीसेट का चैनल (उदाहरण के लिए push)।
is_v2booleanv2 सामग्री मॉडल में बनाए गए या माइग्रेट किए गए प्रीसेट के लिए true
systembooleanप्रीसेट को एक सिस्टम/आंतरिक प्रीसेट के रूप में चिह्नित करता है।
hiddenbooleanप्रीसेट को List परिणामों से छुपाता है (showHidden: true भेजकर इसे शामिल करें)।
createdstring (RFC 3339)निर्माण टाइमस्टैम्प।
updatedstring (RFC 3339)अंतिम अपडेट टाइमस्टैम्प।

लक्ष्यीकरण और सामग्री

Anchor link to
फ़ील्डप्रकारविवरण
platformsmap<string, boolean>प्रीसेट किन प्लेटफ़ॉर्म को लक्षित करता है, डिवाइस प्रकार कोड द्वारा कुंजीबद्ध (जैसे iOS के लिए "1")।
localized_propertiesmap<string, object>लोकेल → रिच प्रति-प्लेटफ़ॉर्म सामग्री। Notify पेलोड पर LocalizedContent के समान आकार — प्रति प्लेटफ़ॉर्म ब्लॉक (ios, android, इत्यादि) एक प्रविष्टि। यह प्लेटफ़ॉर्म-विशिष्ट पुश सामग्री सेट करने का प्राथमिक तरीका है।
localized_title / localized_subtitle / localized_contentmap<string, string>लोकेल → सादा पाठ। शीर्षक, उपशीर्षक और बॉडी के लिए localized_properties का एक सरल विकल्प जब आपको प्रति-प्लेटफ़ॉर्म ओवरराइड की आवश्यकता नहीं होती है।
platform_propertiesmap<string, object>विरासत प्रति-प्लेटफ़ॉर्म ओवरराइड, प्लेटफ़ॉर्म एनम नाम (IOS, ANDROID, HUAWEI_ANDROID, OSX) द्वारा कुंजीबद्ध। नीचे PlatformProperties ऑब्जेक्ट देखें।
open_actionOpenActionउपयोगकर्ता द्वारा अधिसूचना खोलने पर ट्रिगर की गई कार्रवाई, हर प्लेटफ़ॉर्म पर लागू होती है। open_actions के साथ परस्पर अनन्य — प्रतिक्रिया ठीक एक सेट करती है।
open_actionsmap<string, OpenAction>open_action का प्रति-प्लेटफ़ॉर्म ओवरराइड, डिवाइस प्रकार कोड द्वारा कुंजीबद्ध।
deeplinkstringडीप लिंक कोड।
deeplink_paramsmap<string, string>डीप लिंक को पास किए गए पैरामीटर।
richmediastringअधिसूचना द्वारा खोला गया रिच मीडिया कोड।
urlstringअधिसूचना द्वारा खोला गया URL, यदि डीप लिंक या रिच मीडिया का उपयोग नहीं कर रहे हैं।

इनबॉक्स

Anchor link to
फ़ील्डप्रकारविवरण
inbox_imagestringसंदेश इनबॉक्स प्रविष्टि में दिखाया गया छवि URL।
inbox_iconstringसंदेश इनबॉक्स प्रविष्टि में दिखाया गया आइकन URL।
inbox_daysintegerदिन जब तक प्रविष्टि संदेश इनबॉक्स में रहती है।
inbox_datestring (RFC 3339)संदेश इनबॉक्स प्रविष्टि के लिए स्पष्ट समाप्ति तिथि, inbox_days के विकल्प के रूप में।

संगठन और मेटाडेटा

Anchor link to
फ़ील्डप्रकारविवरण
categoriesarray of stringsश्रेणी के नाम जिनके साथ प्रीसेट टैग किया गया है।
campaign_codestringअभियान कोड जिसके लिए यह प्रीसेट जिम्मेदार है।
filter_codestringसेगमेंट / फ़िल्टर कोड जिसे यह प्रीसेट डिफ़ॉल्ट रूप से लक्षित करता है।
geo_zonesstringजियोज़ोन लक्ष्यीकरण, यदि प्रीसेट जियो-ट्रिगर है।
journey_uuidstringCustomer Journey का UUID जो इस प्रीसेट का मालिक है, यदि यह एक जर्नी के Send push point से बनाया गया था।
custom_dataobjectक्लाइंट SDK को u पैरामीटर के रूप में अग्रेषित फ्री-फॉर्म JSON।
bannerstringबड़ी-तस्वीर / अटैचमेंट छवि URL।
iconstringकस्टम अधिसूचना आइकन URL।

वितरण सीमाएं

Anchor link to
फ़ील्डप्रकारविवरण
send_rateintegerइस प्रीसेट का उपयोग करके भेजने के लिए थ्रॉटलिंग, संदेश/सेकंड में — Notify के SendRate का प्रीसेट-स्तरीय समकक्ष।
capping_count / capping_daysintegerइस प्रीसेट के लिए प्रति-उपयोगकर्ता आवृत्ति सीमा — Notify के FrequencyCapping count / days का प्रीसेट-स्तरीय समकक्ष।

वेबहुक

Anchor link to
फ़ील्डप्रकारविवरण
notification_sent_urlstringइस प्रीसेट का उपयोग करके एक अधिसूचना भेजे जाने पर अनुरोधित कॉलबैक URL।
notification_delivered_urlstringइस प्रीसेट का उपयोग करके एक अधिसूचना वितरित होने पर अनुरोधित कॉलबैक URL।
notification_click_urlstringइस प्रीसेट का उपयोग करके एक अधिसूचना पर क्लिक किए जाने पर अनुरोधित कॉलबैक URL।

विरासत फ़ील्ड

Anchor link to

ये v1 प्रीसेट मॉडल से आगे ले जाए जाते हैं। वे नए एकीकरणों के बजाय कंट्रोल पैनल संगतता के लिए भरे जाते हैं।

फ़ील्डप्रकारविवरण
remote_pagestringविरासत रिमोट पेज संदर्भ।
wns_contentstringविरासत विंडोज टोस्ट टेम्पलेट JSON, जैसा कि v1 createPreset/getPreset विधियों द्वारा स्वीकार किया गया है।
original_urlstringurl का पूर्व-संक्षिप्तीकरण मान, जब url को एक संक्षिप्त लिंक द्वारा प्रतिस्थापित किया गया था।
ios_silent / android_silent / huawei_android_silentbooleanप्रति-प्लेटफ़ॉर्म साइलेंट (केवल-डेटा) पुश फ़्लैग।

PlatformProperties ऑब्जेक्ट

Anchor link to

प्रत्येक platform_properties प्रविष्टि (IOS, ANDROID, HUAWEI_ANDROID, OSX) में उपलब्ध फ़ील्ड:

फ़ील्डप्रकारविवरण
badgestringबैज गणना ओवरराइड।
soundstringध्वनि फ़ाइल का नाम।
sound_offbooleanअधिसूचना ध्वनि को म्यूट करें।
prioritystringइन-ट्रे प्राथमिकता (केवल Android/Huawei)।
delivery_prioritystringNORMAL या HIGH वितरण प्राथमिकता (केवल Android/Huawei)।
ios_interruption_levelstringpassive, active, time-sensitive, या critical (केवल iOS)।

संबंधित

Anchor link to