Notify
POST https://api.pushwoosh.com/messaging/v2/notify
एक एकल संदेश बनाता है और शेड्यूल करता है।
अनुरोध संरचना
Anchor link toअनुरोध बॉडी एक NotifyRequest है जिसमें ठीक दो में से एक प्रकार होता है:
segment: सेगमेंट कोड द्वारा एक ऑडियंस सेगमेंट को लक्षित करें, या — पहले एक सेगमेंट बनाए बिना — एक seglang एक्सप्रेशन या एक संरचित फ़िल्टर एक्सप्रेशन।transactional: hwids, यूज़र आईडी, पुश टोकन, या परीक्षण उपकरणों की एक स्पष्ट सूची में भेजें।
{ "segment": { ... }, // या "transactional": { ... }, "transaction_id": "unique-uuid"}| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
transaction_id | string | वैकल्पिक। अनुरोध के लिए इडेम्पोटेंसी कुंजी — segment और transactional दोनों के साथ काम करती है। 5 मिनट के भीतर समान transaction_id के साथ एक दोहराया गया कॉल डुप्लिकेट संदेश भेजने के बजाय मूल message_code लौटाता है। प्रति तार्किक भेजने के लिए एक UUID या किसी अन्य अद्वितीय मान का उपयोग करें। |
NotifySegment
Anchor link toउन उपयोगकर्ताओं को लक्षित करता है जो एक ऑडियंस सेगमेंट या फ़िल्टर एक्सप्रेशन से मेल खाते हैं। code, expression, या filter_expression में से ठीक एक सेट करें। expression और filter_expression के लिए, पहले से कोई सेगमेंट बनाने की आवश्यकता नहीं है — एक्सप्रेशन का मूल्यांकन केवल इस भेजने के लिए इनलाइन किया जाता है।
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
schedule | Schedule | कब और कैसे भेजना है। आवश्यक। |
application | string | एप्लिकेशन कोड। |
platforms | array of Platform | प्लेटफ़ॉर्म जिन्हें संदेश लक्षित करता है। |
code | string | पहले से सहेजे गए सेगमेंट का सेगमेंट कोड। expression और filter_expression के साथ परस्पर अनन्य। |
expression | string | Seglang एक्सप्रेशन, केवल इस भेजने के लिए मूल्यांकित — कोई सहेजा गया सेगमेंट आवश्यक नहीं है। code और filter_expression के साथ परस्पर अनन्य। |
filter_expression | FilterExpression | expression के समान तर्क, एक seglang स्ट्रिंग के बजाय एक संरचित ऑब्जेक्ट के रूप में। code और expression के साथ परस्पर अनन्य। FilterExpression स्कीमा सार्वजनिक रूप से प्रलेखित नहीं है — यदि आपको संरचित रूप की आवश्यकता है तो इसे Pushwoosh समर्थन से अनुरोध करें। |
payload | Payload | पुश / SMS / टेलीग्राम / काकाओ / लाइन / व्हाट्सएप / वाइबर / फेसबुक मैसेंजर पेलोड। email_payload के साथ परस्पर अनन्य। |
email_payload | EmailPayload | ईमेल पेलोड। |
campaign | string | इस संदेश को एट्रिब्यूट करने के लिए अभियान कोड। |
campaign_name | string | इस संदेश का आंतरिक नाम, जो Message History में पंक्ति के शीर्षक के रूप में और उसके एक्सपोर्ट में दिखाया जाता है। ऊपर दिए campaign से इसका कोई संबंध नहीं है। यह संदेशों को समूहीकृत नहीं करता और डिलीवरी को प्रभावित नहीं करता। अधिकतम 255 वर्ण, ट्रिम किया गया। इसे छोड़ दें या खाली रहने दें, ताकि पंक्ति का शीर्षक पेलोड की अपनी सामग्री से बने। |
frequency_capping | FrequencyCapping | प्रति-उपयोगकर्ता आवृत्ति सीमाएँ। |
send_rate | SendRate | भेजने के लिए थ्रॉटलिंग। |
message_type | MessageType | MESSAGE_TYPE_MARKETING (डिफ़ॉल्ट) या MESSAGE_TYPE_TRANSACTIONAL। कंट्रोल-ग्रुप फ़िल्टरिंग को नियंत्रित करता है। |
dynamic_content_placeholders | map<string, string> | सामग्री में प्लेसहोल्डर्स को प्रतिस्थापित करता है। |
meta_data | object | डाउनस्ट्रीम एनालिटिक्स को अग्रेषित फ्री-फॉर्म मेटाडेटा। |
use_latest_user_device | bool | जब true होता है, तो सेगमेंट द्वारा मेल खाने वाले प्रत्येक डिवाइस के बजाय प्रत्येक उपयोगकर्ता के सबसे हाल ही में सक्रिय डिवाइस (नवीनतम लास्ट एप्लिकेशन ओपन वाले) पर संदेश वितरित करता है। platforms तक सीमित: केवल उन प्लेटफ़ॉर्म पर डिवाइस पर विचार किया जाता है, और यदि किसी के पास लास्ट एप्लिकेशन ओपन डेटा नहीं है, तो भेजने को छोड़ने के बजाय पहले मेल खाने वाले डिवाइस का उपयोग किया जाता है। डिफ़ॉल्ट false (प्रत्येक डिवाइस पर भेजें)। |
उदाहरण: एक सेगमेंट को भेजें
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": { "body": "Hello!" }, "android": { "body": "Hello!" } } } } }, "schedule": { "at": "2026-05-01T12:00:00Z" }, "message_type": "MESSAGE_TYPE_MARKETING" } }'NotifyTransactional
Anchor link toप्राप्तकर्ताओं की एक स्पष्ट सूची में भेजता है।
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
schedule | Schedule | आवश्यक। |
application | string | एप्लिकेशन कोड। |
platforms | array of Platform | प्लेटफ़ॉर्म जिन्हें संदेश लक्षित करता है। |
test_devices | bool | यदि true है, तो केवल ऐप के परीक्षण उपकरणों पर भेजें। |
hwids | { "list": [string, ...] } | केवल इन hwids पर भेजें। |
users | { "list": [string, ...] } | केवल इन यूज़र आईडी पर भेजें। |
push_tokens | { "list": [string, ...] } | केवल इन पुश टोकन पर भेजें। |
payload | Payload | पुश / SMS / टेलीग्राम / काकाओ / लाइन / व्हाट्सएप / वाइबर / फेसबुक मैसेंजर पेलोड। |
email_payload | EmailPayload | ईमेल पेलोड। |
return_unknown_identifiers | bool | जब true होता है, तो प्रतिक्रिया का unknown_identifiers उन पहचानकर्ताओं को सूचीबद्ध करता है जो नहीं मिले थे। |
use_latest_user_device | bool | केवल तब लागू होता है जब आप users को लक्षित करते हैं। ऊपर NotifySegment के समान व्यवहार — platforms तक सीमित, प्रति डिवाइस एक के बजाय प्रति उपयोगकर्ता एक संदेश वितरित करता है। डिफ़ॉल्ट false। |
campaign, campaign_name, frequency_capping, send_rate, message_type, dynamic_content_placeholders, meta_data | ऊपर NotifySegment देखें। |
test_devices, hwids, users, और push_tokens परस्पर अनन्य हैं। ठीक एक सेट होना चाहिए।
उदाहरण: यूज़र आईडी द्वारा ट्रांसेक्शनल
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": ["user-123", "user-456"] }, "payload": { "content": { "localized_content": { "en": { "ios": { "body": "Your order has shipped." } } } } }, "schedule": { "at": "2026-05-01T12:00:00Z" }, "message_type": "MESSAGE_TYPE_TRANSACTIONAL", "return_unknown_identifiers": true, "use_latest_user_device": true } }'प्रतिक्रिया
Anchor link to{ "result": { "message_code": "XXXXX-XXXXX-XXXXX", "unknown_identifiers": [] }}| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
message_code | string | अद्वितीय संदेश कोड। इसे /getMessageDetails और संदेश सांख्यिकी एंडपॉइंट्स के साथ उपयोग करें। |
unknown_identifiers | array of string | खाते पर नहीं मिले पहचानकर्ता। केवल तब पॉप्युलेट किया जाता है जब transactional प्रकार पर return_unknown_identifiers: true सेट किया गया था। |
साझा प्रकार
Anchor link toSchedule
Anchor link to{ "at": "2026-05-01T12:00:00Z", "follow_user_timezone": true, "past_timezones_behaviour": "PAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY"}| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
at | timestamp | निरपेक्ष भेजने का समय (RFC 3339)। यदि अतीत में है, तो संदेश तुरंत भेजा जाता है। भविष्य में अधिकतम 14 दिन। |
after | duration | at का विकल्प। “अब” से इस ऑफ़सेट के बाद भेजें (जैसे "3600s")। |
follow_user_timezone | bool | जब true होता है, तो प्रत्येक डिवाइस अपने स्थानीय टाइमज़ोन में at पर संदेश प्राप्त करता है। |
past_timezones_behaviour | enum | PAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY (डिफ़ॉल्ट), PAST_TIMEZONES_BEHAVIOUR_DO_NOT_SEND, या PAST_TIMEZONES_BEHAVIOUR_NEXT_DAY। केवल तब सार्थक जब follow_user_timezone true हो। |
FrequencyCapping
Anchor link toमार्केटिंग भेजने के लिए प्रति-उपयोगकर्ता आवृत्ति सीमाएँ। कैपिंग को अक्षम करने के लिए, frequency_capping को पूरी तरह से छोड़ दें, या days: 0 को count: 0 के साथ भेजें।
{ "days": 7, "count": 3, "exclude": false, "avoid": true }days(int, 1–30, या0कैपिंग अक्षम करने के लिए): लुक-बैक विंडो।countके साथ भेजा जाना चाहिए — यदि एक0है, तो दूसरा भी0होना चाहिए; एक को0के रूप में भेजना जबकि दूसरा गैर-शून्य है,400लौटाता है।count(int, 1 या उच्चतर, या0कैपिंग अक्षम करने के लिए):daysके भीतर अनुमत अधिकतम संदेश। ऊपरdaysके समान युग्मन नियम।exclude(bool): उन उपयोगकर्ताओं को हार्ड-एक्सक्लूड करें जो पहले ही कैप तक पहुंच चुके हैं।avoid(bool): उन उपयोगकर्ताओं से सॉफ्ट-अवॉइड करें जो पहले ही कैप तक पहुंच चुके हैं (वे अभी भी एनालिटिक्स में गिने जाते हैं)।
SendRate
Anchor link to{ "value": 500, "bucket": "1s", "avoid": false }भेजने को थ्रॉटल करता है। value प्रति bucket संदेश है; सामान्य bucket "1s" है।
प्लेटफ़ॉर्म एनम
Anchor link toIOS, ANDROID, OSX, WINDOWS, AMAZON, SAFARI, CHROME, FIREFOX, IE, EMAIL, HUAWEI_ANDROID, SMS, WEB, KAKAO, TELEGRAM, LINE, WHATS_APP, VIBER, FB_MESSENGER।
MessageType एनम
Anchor link toMESSAGE_TYPE_UNSPECIFIED:MESSAGE_TYPE_MARKETINGके बराबर।MESSAGE_TYPE_MARKETING: कंट्रोल-ग्रुप फ़िल्टरिंग और फ़्रीक्वेंसी कैपिंग के अधीन।MESSAGE_TYPE_TRANSACTIONAL: कंट्रोल-ग्रुप फ़िल्टरिंग और फ़्रीक्वेंसी कैपिंग को छोड़ देता है। ऑर्डर पुष्टिकरण, OTPs, और इसी तरह के महत्वपूर्ण प्रवाहों के लिए उपयोग करें।