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

प्रीसेट्स API

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

प्रीसेट के code का उपयोग इसे Notify (पेलोड preset) या कस्टमर जर्नी 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, BAIDU_ANDROID, HUAWEI_ANDROID, OSX — केवल पांच प्लेटफ़ॉर्म जिन्हें यह कवर करता है)।
  • अनपॉप्युलेटेड फ़ील्ड्स: Get, Create, और Clone प्रतिक्रियाओं में प्रीसेट ऑब्जेक्ट के प्रत्येक फ़ील्ड शामिल होते हैं, भले ही वे खाली या शून्य-मूल्य वाले हों। List एक कम फ़ील्ड सेट लौटाता है — नीचे सूची देखें। Update और UpdatePartial कोई प्रीसेट फ़ील्ड नहीं लौटाते हैं — उनके अनुभागों में सावधानी देखें।

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

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

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

एंडपॉइंट्स

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प्रीसेट को सूची परिणामों से छुपाता है (इसे शामिल करने के लिए 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, BAIDU_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_uuidstringकस्टमर जर्नी का 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 / baidu_android_silent / huawei_android_silentbooleanप्रति-प्लेटफ़ॉर्म साइलेंट (केवल-डेटा) पुश फ़्लैग।

PlatformProperties ऑब्जेक्ट

Anchor link to

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

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

संबंधित

Anchor link to