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

पेलोड संदर्भ

किसी भी गैर-ईमेल चैनल (पुश, एसएमएस, टेलीग्राम, काकाओ, लाइन, वाइबर, व्हाट्सएप) के माध्यम से भेजते समय Notify द्वारा उपयोग किए जाने वाले Payload संदेश के लिए संदर्भ।

पेलोड

Anchor link to
  • preset (स्ट्रिंग): इस संदेश पर लागू करने के लिए पुश प्रीसेट कोड (प्रारूप XXXXX-XXXXX)।
  • sms_preset (स्ट्रिंग): सहेजे गए SMS प्रीसेट का कोड (प्रारूप XXXXX-XXXXX)। इसका प्रति-लोकेल टेक्स्ट प्रत्येक लोकेल के sms.body में हल हो जाता है। किसी दिए गए लोकेल के लिए एक इनलाइन sms.body उस लोकेल के लिए प्रीसेट को ओवरराइड करता है। प्रीसेट उसी एप्लिकेशन से संबंधित होना चाहिए जिससे संदेश संबंधित है।
  • content (LocalizedContent): संदेश सामग्री। silent के साथ परस्पर अनन्य।
  • silent (बूल): एक साइलेंट (केवल-डेटा) पुश भेजें। content के साथ परस्पर अनन्य।
  • custom_data (ऑब्जेक्ट): फ्री-फॉर्म JSON जो क्लाइंट SDK को u पैरामीटर के रूप में फॉरवर्ड किया जाता है।
  • open_action (OpenAction): जब उपयोगकर्ता अधिसूचना खोलता है तो ट्रिगर की जाने वाली क्रिया।
  • open_actions (मैप<प्लेटफ़ॉर्म, 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

किसी डिवाइस पर दी जाने वाली सामग्री इस क्रम में चुनी जाती है:

  1. डिवाइस की भाषा पर सटीक मिलान।
  2. कुंजी "default"
  3. कुंजी "en"
  4. मैप में मौजूद कोई अन्य लोकेल।

कम से कम "default" या "en" में से एक प्रदान करें ताकि प्रत्येक डिवाइस में एक नियतात्मक फ़ॉलबैक हो। यदि आप प्रति-लोकेल वेरिएंट की उम्मीद नहीं करते हैं, तो केवल "default" भेजें।

प्रत्येक लोकेल प्रविष्टि वैकल्पिक प्रति-प्लेटफ़ॉर्म ब्लॉक के साथ एक Content ऑब्जेक्ट है। केवल उन प्लेटफ़ॉर्म को भरें जिन्हें आप लक्षित करते हैं।

प्लेटफ़ॉर्म ब्लॉकचैनल
iosiOS पुश
androidAndroid (FCM) पुश
huawei_androidHuawei Android पुश
baidu_androidBaidu Android पुश
mac_osmacOS पुश
amazonAmazon (ADM) पुश
safariSafari वेब पुश
chromeChrome वेब पुश
firefoxFirefox वेब पुश
ieInternet Explorer वेब पुश
windowsWindows पुश (टाइल / टोस्ट / बैज)
telegramTelegram संदेश
kakaoKakao संदेश
lineLINE संदेश
viberViber संदेश
whatsappWhatsApp संदेश
smsSMS संदेश

सामान्य पुश फ़ील्ड

Anchor link to

ये फ़ील्ड ios, android, huawei_android, baidu_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"
}
}
  • subtitle (स्ट्रिंग): 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, baidu_android)

Anchor link to
  • icon (स्ट्रिंग): अधिसूचना छोटा आइकन।
  • 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 to
  • action (स्ट्रिंग): जब उपयोगकर्ता अधिसूचना पर क्लिक करता है तो खोला गया 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 to
  • icon, 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 to

Windows एक अलग आकार का उपयोग करता है:

{
"windows": {
"type": "TOAST",
"template": { "title": "Hello", "body": "Tap to view" },
"tag": "promo",
"cache": true,
"time_to_live": "3600s"
}
}
  • type TILE, TOAST, या BADGE है।
  • template (संरचित) या raw ({ "content": "<raw xml>" }) — ठीक एक।

Telegram (telegram)

Anchor link to
  • body (स्ट्रिंग): संदेश टेक्स्ट।
  • content_variables (स्ट्रिंग): बॉट-साइड टेम्पलेट के लिए JSON-स्ट्रिंगिफाइड चर।
{
"telegram": {
"body": "Hello from Pushwoosh",
"content_variables": "{\"name\":\"John\"}"
}
}

Kakao (kakao)

Anchor link to
  • content (स्ट्रिंग): संदेश सामग्री।
  • template (स्ट्रिंग): स्वीकृत टेम्पलेट कोड।
  • content_variables (स्ट्रिंग): JSON-स्ट्रिंगिफाइड टेम्पलेट चर बाइंडिंग।
{
"kakao": {
"content": "Hello from Pushwoosh",
"template": "welcome_v1",
"content_variables": "{\"name\":\"John\"}"
}
}

LINE (line)

Anchor link to
  • content (स्ट्रिंग): सादा टेक्स्ट बॉडी।
  • template (स्ट्रिंग): Pushwoosh कंट्रोल पैनल में कॉन्फ़िगर किए गए LINE टेम्पलेट का कोड (छवि, हिंडोला, या फ्लेक्स संदेश भेजने के लिए उपयोग किया जाता है)। रिच सामग्री के लिए, कंट्रोल पैनल में टेम्पलेट को पूर्व-कॉन्फ़िगर करें और इसे यहां संदर्भित करें।

content या template में से कम से कम एक सेट होना चाहिए।

{
"line": {
"content": "Hello from Pushwoosh",
"template": "promo_carousel"
}
}

Viber (viber)

Anchor link to

एक Viber संदेश या तो एक फ्री-टेक्स्ट बॉडी होता है या एक पूर्व-अनुमोदित ट्रांजैक्शनल टेम्पलेट (ओमनी मैसेजिंग / MStat) होता है जिसे आईडी और भाषा द्वारा संदर्भित किया जाता है।

  • body (स्ट्रिंग): सादा टेक्स्ट संदेश। जब template_id सेट नहीं होता है तो आवश्यक है।
  • template_id (स्ट्रिंग): एक पूर्व-अनुमोदित ट्रांजैक्शनल टेम्पलेट की आईडी। जब सेट किया जाता है, तो यह body पर प्राथमिकता लेता है।
  • template_lang (स्ट्रिंग): टेम्पलेट लोकेल। जब template_id सेट होता है तो आवश्यक है।
  • template_params (मैप<स्ट्रिंग, स्ट्रिंग>): टेम्पलेट में प्रतिस्थापित कुंजी/मान बाइंडिंग, जैसे { "name": "John", "code": "123456" }
  • all_devices (बूल): false (डिफ़ॉल्ट) केवल उपयोगकर्ता के प्राथमिक डिवाइस पर डिलीवर करता है; true उपयोगकर्ता के सभी डिवाइस पर डिलीवर करता है।

body या template_id में से कम से कम एक सेट होना चाहिए। जब template_id सेट होता है, तो template_lang आवश्यक है।

Viber प्राप्तकर्ताओं को hwids के रूप में viber:<phone> (E.164) प्रारूप में संबोधित करें, उदाहरण के लिए 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 to

WhatsApp संदेश 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 का प्रत्येक लोकेल के 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 तक। प्रत्येक एक पूर्ण https URL होना चाहिए जो .jpg या .gif में समाप्त हो — .jpeg और .png को सत्यापन द्वारा अस्वीकार कर दिया जाता है, भले ही एक वास्तविक JPEG या PNG फ़ाइल के लिए हो, क्योंकि प्रदाता उन्हें डीकोड नहीं कर सकता है। प्रत्येक फ़ाइल 200 KB या उससे छोटी होनी चाहिए; यदि कोई अटैचमेंट भारी है तो AbleMobile पूरे भेजने को अस्वीकार कर देता है।
  • message_at (int): file_urls में इंडेक्स (0-आधारित) जिसके बाद SMS बॉडी टेक्स्ट दिखाया जाता है।

subject और file_urls लिक्विड वैयक्तिकरण का समर्थन करते हैं, 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): एक रिच मीडिया पृष्ठ खोलें।
  • deep_link: एक डीप लिंक खोलें: { "code": "flow-code", "params": { "key": "value" } }
  • link (Link): एक URL खोलें।
{
"open_action": {
"deep_link": { "code": "flow-code", "params": { "promo": "summer" } }
}
}

डीपलिंक URL और params मान लिक्विड वैयक्तिकरण सिंटैक्स का समर्थन करते हैं — डीप लिंक खोले जाने से पहले अभिव्यक्तियों को हल किया जाता है।

रिचमीडिया

Anchor link to
{ "code": "XXXXX-XXXXX" } // रिच मीडिया कोड द्वारा
{ "url": "https://..." } // रिमोट URL द्वारा

लिंक

Anchor link to
{
"url": "https://example.com/promo",
"shortener": "BITLY"
}

shortener NONE (डिफ़ॉल्ट) या BITLY है।

इनबॉक्स

Anchor link to

कॉन्फ़िगर करता है कि संदेश संदेश इनबॉक्स में कैसे दिखाई देता है।

{
"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_UNSPECIFIED
  • PRIORITY_MIN
  • PRIORITY_LOW
  • PRIORITY_DEFAULT
  • PRIORITY_HIGH
  • PRIORITY_MAX

उदाहरण: एक सेगमेंट को पुश भेजें

Anchor link to
Terminal window
curl -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 to
Terminal window
curl -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"
}
}'