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

Notify

POST https://api.pushwoosh.com/messaging/v2/notify

एक एकल संदेश बनाता है और शेड्यूल करता है।

अनुरोध संरचना

Anchor link to

अनुरोध बॉडी एक NotifyRequest है जिसमें ठीक दो में से एक प्रकार होता है:

  • segment: सेगमेंट कोड द्वारा एक ऑडियंस सेगमेंट को लक्षित करें, या — पहले एक सेगमेंट बनाए बिना — एक seglang एक्सप्रेशन या एक संरचित फ़िल्टर एक्सप्रेशन।
  • transactional: hwids, यूज़र आईडी, पुश टोकन, या परीक्षण उपकरणों की एक स्पष्ट सूची में भेजें।
Shape
{
"segment": { ... }, // या
"transactional": { ... },
"transaction_id": "unique-uuid"
}
फ़ील्डप्रकारविवरण
transaction_idstringवैकल्पिक। अनुरोध के लिए इडेम्पोटेंसी कुंजी — segment और transactional दोनों के साथ काम करती है। 5 मिनट के भीतर समान transaction_id के साथ एक दोहराया गया कॉल डुप्लिकेट संदेश भेजने के बजाय मूल message_code लौटाता है। प्रति तार्किक भेजने के लिए एक UUID या किसी अन्य अद्वितीय मान का उपयोग करें।

NotifySegment

Anchor link to

उन उपयोगकर्ताओं को लक्षित करता है जो एक ऑडियंस सेगमेंट या फ़िल्टर एक्सप्रेशन से मेल खाते हैं। code, expression, या filter_expression में से ठीक एक सेट करें। expression और filter_expression के लिए, पहले से कोई सेगमेंट बनाने की आवश्यकता नहीं है — एक्सप्रेशन का मूल्यांकन केवल इस भेजने के लिए इनलाइन किया जाता है।

फ़ील्डप्रकारविवरण
scheduleScheduleकब और कैसे भेजना है। आवश्यक।
applicationstringएप्लिकेशन कोड।
platformsarray of Platformप्लेटफ़ॉर्म जिन्हें संदेश लक्षित करता है।
codestringपहले से सहेजे गए सेगमेंट का सेगमेंट कोड। expression और filter_expression के साथ परस्पर अनन्य।
expressionstringSeglang एक्सप्रेशन, केवल इस भेजने के लिए मूल्यांकित — कोई सहेजा गया सेगमेंट आवश्यक नहीं है। code और filter_expression के साथ परस्पर अनन्य।
filter_expressionFilterExpressionexpression के समान तर्क, एक seglang स्ट्रिंग के बजाय एक संरचित ऑब्जेक्ट के रूप में। code और expression के साथ परस्पर अनन्य। FilterExpression स्कीमा सार्वजनिक रूप से प्रलेखित नहीं है — यदि आपको संरचित रूप की आवश्यकता है तो इसे Pushwoosh समर्थन से अनुरोध करें।
payloadPayloadपुश / SMS / टेलीग्राम / काकाओ / लाइन / व्हाट्सएप / वाइबर / फेसबुक मैसेंजर पेलोड। email_payload के साथ परस्पर अनन्य।
email_payloadEmailPayloadईमेल पेलोड।
campaignstringइस संदेश को एट्रिब्यूट करने के लिए अभियान कोड।
campaign_namestringइस संदेश का आंतरिक नाम, जो Message History में पंक्ति के शीर्षक के रूप में और उसके एक्सपोर्ट में दिखाया जाता है। ऊपर दिए campaign से इसका कोई संबंध नहीं है। यह संदेशों को समूहीकृत नहीं करता और डिलीवरी को प्रभावित नहीं करता। अधिकतम 255 वर्ण, ट्रिम किया गया। इसे छोड़ दें या खाली रहने दें, ताकि पंक्ति का शीर्षक पेलोड की अपनी सामग्री से बने।
frequency_cappingFrequencyCappingप्रति-उपयोगकर्ता आवृत्ति सीमाएँ।
send_rateSendRateभेजने के लिए थ्रॉटलिंग।
message_typeMessageTypeMESSAGE_TYPE_MARKETING (डिफ़ॉल्ट) या MESSAGE_TYPE_TRANSACTIONAL। कंट्रोल-ग्रुप फ़िल्टरिंग को नियंत्रित करता है।
dynamic_content_placeholdersmap<string, string>सामग्री में प्लेसहोल्डर्स को प्रतिस्थापित करता है।
meta_dataobjectडाउनस्ट्रीम एनालिटिक्स को अग्रेषित फ्री-फॉर्म मेटाडेटा।
use_latest_user_deviceboolजब true होता है, तो सेगमेंट द्वारा मेल खाने वाले प्रत्येक डिवाइस के बजाय प्रत्येक उपयोगकर्ता के सबसे हाल ही में सक्रिय डिवाइस (नवीनतम लास्ट एप्लिकेशन ओपन वाले) पर संदेश वितरित करता है। platforms तक सीमित: केवल उन प्लेटफ़ॉर्म पर डिवाइस पर विचार किया जाता है, और यदि किसी के पास लास्ट एप्लिकेशन ओपन डेटा नहीं है, तो भेजने को छोड़ने के बजाय पहले मेल खाने वाले डिवाइस का उपयोग किया जाता है। डिफ़ॉल्ट false (प्रत्येक डिवाइस पर भेजें)।

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

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": { "body": "Hello!" },
"android": { "body": "Hello!" }
}
}
}
},
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_MARKETING"
}
}'

NotifyTransactional

Anchor link to

प्राप्तकर्ताओं की एक स्पष्ट सूची में भेजता है।

फ़ील्डप्रकारविवरण
scheduleScheduleआवश्यक।
applicationstringएप्लिकेशन कोड।
platformsarray of Platformप्लेटफ़ॉर्म जिन्हें संदेश लक्षित करता है।
test_devicesboolयदि true है, तो केवल ऐप के परीक्षण उपकरणों पर भेजें।
hwids{ "list": [string, ...] }केवल इन hwids पर भेजें।
users{ "list": [string, ...] }केवल इन यूज़र आईडी पर भेजें।
push_tokens{ "list": [string, ...] }केवल इन पुश टोकन पर भेजें।
payloadPayloadपुश / SMS / टेलीग्राम / काकाओ / लाइन / व्हाट्सएप / वाइबर / फेसबुक मैसेंजर पेलोड।
email_payloadEmailPayloadईमेल पेलोड।
return_unknown_identifiersboolजब true होता है, तो प्रतिक्रिया का unknown_identifiers उन पहचानकर्ताओं को सूचीबद्ध करता है जो नहीं मिले थे।
use_latest_user_deviceboolकेवल तब लागू होता है जब आप 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 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": ["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_codestringअद्वितीय संदेश कोड। इसे /getMessageDetails और संदेश सांख्यिकी एंडपॉइंट्स के साथ उपयोग करें।
unknown_identifiersarray of stringखाते पर नहीं मिले पहचानकर्ता। केवल तब पॉप्युलेट किया जाता है जब transactional प्रकार पर return_unknown_identifiers: true सेट किया गया था।

साझा प्रकार

Anchor link to
{
"at": "2026-05-01T12:00:00Z",
"follow_user_timezone": true,
"past_timezones_behaviour": "PAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY"
}
फ़ील्डप्रकारविवरण
attimestampनिरपेक्ष भेजने का समय (RFC 3339)। यदि अतीत में है, तो संदेश तुरंत भेजा जाता है। भविष्य में अधिकतम 14 दिन।
afterdurationat का विकल्प। “अब” से इस ऑफ़सेट के बाद भेजें (जैसे "3600s")।
follow_user_timezoneboolजब true होता है, तो प्रत्येक डिवाइस अपने स्थानीय टाइमज़ोन में at पर संदेश प्राप्त करता है।
past_timezones_behaviourenumPAST_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): उन उपयोगकर्ताओं से सॉफ्ट-अवॉइड करें जो पहले ही कैप तक पहुंच चुके हैं (वे अभी भी एनालिटिक्स में गिने जाते हैं)।
{ "value": 500, "bucket": "1s", "avoid": false }

भेजने को थ्रॉटल करता है। value प्रति bucket संदेश है; सामान्य bucket "1s" है।

प्लेटफ़ॉर्म एनम

Anchor link to

IOS, ANDROID, OSX, WINDOWS, AMAZON, SAFARI, CHROME, FIREFOX, IE, EMAIL, HUAWEI_ANDROID, SMS, WEB, KAKAO, TELEGRAM, LINE, WHATS_APP, VIBER, FB_MESSENGER।

MessageType एनम

Anchor link to
  • MESSAGE_TYPE_UNSPECIFIED: MESSAGE_TYPE_MARKETING के बराबर।
  • MESSAGE_TYPE_MARKETING: कंट्रोल-ग्रुप फ़िल्टरिंग और फ़्रीक्वेंसी कैपिंग के अधीन।
  • MESSAGE_TYPE_TRANSACTIONAL: कंट्रोल-ग्रुप फ़िल्टरिंग और फ़्रीक्वेंसी कैपिंग को छोड़ देता है। ऑर्डर पुष्टिकरण, OTPs, और इसी तरह के महत्वपूर्ण प्रवाहों के लिए उपयोग करें।

संबंधित

Anchor link to