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

प्रीसेट एपीआई

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

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

बेस यूआरएल

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

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

प्रमाणीकरण

Anchor link to

प्रत्येक अनुरोध में आपके Server API token के साथ एक 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, और ऊपर दिए गए मैसेजिंग/जर्नी एपीआई को पास करें।
  • प्लेटफॉर्म कीज़: 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अमान्य तर्क — एक आवश्यक फ़ील्ड गुम या विकृत है, या एक पूर्व शर्त विफल हो गई है (उदाहरण के लिए, name के बिना क्लोनिंग)।
401 UnauthorizedAuthorization हेडर गुम या अमान्य है।
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}एक पुश प्रीसेट हटाएं

बनाएं (Create)

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": { ... } } लौटाता है, जो बनाया गया प्रीसेट ऑब्जेक्ट है।

सूची (List)

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
}

प्राप्त करें (Get)

Anchor link to

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

GET /api/presets/{code}

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

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

रिस्पांस

Anchor link to

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

अपडेट करें (Update)

Anchor link to

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

PUT /api/presets/{code}

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

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

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

Anchor link to

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

रिस्पांस

Anchor link to

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

आंशिक अपडेट (UpdatePartial)

Anchor link to

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

PUT /api/presets/{code}:partial

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

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

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

Anchor link to

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

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

रिस्पांस

Anchor link to

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

क्लोन (Clone)

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": { ... } } लौटाता है, जो नया प्रीसेट ऑब्जेक्ट है।

हटाएं (Delete)

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 पर उत्पन्न। एपीआई में हर जगह इस प्रीसेट की पहचान करता है।
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अधिसूचना द्वारा खोला गया यूआरएल, यदि डीप लिंक या रिच मीडिया का उपयोग नहीं कर रहे हैं।

इनबॉक्स

Anchor link to
फील्डटाइपविवरण
inbox_imagestringसंदेश इनबॉक्स प्रविष्टि में दिखाया गया छवि यूआरएल।
inbox_iconstringसंदेश इनबॉक्स प्रविष्टि में दिखाया गया आइकन यूआरएल।
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फ्री-फॉर्म JSON क्लाइंट SDK को u पैरामीटर के रूप में फॉरवर्ड किया गया।
bannerstringबड़ी-तस्वीर / अटैचमेंट छवि यूआरएल।
iconstringकस्टम अधिसूचना आइकन यूआरएल।

डिलीवरी सीमाएं

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

वेबहुक

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

लिगेसी फील्ड्स

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