सूचित करें
POST https://api.pushwoosh.com/messaging/v2/notify
एक संदेश बनाता है और शेड्यूल करता है।
रिक्वेस्ट संरचना
Anchor link toरिक्वेस्ट बॉडी एक NotifyRequest है जिसमें ठीक दो में से एक प्रकार होता है:
segment: सेगमेंट कोड, एक seglang एक्सप्रेशन, या एक संरचित फ़िल्टर एक्सप्रेशन द्वारा ऑडियंस सेगमेंट को लक्षित करें।transactional: hwids, यूज़र आईडी, पुश टोकन, या टेस्ट डिवाइस की एक स्पष्ट सूची में भेजें।
{ "segment": { ... }, // OR "transactional": { ... }, "transaction_id": "unique-uuid"}| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
transaction_id | string | वैकल्पिक। रिक्वेस्ट के लिए इडेम्पोटेंसी की - segment और transactional दोनों के साथ काम करती है। 5 मिनट के भीतर समान transaction_id के साथ एक दोहराया गया कॉल डुप्लिकेट संदेश भेजने के बजाय मूल message_code लौटाता है। प्रति लॉजिकल सेंड एक UUID या अन्य अद्वितीय मान का उपयोग करें। |
NotifySegment
Anchor link toउन यूज़र्स को लक्षित करता है जो ऑडियंस सेगमेंट या फ़िल्टर एक्सप्रेशन से मेल खाते हैं।
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
schedule | Schedule | कब और कैसे भेजें। आवश्यक। |
application | string | एप्लिकेशन कोड। |
platforms | array of Platform | प्लेटफ़ॉर्म जिन्हें संदेश लक्षित करता है। |
code | string | सेगमेंट कोड। expression और filter_expression के साथ परस्पर अनन्य। |
expression | string | Seglang एक्सप्रेशन। |
filter_expression | FilterExpression | संरचित फ़िल्टर एक्सप्रेशन (उन्नत)। |
payload | Payload | पुश / एसएमएस / टेलीग्राम / काकाओ / लाइन / व्हाट्सएप / वाइबर पेलोड। email_payload के साथ परस्पर अनन्य। |
email_payload | EmailPayload | ईमेल पेलोड। |
campaign | string | इस संदेश को एट्रिब्यूट करने के लिए कैंपेन कोड। |
frequency_capping | FrequencyCapping | प्रति-यूज़र फ़्रीक्वेंसी सीमाएँ। |
send_rate | SendRate | भेजने के लिए थ्रॉटलिंग। |
message_type | MessageType | MESSAGE_TYPE_MARKETING (डिफ़ॉल्ट) या MESSAGE_TYPE_TRANSACTIONAL। कंट्रोल-ग्रुप फ़िल्टरिंग को नियंत्रित करता है। |
dynamic_content_placeholders | map<string, string> | कंटेंट में प्लेसहोल्डर्स को बदलता है। |
meta_data | object | डाउनस्ट्रीम एनालिटिक्स को फॉरवर्ड किया गया फ्री-फॉर्म मेटाडेटा। |
उदाहरण: एक सेगमेंट को भेजें
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 | पुश / एसएमएस / टेलीग्राम / काकाओ / लाइन / व्हाट्सएप / वाइबर पेलोड। |
email_payload | EmailPayload | ईमेल पेलोड। |
return_unknown_identifiers | bool | जब true होता है, तो प्रतिक्रिया का unknown_identifiers उन पहचानकर्ताओं को सूचीबद्ध करता है जो नहीं मिले थे। |
use_latest_user_device | bool | केवल तब लागू होता है जब आप users को लक्षित करते हैं। जब true होता है, तो संदेश प्रत्येक यूज़र के सबसे हाल ही में सक्रिय डिवाइस पर डिलीवर किया जाता है - वह डिवाइस जिसमें नवीनतम लास्ट एप्लिकेशन ओपन होता है - उस यूज़र आईडी से जुड़े सभी डिवाइस के बजाय। डिफ़ॉल्ट रूप से false (हर डिवाइस पर भेजें) होता है। |
campaign, 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 को पूरी तरह से छोड़ दें, या count: 0 के साथ days: 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, BAIDU_ANDROID, HUAWEI_ANDROID, SMS, WEB, KAKAO, TELEGRAM, LINE, WHATS_APP, VIBER।
MessageType एनम
Anchor link toMESSAGE_TYPE_UNSPECIFIED:MESSAGE_TYPE_MARKETINGके बराबर।MESSAGE_TYPE_MARKETING: कंट्रोल-ग्रुप फ़िल्टरिंग और फ़्रीक्वेंसी कैपिंग के अधीन।MESSAGE_TYPE_TRANSACTIONAL: कंट्रोल-ग्रुप फ़िल्टरिंग और फ़्रीक्वेंसी कैपिंग को छोड़ देता है। ऑर्डर कन्फर्मेशन, OTPs, और इसी तरह के महत्वपूर्ण प्रवाहों के लिए उपयोग करें।