पेलोड संदर्भ
किसी भी गैर-ईमेल चैनल (पुश, SMS, टेलीग्राम, काकाओ, LINE, वाइबर, व्हाट्सएप) के माध्यम से भेजते समय Notify द्वारा उपयोग किए जाने वाले Payload संदेश के लिए संदर्भ।
पेलोड
Anchor link topreset(स्ट्रिंग): इस संदेश पर लागू करने के लिए पुश प्रीसेट कोड (प्रारूपXXXXX-XXXXX)।sms_preset(स्ट्रिंग): सहेजे गए SMS प्रीसेट का कोड (प्रारूपXXXXX-XXXXX)। इसका प्रति-लोकेल टेक्स्ट प्रत्येक लोकेल केsms.bodyमें हल हो जाता है। किसी दिए गए लोकेल के लिए एक इनलाइनsms.bodyउस लोकेल के लिए प्रीसेट को ओवरराइड करता है। प्रीसेट को संदेश के समान एप्लिकेशन से संबंधित होना चाहिए।content(LocalizedContent): संदेश सामग्री।silentके साथ परस्पर अनन्य।silent(बूल): एक साइलेंट (केवल-डेटा) पुश भेजें।contentके साथ परस्पर अनन्य।custom_data(ऑब्जेक्ट): क्लाइंट SDK कोuपैरामीटर के रूप में अग्रेषित फ्री-फॉर्म JSON।open_action(OpenAction): जब उपयोगकर्ता अधिसूचना खोलता है तो ट्रिगर की गई कार्रवाई।open_actions(map<Platform,OpenAction>):open_actionका प्रति-प्लेटफ़ॉर्म ओवरराइड। कुंजी एक संख्यात्मकPlatformएनम मान है।voip_push(बूल): iOS VoIP अधिसूचना।
{ "payload": { "preset": "XXXXX-XXXXX", "content": { "localized_content": { "default": { "ios": { "title": "Hello", "body": "Tap to view" } } } }, "custom_data": { "order_id": "42" }, "open_action": { "link": { "url": "https://example.com/promo" } } }}लोकलाइज़्डकंटेंट
Anchor link toलोकेल कोड को प्रति-प्लेटफ़ॉर्म सामग्री पर मैप करता है। कुंजियाँ ISO 639-1 दो-अक्षर कोड हैं (उदाहरण के लिए, "en", "es") और कैच-ऑल अनुवाद के लिए विशेष कुंजी "default"। ISO 639-1 के अपवाद पारंपरिक और सरलीकृत चीनी के लिए "zh-Hant" और "zh-Hans" हैं।
{ "localized_content": { "default": { "ios": { "title": "Hello", "body": "Tap to view" }, "android": { "title": "Hello", "body": "Tap to view" } }, "es": { "ios": { "title": "Hola", "body": "Toca para ver" }, "android": { "title": "Hola", "body": "Toca para ver" } } }}डिवाइस के लिए लोकेल चयन
Anchor link toडिवाइस को दी गई सामग्री इस क्रम में चुनी जाती है:
- डिवाइस की भाषा पर सटीक मिलान।
- कुंजी
"default"। - कुंजी
"en"। - मैप में मौजूद कोई अन्य लोकेल।
कम से कम "default" या "en" में से एक प्रदान करें ताकि प्रत्येक डिवाइस में एक नियतात्मक फ़ॉलबैक हो। यदि आप प्रति-लोकेल वेरिएंट की अपेक्षा नहीं करते हैं, तो केवल "default" भेजें।
प्रत्येक लोकेल प्रविष्टि वैकल्पिक प्रति-प्लेटफ़ॉर्म ब्लॉक के साथ एक Content ऑब्जेक्ट है। केवल उन प्लेटफ़ॉर्म को भरें जिन्हें आप लक्षित करते हैं।
| प्लेटफ़ॉर्म ब्लॉक | चैनल |
|---|---|
ios | iOS पुश |
android | Android (FCM) पुश |
huawei_android | Huawei Android पुश |
mac_os | macOS पुश |
amazon | Amazon (ADM) पुश |
safari | Safari वेब पुश |
chrome | Chrome वेब पुश |
firefox | Firefox वेब पुश |
ie | Internet Explorer वेब पुश |
windows | Windows पुश (टाइल / टोस्ट / बैज) |
telegram | Telegram संदेश |
kakao | Kakao संदेश |
line | LINE संदेश |
viber | Viber संदेश |
whatsapp | WhatsApp संदेश |
sms | SMS संदेश |
सामान्य पुश फ़ील्ड
Anchor link toये फ़ील्ड ios, android, huawei_android, mac_os, amazon, safari, chrome, और firefox ब्लॉक द्वारा साझा किए जाते हैं (समर्थन भिन्न होता है। अप्रयुक्त फ़ील्ड संबंधित प्लेटफ़ॉर्म द्वारा अनदेखा कर दिए जाते हैं)।
title(स्ट्रिंग): अधिसूचना शीर्षक।body(स्ट्रिंग): अधिसूचना बॉडी।time_to_live(अवधि, जैसे"3600s"): पुश सर्वर को ऑफ़लाइन डिवाइस के लिए अधिसूचना को कितने समय तक बनाए रखना चाहिए।sound(स्ट्रिंग): ध्वनि फ़ाइल का नाम।sound_enabled(बूल): ध्वनि को सक्षम या दबाएं।badges(स्ट्रिंग): बैज गणना (iOS) या एनालॉग।root_params(ऑब्जेक्ट): रॉ प्लेटफ़ॉर्म-विशिष्ट पेलोड ओवरराइड।inbox(Inbox): Message Inbox प्रविष्टि।
{ "android": { "title": "Hello", "body": "Tap to view", "time_to_live": "3600s", "sound": "default", "sound_enabled": true, "badges": "+1" }}iOS (ios)
Anchor link tosubtitle(स्ट्रिंग): iOS अधिसूचना उपशीर्षक।is_critical(बूल): महत्वपूर्ण अलर्ट (एनटाइटलमेंट की आवश्यकता है)।attachment(स्ट्रिंग): मीडिया अटैचमेंट का URL।thread_id(स्ट्रिंग): समूहीकृत सूचनाओं के लिए थ्रेड पहचानकर्ता।trim_content(बूल): फिट होने के लिए सामग्री को ट्रिम करें।category_id(स्ट्रिंग): इंटरैक्टिव क्रियाओं के लिएUNNotificationCategoryपहचानकर्ता।interruption_level(स्ट्रिंग):passive,active,time-sensitive, याcritical।collapse_id(स्ट्रिंग): APNs कोलैप्स पहचानकर्ता। समानcollapse_idवाली सूचनाएं डिवाइस पर एक-दूसरे को प्रतिस्थापित करती हैं।
{ "ios": { "title": "Hello", "body": "Tap to view", "subtitle": "New update", "attachment": "https://cdn.example.com/image.png", "interruption_level": "active", "thread_id": "promo" }}Android (android, huawei_android)
Anchor link toicon(स्ट्रिंग): अधिसूचना छोटा आइकन।banner(स्ट्रिंग): बिग-पिक्चर URL।delivery_priority(NORMAL|HIGH): FCM डिलीवरी प्राथमिकता।vibration(बूल): प्राप्त होने पर कंपन।led_color(स्ट्रिंग, हेक्स): अधिसूचना LED रंग।icon_background_color(स्ट्रिंग, हेक्स): आइकन पृष्ठभूमि रंग।show_on_lockscreen(बूल): लॉक स्क्रीन पर दिखाएं।custom_icon(स्ट्रिंग): कस्टम आइकन का URL।priority(NotificationPriority): इन-ट्रे प्राथमिकता।group_id(स्ट्रिंग): अधिसूचना समूह कुंजी।collapse_key(स्ट्रिंग): FCM कोलैप्स कुंजी। समानcollapse_keyवाली सूचनाएं डिवाइस ऑफ़लाइन होने पर एक-दूसरे को प्रतिस्थापित करती हैं।
{ "android": { "title": "Hello", "body": "Tap to view", "icon": "ic_notification", "banner": "https://cdn.example.com/banner.png", "led_color": "#FF0000", "priority": "PRIORITY_HIGH", "delivery_priority": "HIGH" }}macOS (mac_os)
Anchor link toसामान्य पुश फ़ील्ड के साथ-साथ subtitle और action (URL जो उपयोगकर्ता द्वारा अधिसूचना पर क्लिक करने पर खुलता है) का उपयोग करता है।
{ "mac_os": { "title": "Hello", "body": "Tap to view", "subtitle": "New update", "action": "https://example.com/promo" }}Amazon (amazon)
Anchor link toसामान्य पुश फ़ील्ड के साथ-साथ custom_icon और priority (NotificationPriority) का उपयोग करता है।
{ "amazon": { "title": "Hello", "body": "Tap to view", "custom_icon": "https://cdn.example.com/icon.png", "priority": "PRIORITY_HIGH" }}Safari (safari)
Anchor link toaction(स्ट्रिंग): URL जो उपयोगकर्ता द्वारा अधिसूचना पर क्लिक करने पर खुलता है।url_arguments(स्ट्रिंग की सरणी): Safari URL आर्ग्यूमेंट्स जो वेब पुश URL टेम्पलेट में प्रतिस्थापित किए जाते हैं।
{ "safari": { "title": "Hello", "body": "Tap to view", "action": "https://example.com/promo", "url_arguments": ["promo", "2026"] }}Chrome (chrome)
Anchor link toicon,image(स्ट्रिंग): छोटे आइकन और बड़े छवि URL।duration(अवधि): ऑटो-क्लोज टाइमर।button_text1/button_url1,button_text2/button_url2: दो एक्शन बटन तक।
{ "chrome": { "title": "Hello", "body": "Tap to view", "icon": "https://cdn.example.com/icon.png", "image": "https://cdn.example.com/banner.png", "duration": "20s", "button_text1": "Open", "button_url1": "https://example.com/promo" }}Firefox (firefox)
Anchor link toकेवल title, body, icon, root_params, और inbox का उपयोग करता है।
{ "firefox": { "title": "Hello", "body": "Tap to view", "icon": "https://cdn.example.com/icon.png" }}Windows (windows)
Anchor link toWindows एक अलग आकार का उपयोग करता है:
{ "windows": { "type": "TOAST", "template": { "title": "Hello", "body": "Tap to view" }, "tag": "promo", "cache": true, "time_to_live": "3600s" }}typeTILE,TOAST, याBADGEहै।template(संरचित) याraw({ "content": "<raw xml>" }) — ठीक एक।
Telegram (telegram)
Anchor link tobody(स्ट्रिंग): संदेश टेक्स्ट।content_variables(स्ट्रिंग): बॉट-साइड टेम्पलेट के लिए JSON-स्ट्रिंगिफाइड चर।
{ "telegram": { "body": "Hello from Pushwoosh", "content_variables": "{\"name\":\"John\"}" }}Kakao (kakao)
Anchor link tocontent(स्ट्रिंग): संदेश सामग्री।template(स्ट्रिंग): स्वीकृत टेम्पलेट कोड।content_variables(स्ट्रिंग): JSON-स्ट्रिंगिफाइड टेम्पलेट चर बाइंडिंग।
{ "kakao": { "content": "Hello from Pushwoosh", "template": "welcome_v1", "content_variables": "{\"name\":\"John\"}" }}LINE (line)
Anchor link tocontent(स्ट्रिंग): सादा टेक्स्ट बॉडी।template(स्ट्रिंग): Pushwoosh कंट्रोल पैनल में कॉन्फ़िगर किए गए LINE टेम्पलेट का कोड (छवि, कैरोसेल, या फ्लेक्स संदेश भेजने के लिए उपयोग किया जाता है)। रिच सामग्री के लिए, कंट्रोल पैनल में टेम्पलेट को पूर्व-कॉन्फ़िगर करें और इसे यहां संदर्भित करें।
content या template में से कम से कम एक सेट होना चाहिए।
{ "line": { "content": "Hello from Pushwoosh", "template": "promo_carousel" }}Viber (viber)
Anchor link toएक Viber संदेश या तो एक फ्री-टेक्स्ट बॉडी होता है या एक पूर्व-अनुमोदित ट्रांसेक्शनल टेम्पलेट (Omni Messaging / MStat) होता है जिसे आईडी और भाषा द्वारा संदर्भित किया जाता है।
body(स्ट्रिंग): सादा टेक्स्ट संदेश। जबtemplate_idसेट नहीं होता है तो आवश्यक है।template_id(स्ट्रिंग): एक पूर्व-अनुमोदित ट्रांसेक्शनल टेम्पलेट की आईडी। जब सेट किया जाता है, तो यहbodyपर प्राथमिकता लेता है।template_lang(स्ट्रिंग): टेम्पलेट लोकेल। जबtemplate_idसेट होता है तो आवश्यक है।template_params(map<string, string>): कुंजी/मान बाइंडिंग जो टेम्पलेट में प्रतिस्थापित की जाती हैं, जैसे{ "name": "John", "code": "123456" }।all_devices(बूल):false(डिफ़ॉल्ट) केवल उपयोगकर्ता के प्राथमिक डिवाइस पर वितरित करता है;trueउपयोगकर्ता के सभी डिवाइस पर वितरित करता है।
body या template_id में से कम से कम एक सेट होना चाहिए। जब template_id सेट होता है, तो template_lang आवश्यक है।
Viber प्राप्तकर्ताओं को viber:<phone> (E.164) के रूप में hwids के रूप में संबोधित करें, उदाहरण के लिए viber:+1234567890।
सादा टेक्स्ट:
{ "viber": { "body": "Hello from Pushwoosh" }}ट्रांसेक्शनल टेम्पलेट:
{ "viber": { "template_id": "e3dec4a0-c063-4b0f-96d5-cf9d629a7abe", "template_lang": "en", "template_params": { "name": "John", "code": "123456", "expires_in": "5 minutes" }, "all_devices": false }}WhatsApp (whatsapp)
Anchor link toWhatsApp संदेश Meta के माध्यम से जाते हैं और Meta के मैसेजिंग नियमों के अधीन हैं। मुख्य विभाजन फ्री-फॉर्म टेक्स्ट (केवल उपयोगकर्ता से आने वाले संदेश द्वारा खोले गए 24-घंटे के ग्राहक सेवा विंडो के अंदर वितरित) और स्वीकृत टेम्पलेट्स (आउटबाउंड दीक्षा के लिए और 24-घंटे की खिड़की के बाहर किसी भी संदेश के लिए आवश्यक) के बीच है।
content(स्ट्रिंग): फ्री-फॉर्म संदेश टेक्स्ट। Meta द्वारा केवल 24-घंटे की खिड़की के अंदर वितरित किया जाता है।content_id(स्ट्रिंग): एक पूर्व-अनुमोदित Meta टेम्पलेट का नाम (जैसे"hello_world")। आउटबाउंड दीक्षा या 24-घंटे की खिड़की के बाहर किसी भी संदेश के लिए आवश्यक है।language(स्ट्रिंग): टेम्पलेट लोकेल जो Meta में स्वीकृत लोकेल से बिल्कुल मेल खाना चाहिए (जैसे"en_US","en_GB")। केवलcontent_idके साथ ही सार्थक है। यह बाहरीLocalizedContentकुंजी से स्वतंत्र है। बाहरी कुंजी एक डिवाइस के लिए सामग्री का चयन करती है, औरlanguageउस सामग्री के लिए Meta-टेम्पलेट लोकेल का चयन करती है।content_variables(स्ट्रिंग): JSON ऑब्जेक्ट जो बॉडी प्लेसहोल्डर्स को मैप करता है, जैसे"{\"1\":\"John\"}"।button_url_variables(स्ट्रिंग): JSON ऑब्जेक्ट जो बटन-URL प्लेसहोल्डर्स को बटन इंडेक्स द्वारा कुंजीबद्ध करता है, जैसे"{\"0\":\"https://...\"}"।header_variables(स्ट्रिंग): JSON ऑब्जेक्ट जो हेडर प्लेसहोल्डर्स को प्रकार द्वारा कुंजीबद्ध करता है, जैसे"{\"image\":\"https://...\"}"।
content या content_id में से कम से कम एक सेट होना चाहिए।
{ "whatsapp": { "content_id": "hello_world", "language": "en_US", "content_variables": "{\"1\":\"John\"}" }}SMS (sms)
Anchor link toSMS का अपना प्लेटफ़ॉर्म ब्लॉक प्रत्येक लोकेल के Content के अंदर होता है, ios, android, और अन्य मैसेजिंग चैनलों के साथ।
body(स्ट्रिंग): लोकेल के लिए SMS टेक्स्ट। जबsmsब्लॉक मौजूद हो तो आवश्यक है।
टेक्स्ट प्रदान करने के दो तरीके हैं:
- इनलाइन —
localized_contentमें प्रति लोकेलsms.bodyसेट करें। - एक प्रीसेट से — पेलोड-स्तर
sms_presetको एक सहेजे गए SMS प्रीसेट के कोड (प्रारूपXXXXX-XXXXX) पर सेट करें। इसकी प्रति-लोकेल सामग्री प्रत्येक लोकेल के लिएsms.bodyमें हल हो जाती है जिसे प्रीसेट परिभाषित करता है। एक लोकेल के लिए एक इनलाइनsms.bodyउस लोकेल के लिए प्रीसेट को ओवरराइड करता है, ताकि आप एक प्रीसेट का पुन: उपयोग कर सकें और फिर भी व्यक्तिगत भाषाओं को बदल सकें।
{ "payload": { "sms_preset": "XXXXX-XXXXX", "content": { "localized_content": { "default": { "sms": { "body": "Your order has shipped." } }, "es": { "sms": { "body": "Tu pedido ha sido enviado." } } } } }}एक sms ब्लॉक में subject और file_urls जोड़ने से संदेश MMS में बदल जाता है। केवल AbleMobile के पास MMS एंडपॉइंट है — अन्य SMS प्रदाता दोनों फ़ील्ड को अनदेखा करते हैं और केवल सादा-टेक्स्ट body वितरित करते हैं।
subject(स्ट्रिंग): MMS विषय।file_urlsमें कम से कम एक प्रविष्टि की आवश्यकता है — अटैचमेंट के बिना एक विषय अस्वीकार कर दिया जाता है। 40 ASCII वर्णों तक, या 13 वर्ण यदि विषय में गैर-ASCII वर्ण हैं।file_urls(स्ट्रिंग की सरणी): 3 अटैचमेंट URL तक। प्रत्येक एक पूर्णhttpsURL होना चाहिए जो.jpgया.gifमें समाप्त होता है —.jpegऔर.pngसत्यापन द्वारा अस्वीकार कर दिए जाते हैं, भले ही एक वास्तविक JPEG या PNG फ़ाइल के लिए, क्योंकि प्रदाता उन्हें डीकोड नहीं कर सकता है। प्रत्येक फ़ाइल 200 KB या उससे छोटी होनी चाहिए; AbleMobile पूरे भेज को अस्वीकार कर देता है यदि कोई अटैचमेंट भारी है।message_at(int):file_urlsमें सूचकांक (0-आधारित) जिसके बाद SMS बॉडी टेक्स्ट दिखाया जाता है।
subject और file_urls Liquid निजीकरण का समर्थन करते हैं, body की तरह ही।
{ "sms": { "body": "Your order has shipped.", "subject": "Order update", "file_urls": [ "https://cdn.example.com/shipping-label.jpg", "https://cdn.example.com/tracking-map.gif" ], "message_at": 1 }}ओपनएक्शन
Anchor link toजब उपयोगकर्ता संदेश खोलता है तो की जाने वाली कार्रवाई को परिभाषित करता है।
इनमें से ठीक एक:
rich_media(RichMedia): एक Rich Media पृष्ठ खोलें।deep_link: एक डीप लिंक खोलें:{ "code": "flow-code", "params": { "key": "value" } }।link(Link): एक URL खोलें।
{ "open_action": { "deep_link": { "code": "flow-code", "params": { "promo": "summer" } } }}डीपलिंक URL और params मान Liquid निजीकरण सिंटैक्स का समर्थन करते हैं — डीप लिंक खोले जाने से पहले अभिव्यक्तियों को हल किया जाता है।
रिचमीडिया
Anchor link to{ "code": "XXXXX-XXXXX" } // Rich Media कोड द्वारा{ "url": "https://..." } // रिमोट URL द्वारालिंक
Anchor link to{ "url": "https://example.com/promo", "shortener": "BITLY"}shortener NONE (डिफ़ॉल्ट) या BITLY है।
इनबॉक्स
Anchor link toकॉन्फ़िगर करता है कि संदेश Message Inbox में कैसे दिखाई देता है।
{ "image_url": "https://cdn.example.com/inbox.png", "expiration_date": "2026-05-15T00:00:00Z"}image_url(स्ट्रिंग): इनबॉक्स प्रविष्टि में दिखाई गई छवि।expiration_date(टाइमस्टैम्प): जब प्रविष्टि इनबॉक्स से हटा दी जाती है।
नोटिफिकेशनप्रायोरिटी एनम
Anchor link toलक्ष्य डिवाइस पर अधिसूचना प्राथमिकता को नियंत्रित करता है, PRIORITY_MIN (न्यूनतम) से PRIORITY_MAX (उच्चतम) तक।
PRIORITY_UNSPECIFIEDPRIORITY_MINPRIORITY_LOWPRIORITY_DEFAULTPRIORITY_HIGHPRIORITY_MAX
उदाहरण: एक सेगमेंट को पुश भेजें
Anchor link tocurl -X POST https://api.pushwoosh.com/messaging/v2/notify \ -H "Authorization: Token YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "segment": { "application": "XXXXX-XXXXX", "platforms": ["IOS", "ANDROID"], "code": "active_users", "payload": { "content": { "localized_content": { "en": { "ios": { "title": "Hello", "body": "Hello, world!" }, "android": { "title": "Hello", "body": "Hello, world!" } }, "es": { "ios": { "title": "¡Hola!", "body": "¡Hola, mundo!" }, "android": { "title": "¡Hola!", "body": "¡Hola, mundo!" } } } }, "open_action": { "link": { "url": "https://example.com/promo" } } }, "schedule": { "at": "2026-05-01T12:00:00Z" }, "message_type": "MESSAGE_TYPE_MARKETING" } }'उदाहरण: यूज़र आईडी द्वारा ट्रांसेक्शनल पुश
Anchor link tocurl -X POST https://api.pushwoosh.com/messaging/v2/notify \ -H "Authorization: Token YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "transactional": { "application": "XXXXX-XXXXX", "platforms": ["IOS", "ANDROID"], "users": { "list": ["customer-42"] }, "payload": { "content": { "localized_content": { "default": { "ios": { "title": "Your order", "body": "Order #42 has shipped." }, "android": { "title": "Your order", "body": "Order #42 has shipped." } } } }, "custom_data": { "order_id": "42" } }, "schedule": { "at": "2026-05-01T12:00:00Z" }, "message_type": "MESSAGE_TYPE_TRANSACTIONAL" } }'