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

पेलोड संदर्भ

किसी भी गैर-ईमेल चैनल (पुश, SMS, टेलीग्राम, काकाओ, लाइन, वाइबर, व्हाट्सएप) के माध्यम से भेजते समय 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 (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" } }
}
}

LocalizedContent

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 पुश (टाइल / टोस्ट / बैज)
telegramटेलीग्राम संदेश
kakaoकाकाओ संदेश
lineलाइन संदेश
viberवाइबर संदेश
whatsappव्हाट्सएप संदेश
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): संदेश इनबॉक्स प्रविष्टि।
{
"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 (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 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 (स्ट्रिंग): बटन-URL प्लेसहोल्डर्स को मैप करने वाला JSON ऑब्जेक्ट, जो बटन इंडेक्स द्वारा कुंजीबद्ध है, जैसे "{\"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." } }
}
}
}
}

OpenAction

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" } }
}
}
{ "code": "XXXXX-XXXXX" } // रिच मीडिया कोड द्वारा
{ "url": "https://..." } // रिमोट URL द्वारा
{
"url": "https://example.com/promo",
"shortener": "BITLY"
}

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

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

{
"image_url": "https://cdn.example.com/inbox.png",
"expiration_date": "2026-05-15T00:00:00Z"
}
  • image_url (स्ट्रिंग): इनबॉक्स प्रविष्टि में दिखाई गई छवि।
  • expiration_date (टाइमस्टैम्प): जब प्रविष्टि इनबॉक्स से हटा दी जाती है।

NotificationPriority enum

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"
}
}'