संदेश API
createMessage
Anchor link toPOST https://api.pushwoosh.com/json/1.3/createMessage
एक नया पुश नोटिफिकेशन बनाता है।
अनुरोध बॉडी
Anchor link to| नाम | प्रकार | विवरण |
|---|---|---|
| auth* | string | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| application* | string | Pushwoosh एप्लिकेशन कोड |
| notifications* | array | संदेश पैरामीटर का JSON ऐरे। नीचे अनुरोध के उदाहरण में विवरण देखें। |
{ "status_code": 200, "status_message": "OK", "response": { "Messages": [ "C3F8-C3863ED4-334AD4F1" ] }}अनुरोध का उदाहरण
Anchor link to{ "request": { "application": "XXXXX-XXXXX", // आवश्यक। Pushwoosh एप्लिकेशन कोड। "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। "notifications": [{ "send_date": "now", // वैकल्पिक। YYYY-MM-DD HH:mm या 'now' "content": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। "en": "English", // Windows के लिए इसके बजाय "wns_content" का उपयोग करें। "fr": "French" }, "title": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। "en": "Title", // यदि प्लेटफ़ॉर्म-विशिष्ट शीर्षक निर्दिष्ट हैं तो इसे अनदेखा किया जाता है "fr": "Titre" // 'ios_title', 'android_header', आदि। }, // नीचे प्लेटफ़ॉर्म-विशिष्ट पैरामीटर के उदाहरण देखें। "subtitle":{ // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। "en": "Subtitle", // यदि प्लेटफ़ॉर्म-विशिष्ट शीर्षक निर्दिष्ट हैं तो इसे अनदेखा किया जाता है "fr": "Sous-titre" // 'ios_subtitle', आदि। }, // नीचे प्लेटफ़ॉर्म-विशिष्ट पैरामीटर के उदाहरण देखें। "ignore_user_timezone": true, // वैकल्पिक। "timezone": "America/New_York", // वैकल्पिक। यदि अनदेखा किया जाता है तो "send_date" के लिए UTC-0 डिफ़ॉल्ट है। // https://php.net/manual/timezones.php देखें // समर्थित टाइमज़ोन के लिए। "campaign": "CAMPAIGN_CODE", // वैकल्पिक। अभियान कोड जिसमें आप // इस पुश संदेश को असाइन करना चाहते हैं। "geozone": { // वैकल्पिक। जियोज़ोन पर भेजें "lat": 22.22, "lng": 33.33, "range": 110 }, "rich_media": "XXXXX-XXXXX", // वैकल्पिक। Pushwoosh कंट्रोल पैनल में रिच मीडिया एडिटर पेज // के URL बार से रिच मीडिया कोड कॉपी करें। "link": "https://google.com", // वैकल्पिक। डीपलिंक्स के लिए "minimize_link": 0 जोड़ें "minimize_link": 0, // वैकल्पिक। 0 — छोटा न करें, 2 — bitly। डिफ़ॉल्ट = 2। // कृपया ध्यान दें कि शॉर्टनर पर // कॉल की संख्या पर प्रतिबंध हैं। "data": { // वैकल्पिक। JSON स्ट्रिंग या JSON ऑब्जेक्ट, के रूप में पास किया जाएगा "key": "value" // पेलोड में "u" पैरामीटर (JSON स्ट्रिंग में परिवर्तित)। }, "transactionId": "unique UUID", // वैकल्पिक। नेटवर्क समस्याओं के मामले में // दोहराव को रोकने के लिए अद्वितीय संदेश पहचानकर्ता। // Pushwoosh की तरफ 5 मिनट के लिए संग्रहीत। "platforms": [ // वैकल्पिक। 1 — iOS; 3 — Android; 7 — Mac OS X; 8 — Windows; 1, 3, 7, 8, 9, 10, // 9 — Amazon; 10 — Safari; 11 — Chrome; 11, 12, 17 // 12 — Firefox; 17 — Huawei ], "preset": "XXXXX-XXXXX", // वैकल्पिक। आपके कंट्रोल पैनल से पुश प्रीसेट कोड। // यदि अनुरोध में विशिष्ट पैरामीटर भेजे जाते हैं, // तो वे प्रीसेट के पैरामीटर को ओवरराइड करते हैं। "send_rate": 100, // वैकल्पिक। थ्रॉटलिंग। मान्य मान 100 से 1000 पुश/सेकंड तक हैं। "send_rate_avoid": true, // वैकल्पिक। यदि सही पर सेट है, तो थ्रॉटलिंग सीमा // इस विशिष्ट पुश नोटिफिकेशन पर लागू नहीं होगी। // टेम्प्लेटिंग से संबंधित, अधिक जानने के लिए कृपया टेम्प्लेट इंजन गाइड देखें "template_bindings": { // वैकल्पिक। "TemplatePlaceholder": "Value" }, "dynamic_content_placeholders": { // वैकल्पिक। डिवाइस टैग के बजाय गतिशील सामग्री के लिए प्लेसहोल्डर। "firstname": "John", "lastname": "Doe" },
// फ़्रीक्वेंसी कैपिंग पैरामीटर। सुनिश्चित करें कि कंट्रोल पैनल में ग्लोबल फ़्रीक्वेंसी कैपिंग कॉन्फ़िगर है। "capping_days": 30, // वैकल्पिक। फ़्रीक्वेंसी कैपिंग के लिए दिनों की संख्या (अधिकतम 30 दिन) "capping_count": 10, // वैकल्पिक। एक 'capping_days' अवधि के भीतर एक विशिष्ट ऐप से // एक विशेष डिवाइस पर भेजे जा सकने वाले पुश की अधिकतम संख्या। // यदि बनाया गया संदेश किसी डिवाइस के लिए 'capping_count' // सीमा से अधिक हो जाता है, तो यह उस डिवाइस पर नहीं भेजा जाएगा। "capping_exclude": true, // वैकल्पिक। यदि सही पर सेट है, तो यह पुश नोटिफिकेशन // भविष्य के पुश के लिए कैपिंग में नहीं गिना जाएगा। "capping_avoid": true, // वैकल्पिक। यदि सही पर सेट है, तो कैपिंग // इस विशिष्ट पुश नोटिफिकेशन पर लागू नहीं होगी।
// API के माध्यम से संदेश को इनबॉक्स में सहेजने के लिए, "inbox_date" या "inbox_image" का उपयोग करें। // जब इनमें से कम से कम एक पैरामीटर का उपयोग किया जाता है तो संदेश सहेजा जाता है। "inbox_date": "2017-02-02", // वैकल्पिक। निर्दिष्ट करें कि इनबॉक्स से संदेश कब हटाना है। // संदेश निर्दिष्ट तिथि के 00:00:01 UTC पर इनबॉक्स से हटा दिया जाएगा, // इसलिए पिछली तारीख वह अंतिम दिन है जब उपयोगकर्ता // अपने इनबॉक्स में संदेश देख सकता है। // यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट हटाने की तारीख // भेजने की तारीख के अगले दिन है। "inbox_image": "Inbox image URL", // वैकल्पिक। संदेश के पास दिखाई जाने वाली छवि। "inbox_days": 5, // वैकल्पिक। निर्दिष्ट करें कि इनबॉक्स से संदेश कब हटाना है // (दिनों में इनबॉक्स संदेश का जीवनकाल)। // "inbox_date" पैरामीटर के बजाय इस्तेमाल किया जा सकता है। // 30 दिनों तक।
"devices": [ // वैकल्पिक। लक्षित पुश भेजने के लिए टोकन या hwids निर्दिष्ट करें "hwid_XXXX" // सूचनाएं। एक ऐरे में 1000 से अधिक टोकन/hwids नहीं। ], // यदि सेट है, तो संदेश केवल सूची में मौजूद डिवाइसों // को भेजा जाएगा। डिवाइस सूची के लिए एप्लिकेशन समूह // की अनुमति नहीं है। iOS पुश टोकन केवल लोअर केस हो सकते हैं।
// उपयोगकर्ता-केंद्रित पुश सूचनाएं "users": [ // वैकल्पिक। यदि सेट है, तो संदेश केवल निर्दिष्ट "user_XXXX" // उपयोगकर्ता आईडी को दिया जाएगा (/registerUser कॉल के माध्यम से सेट)। ], // यदि डिवाइस पैरामीटर के साथ निर्दिष्ट किया गया है, // तो बाद वाले को अनदेखा कर दिया जाएगा। एक ऐरे में 1000 से अधिक // उपयोगकर्ता आईडी नहीं। उपयोगकर्ता सूची के लिए एप्लिकेशन समूह // की अनुमति नहीं है।
// फ़िल्टर और शर्तें "filter": "FILTER_NAME", // वैकल्पिक। "conditions": [ // वैकल्पिक। नीचे दी गई टिप्पणी देखें। ["Country", "EQ", "fr"], ["Language", "EQ", "en"] ], "conditions_operator": "AND" // वैकल्पिक। शर्तों के ऐरे के लिए तार्किक ऑपरेटर। // संभावित मान: AND | OR। AND डिफ़ॉल्ट है। }] }}VoIP नोटिफिकेशन अनुरोध का उदाहरण
Anchor link toPushwoosh iOS और Android के लिए VoIP-शैली कॉल नोटिफिकेशन का समर्थन करता है।
नीचे आप प्रत्येक प्लेटफ़ॉर्म के लिए API createMessage अनुरोधों के उदाहरण पा सकते हैं।
{ "request": { "application": "XXXXX-XXXXX", // आवश्यक। Pushwoosh एप्लिकेशन कोड। "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। "notifications": [ { "voip_push": true, // आवश्यक। VoIP पुश नोटिफिकेशन भेजने के लिए पैरामीटर आवश्यक है। "ios_root_params": { "aps": { "mutable-content": 1 // iOS10+ मीडिया अटैचमेंट के लिए आवश्यक। }, "callerName": "CallerName", // वैकल्पिक। कॉलर का नाम। यदि निर्दिष्ट नहीं है, तो "अज्ञात कॉलर" दिखाया जाता है। "video": true, // वैकल्पिक। इंगित करता है कि वीडियो कॉल समर्थित हैं या नहीं। "supportsHolding": true, // वैकल्पिक। इंगित करता है कि कॉल होल्डिंग कार्यक्षमता समर्थित है या नहीं। "supportsDTMF": false, // वैकल्पिक। डुअल-टोन मल्टी-फ़्रीक्वेंसी सिग्नल समर्थन को नियंत्रित करता है। "callId": "42", // वैकल्पिक। रद्द करने के लिए कॉल का अद्वितीय पहचानकर्ता। "cancelCall": true // वैकल्पिक। निर्दिष्ट "callId" के साथ कॉल को रद्द करने के लिए "true" पर सेट करें। } } ] }}Android
Anchor link to{ "request": { "application": "XXXXX-XXXXX", // आवश्यक। Pushwoosh एप्लिकेशन कोड। "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। "notifications": [ { "voip_push": true, // आवश्यक। VoIP पुश नोटिफिकेशन भेजने के लिए पैरामीटर आवश्यक है। "android_root_params": { "callerName": "callerName", // वैकल्पिक। कॉलर का नाम। यदि निर्दिष्ट नहीं है, तो "अज्ञात कॉलर" दिखाया जाता है। "video": true, // वैकल्पिक। इंगित करता है कि वीडियो कॉल समर्थित हैं या नहीं। "callId": 42, // वैकल्पिक। रद्द करने के लिए कॉल का अद्वितीय पहचानकर्ता। "cancelCall": true // वैकल्पिक। निर्दिष्ट "callId" के साथ कॉल को रद्द करने के लिए "true" पर सेट करें। } } ] }}प्लेटफ़ॉर्म-विशिष्ट पैरामीटर
Anchor link toiOS पैरामीटर
Anchor link to{ "request": { "application": "12345-67891", // आवश्यक। Pushwoosh एप्लिकेशन कोड "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "notifications": [{ "ios_title": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। पुश नोटिफिकेशन के लिए iOS विशिष्ट शीर्षक जोड़ता है। "en": "title" }, "ios_subtitle": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। पुश नोटिफिकेशन के लिए iOS विशिष्ट उपशीर्षक जोड़ता है। "en": "subtitle" }, "ios_content": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। पुश नोटिफिकेशन के लिए iOS विशिष्ट सामग्री जोड़ता है। "en": "content" }, "ios_badges": 5, // वैकल्पिक। iOS एप्लिकेशन बैज नंबर। // बैज मान को n से बढ़ाने/घटाने के लिए "+n" या "-n" का उपयोग करें। "ios_sound": "sound file.wav", // वैकल्पिक। एप्लिकेशन के मुख्य बंडल में ध्वनि फ़ाइल का नाम। // यदि खाली छोड़ दिया जाता है, तो डिवाइस एक डिफ़ॉल्ट सिस्टम ध्वनि उत्पन्न करेगा। "ios_sound_off": true, // वैकल्पिक। "ios_sound" फ़ील्ड द्वारा सेट की गई ध्वनि को सक्षम/अक्षम करें। "ios_ttl": 3600, // वैकल्पिक। टाइम टू लिव पैरामीटर - सेकंड में अधिकतम संदेश जीवनकाल। "ios_silent": 1, // वैकल्पिक। साइलेंट नोटिफिकेशन सक्षम करता है ("sound" और "content" को अनदेखा करें)। "ios_category_id": "1", // वैकल्पिक। Pushwoosh से iOS8 श्रेणी आईडी। "ios_root_params": { // वैकल्पिक। aps शब्दकोश के लिए रूट स्तर पैरामीटर। "aps": { "content-available": "0", // वैकल्पिक। साइलेंट पुश भेजने के लिए "1" और नियमित पुश के लिए "0" सेट करें। "mutable-content": 1 // iOS10+ मीडिया अटैचमेंट के लिए आवश्यक। }, "callerName": "CallerName", // वैकल्पिक VoIP पैरामीटर। कॉलर का नाम। यदि निर्दिष्ट नहीं है, तो "अज्ञात कॉलर" दिखाया जाता है। "video": true, // वैकल्पिक VoIP पैरामीटर। इंगित करता है कि वीडियो कॉल समर्थित हैं या नहीं। "supportsHolding": true, // वैकल्पिक VoIP पैरामीटर। इंगित करता है कि कॉल होल्डिंग कार्यक्षमता समर्थित है या नहीं। "supportsDTMF": false, // वैकल्पिक VoIP पैरामीटर। डुअल-टोन मल्टी-फ़्रीक्वेंसी सिग्नल समर्थन को नियंत्रित करता है। "data": {} // वैकल्पिक उपयोगकर्ता द्वारा आपूर्ति किया गया डेटा, अधिकतम 4KB }, "ios_attachment": "URL", // वैकल्पिक। नोटिफिकेशन में मीडिया सामग्री डालें। "ios_thread_id": "some thread id", // वैकल्पिक। संबंधित नोटिफिकेशन को समूहित करने के लिए पहचानकर्ता। // एक ही थ्रेड आईडी वाले संदेशों को लॉक स्क्रीन // और नोटिफिकेशन सेंटर में समूहित किया जाएगा। "ios_critical": true, // वैकल्पिक। iOS नोटिफिकेशन को एक महत्वपूर्ण अलर्ट के रूप में चिह्नित करता है // जो डिवाइस के म्यूट होने या डू नॉट डिस्टर्ब मोड // चालू होने पर भी ध्वनि बजाता है। "ios_category_custom": "category", // वैकल्पिक। कस्टम APNS श्रेणी। "ios_interruption_level": "active", // वैकल्पिक। "passive", "active", "time-sensitive", // "critical" में से एक। एक नोटिफिकेशन के महत्व // और वितरण समय को इंगित करता है। विवरण के लिए // वन-टाइम पुश गाइड देखें। "apns_trim_content": 1 // वैकल्पिक। (0|1) अतिरिक्त सामग्री स्ट्रिंग्स को इलिप्सिस के साथ ट्रिम करता है। }] }}Android पैरामीटर
Anchor link to{ "request": { "application": "12345-67891", // आवश्यक। Pushwoosh एप्लिकेशन कोड "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "notifications": [{ "android_header": { // वैकल्पिक। Android नोटिफिकेशन हेडर। "en": "header" }, "android_content": { // वैकल्पिक। Android नोटिफिकेशन सामग्री। "en": "content" }, "android_root_params": { // वैकल्पिक। कस्टम कुंजी-मान ऑब्जेक्ट। "key": "value", // एंड्रॉइड पेलोड प्राप्तकर्ताओं के लिए रूट स्तर पैरामीटर। "CancelID": 12345678, // वैकल्पिक। निर्दिष्ट संदेश आईडी के साथ पुश नोटिफिकेशन "voip": true, // आवश्यक VoIP पैरामीटर। VoIP पुश नोटिफिकेशन भेजने के लिए पैरामीटर आवश्यक है। "callerName": "callerName", // वैकल्पिक VoIP पैरामीटर। कॉलर का नाम। यदि निर्दिष्ट नहीं है, तो "अज्ञात कॉलर" दिखाया जाता है। "video": true, // वैकल्पिक VoIP पैरामीटर। इंगित करता है कि वीडियो कॉल समर्थित हैं या नहीं। }, // को रद्द करता है (संदेश इतिहास से आईडी प्राप्त करें) "android_sound": "soundfile", // वैकल्पिक। कोई फ़ाइल एक्सटेंशन नहीं। यदि खाली छोड़ दिया जाता है, // तो डिवाइस एक डिफ़ॉल्ट सिस्टम ध्वनि उत्पन्न करेगा। "android_sound_off": true, // वैकल्पिक। "android_sound" फ़ील्ड द्वारा सेट की गई ध्वनि को सक्षम/अक्षम करें "android_icon": "icon.png", // वैकल्पिक। "android_custom_icon": "URL.png", // वैकल्पिक। छवि फ़ाइल का पूरा URL। "android_banner": "URL.png", // वैकल्पिक। छवि फ़ाइल का पूरा URL। "android_badges": 5, // वैकल्पिक। Android एप्लिकेशन आइकन बैज नंबर। // बैज मान को n से बढ़ाने/घटाने के लिए "+n" या "-n" का उपयोग करें। "android_gcm_ttl": 3600, // वैकल्पिक। टाइम टू लिव पैरामीटर — सेकंड में अधिकतम संदेश जीवनकाल। "android_vibration": 0, // वैकल्पिक। उच्च-प्राथमिकता वाले पुश के लिए Android बल-कंपन। "android_led": "#rrggbb", // वैकल्पिक। LED हेक्स रंग, डिवाइस अपना सर्वश्रेष्ठ अनुमान लगाएगा। "android_priority": -1, // वैकल्पिक। Android 8.0 और उच्चतर वाले उपकरणों के लिए "महत्व" पैरामीटर // और Android 7.1 और निचले वाले उपकरणों के लिए "प्राथमिकता" पैरामीटर // सेट करता है। एक नोटिफिकेशन चैनल या एक विशेष नोटिफिकेशन // के व्यवधान स्तर को स्थापित करता है। मान्य मान -2, -1, 0, 1, 2 हैं। "android_delivery_priority": "normal", // वैकल्पिक। "normal" या "high"। // डिवाइस के पावर सेविंग मोड में होने पर // नोटिफिकेशन की डिलीवरी सक्षम करता है। "android_ibc": "#RRGGBB", // वैकल्पिक। लॉलीपॉप पर आइकन पृष्ठभूमि रंग, #RRGGBB, // #AARRGGBB, "red", "black", "yellow", आदि। "android_silent": 1, // वैकल्पिक। 0 या 1। साइलेंट नोटिफिकेशन सक्षम करें। // ध्वनि और सामग्री को अनदेखा करें "android_group_id": "123" // वैकल्पिक। संबंधित नोटिफिकेशन को समूहित करने के लिए पहचानकर्ता। एक ही // थ्रेड आईडी वाले संदेशों को नोटिफिकेशन सेंटर में // समूहित किया जाएगा। }] }}Huawei पैरामीटर
{ "request": { "application": "12345-67891", // आवश्यक। Pushwoosh एप्लिकेशन कोड "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "notifications": [{ "huawei_android_header": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। नोटिफिकेशन शीर्षक "en": "header" }, "huawei_android_content": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। नोटिफिकेशन सामग्री "en": "content" }, "huawei_android_badges": true, // वैकल्पिक। "huawei_android_silent": 0, // वैकल्पिक। 0 या 1। साइलेंट नोटिफिकेशन सक्षम करें। // ध्वनि और सामग्री को अनदेखा करें "huawei_android_icon": "URL.png", // वैकल्पिक। "huawei_android_led": "#FF0011", // वैकल्पिक। LED हेक्स रंग, डिवाइस अपना सर्वश्रेष्ठ अनुमान लगाएगा "huawei_android_vibration": 1, // वैकल्पिक। उच्च-प्राथमिकता वाले पुश के लिए Huawei बल-कंपन "huawei_android_sound": "sound.wav", // वैकल्पिक। यदि खाली छोड़ दिया जाता है, तो डिवाइस // एक डिफ़ॉल्ट सिस्टम ध्वनि उत्पन्न करेगा "huawei_android_sound_off": true, // वैकल्पिक। "huawei_android_sound" फ़ील्ड द्वारा // सेट की गई ध्वनि को सक्षम/अक्षम करें "huawei_android_custom_icon": "URL.png", // वैकल्पिक "huawei_android_gcm_ttl": 2400, // वैकल्पिक। टाइम टू लिव पैरामीटर - सेकंड में // अधिकतम संदेश जीवनकाल "huawei_android_banner": "URL.png", // वैकल्पिक। छवि फ़ाइल का पूरा पथ URL "huawei_android_root_params": { // वैकल्पिक। कस्टम कुंजी-मान ऑब्जेक्ट। "key": "value" // Huawei पेलोड प्राप्तकर्ताओं के लिए रूट-स्तर पैरामीटर। }, "huawei_android_priority": 0, // वैकल्पिक। मान्य मान: -2, -1, 0, 1, 2 "huawei_android_ibc": "#0011AA", // वैकल्पिक। लॉलीपॉप पर आइकन पृष्ठभूमि रंग "huawei_android_lockscreen": 1, // वैकल्पिक "huawei_android_delivery_priority": "normal", // वैकल्पिक। "normal" या "high"। पावर सेविंग मोड में // नोटिफिकेशन डिलीवरी सक्षम करता है "huawei_android_group_id": "group_id" // वैकल्पिक। संबंधित नोटिफिकेशन को समूहित करने के लिए पहचानकर्ता }] }}Safari पैरामीटर
Anchor link to{ "request": { "application": "12345-67891", // आवश्यक। Pushwoosh एप्लिकेशन कोड "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "notifications": [{ "safari_url_args": [ // आवश्यक, लेकिन मान खाली हो सकता है "firstArgument", "secondArgument" ], "safari_title": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। नोटिफिकेशन का शीर्षक। "en": "content" }, "safari_content": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। नोटिफिकेशन की सामग्री। "en": "content" }, "safari_action": "Click here", // वैकल्पिक। "safari_ttl": 3600 // वैकल्पिक। टाइम टू लिव पैरामीटर — सेकंड में // एक संदेश का अधिकतम जीवनकाल। }] }}Chrome पैरामीटर
Anchor link to{ "request": { "application": "12345-67891", // आवश्यक। Pushwoosh एप्लिकेशन कोड "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "notifications": [{ "chrome_title": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। आप इस पैरामीटर में "en": "title" // संदेश का हेडर निर्दिष्ट कर सकते हैं। }, "chrome_content": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। आप इस पैरामीटर में "en": "content" // संदेश की सामग्री निर्दिष्ट कर सकते हैं। }, "chrome_icon": "URL.png", // वैकल्पिक। आइकन या एक्सटेंशन संसाधन फ़ाइल पथ का पूरा URL "chrome_gcm_ttl": 3600, // वैकल्पिक। टाइम टू लिव पैरामीटर – सेकंड में अधिकतम संदेश जीवनकाल। "chrome_duration": 20, // वैकल्पिक। अधिकतम 50 सेकंड। क्रोम पुश प्रदर्शन समय बदलता है। // उपयोगकर्ता द्वारा इसके साथ इंटरैक्ट करने तक पुश प्रदर्शित करने के लिए 0 पर सेट करें। "chrome_image": "image_URL", // वैकल्पिक। बड़ी छवि का URL। "chrome_root_params": { // वैकल्पिक। क्रोम को भेजे गए संदेशों के लिए विशिष्ट पैरामीटर सेट करें। "key": "value" }, "chrome_button_text1": "text1", // वैकल्पिक "chrome_button_url1": "button1_URL", // वैकल्पिक। यदि chrome_button_text1 सेट नहीं है तो अनदेखा किया जाता है। "chrome_button_text2": "text2", // वैकल्पिक "chrome_button_url2": "button2_url" // वैकल्पिक। यदि chrome_button_text2 सेट नहीं है तो अनदेखा किया जाता है। }] }}Firefox पैरामीटर
Anchor link to{ "request": { "application": "12345-67891", // आवश्यक। Pushwoosh एप्लिकेशन कोड "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "notifications": [{ "firefox_title": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। आप यहां संदेश हेडर निर्दिष्ट कर सकते हैं। "en": "title" }, "firefox_content": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। आप यहां संदेश सामग्री निर्दिष्ट कर सकते हैं। "en": "content" }, "firefox_icon": "URL.png", // वैकल्पिक। आइकन का पूरा पथ URL या एक्सटेंशन संसाधनों // में फ़ाइल का पथ। "firefox_root_params": { // वैकल्पिक। Firefox को भेजे गए संदेशों के लिए विशिष्ट पैरामीटर सेट करें। "key": "value" } }] }}Amazon पैरामीटर
Anchor link to{ "request": { "application": "12345-67891", // आवश्यक। Pushwoosh एप्लिकेशन कोड "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "notifications": [{ "adm_header": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। आप यहां संदेश हेडर निर्दिष्ट कर सकते हैं। "en": "header" }, "adm_content": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। आप यहां संदेश सामग्री निर्दिष्ट कर सकते हैं। "en": "content" }, "adm_root_params": { // वैकल्पिक। कस्टम कुंजी-मान ऑब्जेक्ट "key": "value" }, "adm_sound": "push.mp3", // वैकल्पिक। "adm_sound_off": true, // वैकल्पिक। "adm_sound" फ़ील्ड द्वारा सेट की गई ध्वनि को सक्षम/अक्षम करें "adm_icon": "icon.png", // वैकल्पिक। आइकन का पूरा URL। "adm_custom_icon": "URL.png", // वैकल्पिक। "adm_banner": "URL.png", // वैकल्पिक। "adm_ttl": 3600, // वैकल्पिक। टाइम टू लिव पैरामीटर — सेकंड में // अधिकतम संदेश जीवनकाल। "adm_priority": -1 // वैकल्पिक। अमेज़ॅन पुश ड्रॉअर में पुश की प्राथमिकता, // मान्य मान -2, -1, 0, 1 और 2 हैं। }] }}Mac OS X पैरामीटर
Anchor link to{ "request": { "application": "12345-67891", // आवश्यक। Pushwoosh एप्लिकेशन कोड "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "notifications": [{ "mac_title": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। पुश नोटिफिकेशन के लिए शीर्षक जोड़ता है। "en": "title" }, "mac_subtitle": { // वैकल्पिक। पुश नोटिफिकेशन के लिए उपशीर्षक जोड़ता है। "en": "subtitle" }, "mac_content": { // वैकल्पिक। पुश नोटिफिकेशन के लिए सामग्री जोड़ता है। "en": "content" }, "mac_badges": 3, // वैकल्पिक। "mac_sound": "sound.caf", // वैकल्पिक। "mac_sound_off": true, // वैकल्पिक। "mac_sound" फ़ील्ड द्वारा सेट की गई ध्वनि को सक्षम/अक्षम करें "mac_root_params": { // वैकल्पिक। "content-available": 1 }, "mac_ttl": 3600 // वैकल्पिक। टाइम टू लिव पैरामीटर — सेकंड में अधिकतम संदेश जीवनकाल। }] }}Windows पैरामीटर
Anchor link to{ "request": { "application": "12345-67891", // आवश्यक। Pushwoosh एप्लिकेशन कोड "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "notifications": [{ "wns_content": { // आवश्यक। MIME के base64 में एन्कोड की गई नोटिफिकेशन की सामग्री (XML या raw) // ऑब्जेक्ट या स्ट्रिंग के रूप में "en": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48YmFkZ2UgdmFsdWU9ImF2YWlsYWJsZSIvPg==", "de": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48YmFkZ2UgdmFsdWU9Im5ld01lc3NhZ2UiLz4=" }, "wns_type": "Badge", // वैकल्पिक। 'Tile' | 'Toast' | 'Badge' | 'Raw' "wns_tag": "myTag", // वैकल्पिक। टाइल प्रतिस्थापन नीति में उपयोग किया जाता है। // 16 वर्णों से अधिक नहीं का एक अल्फ़ान्यूमेरिक स्ट्रिंग। "wns_cache": 1, // वैकल्पिक। (1|0) X-WNS-Cache-Policy मान में अनुवाद करता है। "wns_ttl": 600 // वैकल्पिक। सेकंड में नोटिफिकेशन के लिए समाप्ति समय। }] }}प्रतिक्रिया:
| HTTP स्थिति कोड | status_code | विवरण |
|---|---|---|
| 200 | 200 | संदेश सफलतापूर्वक बनाया गया |
| 200 | 210 | तर्क त्रुटि। अधिक जानकारी के लिए status_message देखें |
| 400 | N/A | विकृत अनुरोध स्ट्रिंग |
| 500 | 500 | आंतरिक त्रुटि |
API संदेश ट्रेसिंग
Anchor link toलोड संतुलन के उद्देश्यों के लिए, हम “डिवाइस” पैरामीटर के साथ API के माध्यम से भेजे गए संदेशों को संग्रहीत नहीं करते हैं जिसमें एक ऐरे में 10 से कम डिवाइस होते हैं। इसके कारण, ऐसे संदेश आपके संदेश इतिहास में प्रदर्शित नहीं होंगे।
परीक्षण चरण के दौरान पुश रिपोर्ट देखने के लिए, API संदेश ट्रेसिंग का उपयोग करें। इस विकल्प को चालू करने से आप 1 घंटे के लिए इस सीमा को ओवरराइड कर सकते हैं और ऐसे पुश को संदेश इतिहास में सहेज सकते हैं। API संदेश ट्रेसिंग 1 घंटे के बाद स्वचालित रूप से बंद हो जाती है।
API संदेश ट्रेसिंग को संदेश इतिहास पृष्ठ पर ऊपरी दाएं कोने में API संदेश ट्रेसिंग शुरू करें पर क्लिक करके सक्रिय किया जा सकता है।
टैग शर्तें
Anchor link toप्रत्येक टैग शर्त एक ऐरे है जैसे [tagName, operator, operand] जहाँ
- tagName: एक टैग का नाम
- operator: “EQ” | “IN” | “NOTEQ” | “NOTIN” | “LTE” | “GTE” | “BETWEEN” | “NOTSET” | “ANY”
- operand: स्ट्रिंग | पूर्णांक | ऐरे | दिनांक
ऑपरेटर विवरण
Anchor link to- EQ: टैग मान ऑपरेंड के बराबर है;
- IN: टैग मान ऑपरेंड के साथ प्रतिच्छेद करता है (ऑपरेंड हमेशा एक ऐरे होना चाहिए);
- NOTEQ: टैग मान एक ऑपरेंड के बराबर नहीं है;
- NOTIN: टैग मान ऑपरेंड के साथ प्रतिच्छेद नहीं करता है (ऑपरेंड हमेशा एक ऐरे होना चाहिए);
- GTE: टैग मान ऑपरेंड से बड़ा या बराबर है;
- LTE: टैग मान ऑपरेंड से छोटा या बराबर है;
- BETWEEN: टैग मान न्यूनतम ऑपरेंड मान से बड़ा या बराबर है लेकिन अधिकतम ऑपरेंड मान से छोटा या बराबर है (ऑपरेंड हमेशा एक ऐरे होना चाहिए);
- NOTSET: टैग सेट नहीं है। ऑपरेंड पर विचार नहीं किया जाता है;
- ANY: टैग का कोई भी मान है। ऑपरेंड पर विचार नहीं किया जाता है।
स्ट्रिंग टैग
Anchor link toमान्य ऑपरेटर: EQ, IN, NOTEQ, NOTIN, NOTSET, ANY
मान्य ऑपरेंड:
- EQ, NOTEQ: ऑपरेंड एक स्ट्रिंग होना चाहिए;
- IN, NOTIN: ऑपरेंड स्ट्रिंग्स का एक ऐरे होना चाहिए जैसे
["value 1", "value 2", "value N"]; - NOTSET: टैग सेट नहीं है। ऑपरेंड पर विचार नहीं किया जाता है;
- ANY: टैग का कोई भी मान है। ऑपरेंड पर विचार नहीं किया जाता है।
पूर्णांक टैग
Anchor link toमान्य ऑपरेटर: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY
मान्य ऑपरेंड:
- EQ, NOTEQ, GTE, LTE: ऑपरेंड एक पूर्णांक होना चाहिए;
- IN, NOTIN: ऑपरेंड पूर्णांकों का एक ऐरे होना चाहिए जैसे
[value 1, value 2, value N]; - BETWEEN: ऑपरेंड पूर्णांकों का एक ऐरे होना चाहिए जैसे
[min_value, max_value]; - NOTSET: टैग सेट नहीं है। ऑपरेंड पर विचार नहीं किया जाता है;
- ANY: टैग का कोई भी मान है। ऑपरेंड पर विचार नहीं किया जाता है।
दिनांक टैग
Anchor link toमान्य ऑपरेटर: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY
मान्य ऑपरेंड:
"YYYY-MM-DD 00:00"(स्ट्रिंग)- यूनिक्स टाइमस्टैम्प
1234567890(पूर्णांक) "N days ago"(स्ट्रिंग) ऑपरेटर EQ, BETWEEN, GTE, LTE के लिए
बूलियन टैग
Anchor link toमान्य ऑपरेटर: EQ, NOTSET, ANY
मान्य ऑपरेंड: 0, 1, true, false
सूची टैग
Anchor link toमान्य ऑपरेटर: IN, NOTIN, NOTSET, ANY
मान्य ऑपरेंड: ऑपरेंड स्ट्रिंग्स का एक ऐरे होना चाहिए जैसे ["value 1", "value 2", "value N"]।
/createMessage स्निपेट्स
Anchor link toनमूना /createMessage अनुरोध:
#!/bin/bash
#Usageif [ ! -n "$1" ] || [ ! -n "$2" ]then echo "`basename $0` usage: api_token appid message"; exit 1;fi;MESSAGE="$3";if [ -z "$3" ]thenMESSAGE='One push to rule them all!'fi;
echo -e "Response:"curl --data-binary "{\"request\": {\"application\":\"$2\", \"auth\":\"$1\", \"notifications\": [{ \"send_date\": \"now\", \"content\": \"$MESSAGE\" }] }}" \-H "Content-type: application/json" \"https://api.pushwoosh.com/json/1.3/createMessage"echo "";exit 0;<?phpdefine('PW_AUTH', 'API TOKEN');define('PW_APPLICATION', 'APPLICATION CODE');define('PW_DEBUG', true);
function pwCall($method, $data) { $url = 'https://api.pushwoosh.com/json/1.3/' . $method; $request = json_encode(['request' => $data]);
$ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate'); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
$response = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch);
if (defined('PW_DEBUG') && PW_DEBUG) { print "[PW] request: $request"; print "[PW] response: $response"; print '[PW] info: ' . print_r($info, true); }}
pwCall('createMessage', array( 'application' => PW_APPLICATION, 'auth' => PW_AUTH, 'notifications' => array( array( 'send_date' => 'now', 'content' => 'test', 'data' => array('custom' => 'json data'), 'link' => 'https://pushwoosh.com/' ) ) ));-module(pushwoosh).-export([run/0, stop/0, sendMessage/1]).%% sendMessage argument: message text %%
%% Authentication & App_id %%-define(PW_AUTH, "YOUR_AUTH_TOKEN").-define(PW_APPLICATION, "YOUR_PUSHWOOSH_APP_CODE").
%% KickStart %%run() -> application:start(unicode), application:start(crypto), application:start(public_key), application:start(ssl), application:start(inets), %% HTTP Client verbosity options flase, verbose, debug httpc:set_options([{verbose, false}]).stop() -> application:stop(ssl), application:stop(public_key), application:stop(crypto), application:stop(inets).%% JSON Wars !encode(S) -> encode(S, [$"]).encode([], Acc) -> lists:reverse([$" | Acc]);encode([C | Cs], Acc) -> Hex = lists:flatten(io_lib:format("~4.16.0b", [C])), encode(Cs, lists:reverse(Hex) ++ "u\" ++ Acc).
sendMessage(Message_text) -> %% URL to JSON API 1.3 Url = "https://api.pushwoosh.com/json/1.3/createMessage", EncodedMessage = encode(Message_text), {ok, Response} = httpc:request( %%Method post, %%Request {Url, [{"User-Agent", "Erlang exemple"}], "application/json; charset=UTF-8", "{\"request\":{ \"application\": \""?PW_APPLICATION"\", \"auth\": \""?PW_AUTH"\", \"notifications\": [{ \"send_date\": \"now\", \"content\": "++EncodedMessage++" }]}}"}, %%HTTP options [{ssl,[{verify, verify_none}]}, {version, "HTTP/1.0"}], %%Options []), io:format("And received ~p", [Response]).class PushNotification
#- PushWoosh API Documentation https://www.pushwoosh.com/programming-push-notification/pushwoosh-push-notification-remote-api/ #- Two methods here: # - PushNotification.new.notify_all(message) Notifies all with the same option # - PushNotification.new.notify_devices(notification_options = {}) Notifies specific devices with custom options
include HTTParty #Make sure to have the HTTParty gem declared in your gemfile https://github.com/jnunemaker/httparty default_params :output => 'json' format :json
def initialize #- Change to your settings @auth = {:application => "00000-00000",:auth => "auth_token"} end
# PushNotification.new.notify_all("This is a test notification to all devices") def notify_all(message) notify_devices({:content => message}) end
# PushNotification.new.notify_device({ # :content => "TEST", # :data => {:custom_data => value}, # :devices => array_of_tokens #}) def notify_devices(notification_options = {}) #- Default options, uncomment :data or :devices if needed default_notification_options = { # YYYY-MM-DD HH:mm OR 'now' :send_date => "now", # Object( language1: 'content1', language2: 'content2' ) OR string :content => { :fr => "Test", :en => "Test" }, # JSON string or JSON object "custom": "json data" #:data => { # :custom_data => value #}, # omit this field (push notification will be delivered to all the devices for the application), or provide the list of devices IDs #:devices => {} }
#- Merging with specific options final_notification_options = default_notification_options.merge(notification_options)
#- Constructing the final call options = @auth.merge({:notifications => [final_notification_options]}) options = {:request => options} #- Executing the POST API Call with HTTPARTY - :body => options.to_json allows us to send the json as an object instead of a string response = self.class.post("https://api.pushwoosh.com/json/1.3/createMessage", :body => options.to_json,:headers => { 'Content-Type' => 'application/json' }) endend// Uses JSON classes from https://json.org/java/
package com.arellomobile;
import org.json.*;import java.io.*;import java.net.*;
public class SendPushNotificationSample{ public static final String PUSHWOOSH_SERVICE_BASE_URL = "https://api.pushwoosh.com/json/1.3/"; private static final String AUTH_TOKEN = "YOUR_AUTH_TOKEN"; private static final String APPLICATION_CODE = "PW_APPLICATION_CODE";
public static void main(String[] args) throws JSONException, MalformedURLException { String method = "createMessage"; URL url = new URL(PUSHWOOSH_SERVICE_BASE_URL + method);
JSONArray notificationsArray = new JSONArray() .put(new JSONObject().put("send_date", "now") .put("content", "test") .put("link", "https://pushwoosh.com/"));
JSONObject requestObject = new JSONObject() .put("application", APPLICATION_CODE) .put("auth", AUTH_TOKEN) .put("notifications", notificationsArray);
JSONObject mainRequest = new JSONObject().put("request", requestObject); JSONObject response = SendServerRequest.sendJSONRequest(url, mainRequest.toString());
System.out.println("Response is: " + response); }}
class SendServerRequest{ static JSONObject sendJSONRequest(URL url, String request) { HttpURLConnection connection = null; try { connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setRequestProperty("Content-Type", "application/json"); connection.setDoInput(true); connection.setDoOutput(true);
DataOutputStream writer = new DataOutputStream(connection.getOutputStream()); writer.write(request.getBytes("UTF-8")); writer.flush(); writer.close();
return parseResponse(connection); } catch (Exception e) { System.out.println("An error occurred: " + e.getMessage()); return null; } finally { if (connection != null) { connection.disconnect(); } } }
static JSONObject parseResponse(HttpURLConnection connection) throws IOException, JSONException { String line; BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) { response.append(line).append(''); } reader.close();
return new JSONObject(response.toString()); }}import json
PW_AUTH = 'API TOKEN'PW_APPLICATION_CODE = 'APPLICATION CODE'
try: # For Python 3.0 and later from urllib.request import urlopen from urllib.request import Requestexcept ImportError: # Fall back to Python 2's urllib2 from urllib2 import urlopen from urllib2 import Request
def pw_call(method, data): url = 'https://api.pushwoosh.com/json/1.3/' + method data = json.dumps({'request': data}) req = Request(url, data.encode('UTF-8'), {'Content-Type': 'application/json'}) try: f = urlopen(req) response = f.read() f.close() print('Pushwoosh response: ' + str(response)) except Exception as e: print ('Request error: ' + str(e))
if __name__ == '__main__': pw_call('createMessage', { 'auth': PW_AUTH, 'application': PW_APPLICATION_CODE, 'notifications': [ { 'send_date': 'now', 'content': 'test', 'data': {"custom": "json data"}, 'link': 'https://pushwoosh.com' } ] } )using System;using System.IO;using System.Net;using Newtonsoft.Json.Linq;
namespace WebApplication1{ public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string pwAuth = "YOUR_AUTH_TOKEN"; string pwApplication = "PW_APPLICATION_CODE"; JObject json = new JObject( new JProperty("application", pwApplication), new JProperty("auth", pwAuth), new JProperty("notifications", new JArray( new JObject( new JProperty("send_date", "now"), new JProperty("content", "test"), new JProperty("wp_type", "Toast"), new JProperty("wp_count", 3), new JProperty("data", new JObject( new JProperty("custom", "json data"))), new JProperty("link", "https://pushwoosh.com/"), new JProperty("conditions", new JArray( (object)new JArray("Color", "EQ", "black"))))))); PWCall("createMessage", json); } private void PWCall(string action, JObject data) { Uri url = new Uri("https://api.pushwoosh.com/json/1.3/" + action); JObject json = new JObject(new JProperty("request", data)); DoPostRequest(url, json); } private void DoPostRequest(Uri url, JObject data) { HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url); req.ContentType = "text/json"; req.Method = "POST"; using (var streamWriter = new StreamWriter(req.GetRequestStream())) { streamWriter.Write(data.ToString()); } HttpWebResponse httpResponse; try { httpResponse = (HttpWebResponse)req.GetResponse(); } catch (Exception exc) { throw new Exception(string.Format("Problem with {0}, {1}", url, exc.Message)); } using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var responseText = streamReader.ReadToEnd(); Page.Response.Write(responseText); } } }}package main
import( "fmt" "encoding/json" "net/http" "bytes" "io/ioutil")
const ( PW_APPLICATION = "APPLICATION CODE" PW_AUTH = "API TOKEN" PW_ENDPOINT = "https://api.pushwoosh.com/json/1.3/")
func pwCall(method string, data []byte) (bool) { url := PW_ENDPOINT + method request, err := http.NewRequest("POST", url, bytes.NewBuffer(data)) request.Header.Set("Content-Type", "application/json")
client := http.Client{} response, err := client.Do(request) if err != nil { fmt.Println("Error occur: " + err.Error()) return false } defer response.Body.Close()
fmt.Println("Response Status: ", response.Status) if (response.StatusCode == 200) { body, _ := ioutil.ReadAll(response.Body) fmt.Println("Response Body: ", string(body)) return true } return false}
func main() { requestData := map[string]interface{}{ "request": map[string]interface{} { "auth": PW_AUTH, "application": PW_APPLICATION, "notifications": []interface{}{ map[string]interface{} { "send_date": "now", "content": "test", "link": "https://pushwoosh.com", }, }, }, } jsonRequest, _ := json.Marshal(requestData) requestString := string(jsonRequest) fmt.Println("Request body: " + requestString)
pwCall("createMessage", jsonRequest)}$.ajax({ type: "POST", url: "https://api.pushwoosh.com/json/1.3/createMessage", data: JSON.stringify({ "request": { "application": "APPLICATION CODE", "auth": "API TOKEN", "notifications": [{ "send_date": "now", "ignore_user_timezone": true, "content": "Hello world!" }] } }), dataType: "json"}).done(function(data) { console.log(data);});deleteMessage
Anchor link toPOST https://api.pushwoosh.com/json/1.3/deleteMessage
एक निर्धारित संदेश को हटाता है।
अनुरोध बॉडी
Anchor link to| नाम | प्रकार | विवरण |
|---|---|---|
| auth* | string | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| message* | string | /createMessage अनुरोध में प्राप्त संदेश कोड। |
{ "status_code": 200, "status_message": "OK"}{ "request":{ "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "message": "xxxx-xxxxxxx-xxxxxx" // आवश्यक। /createMessage में प्राप्त संदेश कोड }}स्थिति कोड:
| HTTP स्थिति कोड | status_code | विवरण |
|---|---|---|
| 200 | 200 | संदेश सफलतापूर्वक हटा दिया गया |
| 200 | 210 | तर्क त्रुटि। अधिक जानकारी के लिए status_message देखें |
| 400 | N/A | विकृत अनुरोध स्ट्रिंग |
| 500 | 500 | आंतरिक त्रुटि |
<?php// see https://gomoob.github.io/php-pushwoosh/delete-message.htmluse Gomoob\Pushwoosh\Model\Request\DeleteMessageRequest;
// creates request instance$request = DeleteMessageRequest::create()->setMessage('MESSAGE_CODE');
// call '/deleteMessage' Web Service$response = $pushwoosh->deleteMessage($request);
if($response->isOk()) { print 'Great, my message has been deleted !';} else { print 'Oups, the deletion failed :-('; print 'Status code : ' . $response->getStatusCode(); print 'Status message : ' . $response->getStatusMessage();}getMessageDetails
Anchor link toPOST https://api.pushwoosh.com/json/1.3/getMessageDetails
संदेश विवरण पुनर्प्राप्त करता है।
अनुरोध बॉडी
Anchor link to| नाम | प्रकार | विवरण |
|---|---|---|
| auth* | string | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| message* | string | संदेश कोड या संदेश आईडी। |
{ "status_code": 200, "status_message": "OK", "response": { "message": { "id": 2068991743, "created": "2016-09-14 17:19:42", "send_date": "2016-09-14 17:19:41", "status": "done", "content": { "en": "Hello {Name|CapitalizeFirst|friend}! 🚀" }, "platforms": "[1]", "ignore_user_timezone": "1", "code": "XXXX-92B4C3C5-A7F5EF70", "data": { "key": "value" } } }}{ "request":{ "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "message": "xxxx-xxxxxxx-xxxxxx" // आवश्यक। संदेश कोड या संदेश आईडी }}createTargetedMessage
Anchor link toPOST https://api.pushwoosh.com/json/1.3/createTargetedMessage
एक नया लक्षित पुश नोटिफिकेशन बनाता है।
अनुरोध बॉडी
Anchor link to| नाम | प्रकार | विवरण |
|---|---|---|
| auth* | string | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| devices_filter* | string | नीचे दी गई टिप्पणी देखें। |
| send_date* | string | YYYY-MM-DD HH:mm या ‘now’। |
| ignore_user_timezone | boolean | यदि अनदेखा किया जाता है, तो “send_date” के लिए UTC-0 डिफ़ॉल्ट है। |
| timezone | string | यदि अनदेखा किया जाता है, तो “send_date” के लिए UTC-0 डिफ़ॉल्ट है। |
| campaign | string | एक अभियान का कोड जिसमें आप इस पुश संदेश को असाइन करना चाहते हैं। |
| content* | string | नोटिफिकेशन सामग्री। विवरण के लिए अनुरोध का उदाहरण देखें। |
| transactionId | string | नेटवर्क समस्याओं के मामले में संदेशों की नकल को रोकने के लिए अद्वितीय संदेश पहचानकर्ता। Pushwoosh की तरफ 5 मिनट के लिए संग्रहीत। |
| link | string | एक उपयोगकर्ता द्वारा पुश संदेश खोलने पर खोला जाने वाला लिंक। |
| minimize_link | integer | 0 - छोटा न करें, 2 - bit.ly। डिफ़ॉल्ट = 2। |
| data | object | JSON स्ट्रिंग या JSON ऑब्जेक्ट। पेलोड में “u” पैरामीटर के रूप में पास किया जाएगा (JSON स्ट्रिंग में परिवर्तित)। |
| preset | string | प्रीसेट कोड। |
| send_rate | integer | थ्रॉटलिंग। मान्य मान 100 से 1000 पुश प्रति सेकंड हैं। |
| inbox_date | string | निर्दिष्ट करें कि इनबॉक्स से संदेश कब हटाना है। |
| inbox_image | string | इनबॉक्स में संदेश के पास दिखाई जाने वाली छवि का URL। |
{ "status_code": 200, "status_message": "OK", "response": { "messageCode": "97B0-C7473871-2FBDFDC6" }}खराब सिंटैक्स के कारण अनुरोध पूरा नहीं किया जा सकता है।अधिक प्रतिक्रिया उदाहरण:
{ "status_code": 210, "status_message": "फ़िल्टर संकलित करते समय त्रुटियाँ हुईं", "response": { "errors": [{ "message": "अमान्य टैग सेट विनिर्देश। \")\" अपेक्षित।", "type": "syntax" }] }}{ "status_code": 210, "status_message": "फ़िल्टर संकलित करते समय त्रुटियाँ हुईं", "response": { "errors": [{ "message": "एप्लिकेशन \"11111-11111\" नहीं मिला", "type": "semantic", "near": "\"11111-11111\"" }] }}{ "status_code": 210, "status_message": "फ़िल्टर संकलित करते समय त्रुटियाँ हुईं", "response": { "errors": [{ "message": "अमान्य वर्ण \"/\" 1:19 पर", "type": "lexical" }] }}{ "request": { "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "devices_filter": "A(\"XXXXX-XXXXX\") * T(\"City\", EQ, \"Name\")", // आवश्यक। सिंटैक्स नीचे समझाया गया है "send_date": "now", // वैकल्पिक। YYYY-MM-DD HH:mm या 'now' "ignore_user_timezone": true, // वैकल्पिक। "timezone": "America/New_York", // वैकल्पिक। यदि अनदेखा किया जाता है तो "send_date" के लिए UTC-0 डिफ़ॉल्ट है। // अधिक जानकारी https://php.net/manual/timezones.php। "campaign": "CAMPAIGN_CODE", // वैकल्पिक। अभियान कोड जिसमें आप इस पुश संदेश को असाइन करना चाहते हैं। "content": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। Windows के लिए इसके बजाय "wns_content" का उपयोग करें। "en": "English", "de": "Deutsch" }, "transactionId": "unique UUID", // वैकल्पिक। नेटवर्क समस्याओं के मामले में संदेशों की नकल को रोकने के लिए // अद्वितीय संदेश पहचानकर्ता। Pushwoosh की तरफ 5 मिनट के लिए संग्रहीत। "rich_media": "XXXXX-XXXXX", // वैकल्पिक। Pushwoosh कंट्रोल पैनल में रिच मीडिया एडिटर पेज के // URL बार से रिच मीडिया कोड कॉपी करें। "link": "https://google.com", // वैकल्पिक। डीपलिंक्स के लिए "minimize_link": 0 जोड़ें "minimize_link": 0, // वैकल्पिक। 0 — छोटा न करें, 2 — bitly। डिफ़ॉल्ट = 2। // Google URL शॉर्टनर 30 मार्च, 2019 से अक्षम है। // कृपया ध्यान दें कि शॉर्टनर पर कॉल की संख्या पर प्रतिबंध हैं। "data": { // वैकल्पिक। JSON स्ट्रिंग या JSON ऑब्जेक्ट। "key": "value" // पेलोड में "u" पैरामीटर के रूप में पास किया जाएगा }, // (JSON स्ट्रिंग में परिवर्तित)। "preset": "XXXXX-XXXXX", // वैकल्पिक। आपके कंट्रोल पैनल से पुश प्रीसेट कोड। "send_rate": 100, // वैकल्पिक। थ्रॉटलिंग। मान्य मान 100 से 1000 पुश/सेकंड तक हैं। "dynamic_content_placeholders": { // वैकल्पिक। डिवाइस टैग के बजाय गतिशील सामग्री के लिए प्लेसहोल्डर। "firstname": "John", "lastname": "Doe" },
// API के माध्यम से संदेश को इनबॉक्स में सहेजने के लिए, "inbox_date" या "inbox_image" का उपयोग करें। // जब इनमें से कम से कम एक पैरामीटर का उपयोग किया जाता है तो संदेश सहेजा जाता है। "inbox_image": "Inbox image URL", // वैकल्पिक। संदेश के पास दिखाई जाने वाली छवि। "inbox_date": "2017-02-02" // वैकल्पिक। निर्दिष्ट करें कि इनबॉक्स से संदेश कब हटाना है। // संदेश निर्दिष्ट तिथि के 00:00:01 UTC पर इनबॉक्स से हटा दिया जाएगा, // इसलिए पिछली तारीख वह अंतिम दिन है जब उपयोगकर्ता अपने इनबॉक्स में // संदेश देख सकता है। // यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट हटाने की तारीख भेजने की // तारीख के अगले दिन है। }}{ "request": { "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "devices_filter": "FILTER CONDITION", "send_date": "now", // वैकल्पिक। YYYY-MM-DD HH:mm या 'now' "content": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। "en": "English", // Windows के लिए इसके बजाय "wns_content" का उपयोग करें। "de": "Deutsch" }, "ignore_user_timezone": true, // वैकल्पिक। "timezone": "America/New_York", // वैकल्पिक। यदि अनदेखा किया जाता है तो "send_date" के लिए UTC-0 डिफ़ॉल्ट है। // अधिक जानकारी https://php.net/manual/timezones.php। "campaign": "CAMPAIGN_CODE", // वैकल्पिक। अभियान कोड जिसमें आप इस पुश संदेश को असाइन करना चाहते हैं।
// iOS से संबंधित पैरामीटर "ios_badges": 5, // वैकल्पिक। iOS एप्लिकेशन बैज नंबर। // बैज मान को n से बढ़ाने/घटाने के लिए "+n" या "-n" का उपयोग करें। "ios_sound": "sound file.wav", // वैकल्पिक। एप्लिकेशन के मुख्य बंडल में ध्वनि फ़ाइल का नाम। // यदि खाली छोड़ दिया जाता है, तो डिवाइस पुश प्राप्त करने // पर कोई ध्वनि उत्पन्न नहीं करेगा। "ios_sound_off": true, // वैकल्पिक। "ios_sound" फ़ील्ड द्वारा सेट की गई ध्वनि को सक्षम/अक्षम करें। "ios_ttl": 3600, // वैकल्पिक। टाइम टू लिव पैरामीटर — सेकंड में अधिकतम संदेश जीवनकाल। "ios_silent": 1, // वैकल्पिक। साइलेंट नोटिफिकेशन सक्षम करता है ("sound" और "content" को अनदेखा करें)। "ios_category_id": "1", // वैकल्पिक। Pushwoosh से iOS8 श्रेणी आईडी। "ios_category_custom": "category", // वैकल्पिक। कस्टम APNS श्रेणी। "ios_root_params": { // वैकल्पिक। aps शब्दकोश के लिए रूट स्तर पैरामीटर। "aps": { "content-available": "0", // वैकल्पिक। साइलेंट पुश भेजने के लिए "1" और नियमित पुश के लिए "0" सेट करें। "mutable-content": 1 // iOS10+ मीडिया अटैचमेंट के लिए आवश्यक। }, "attachment": "YOUR_ATTACHMENT_URL", // iOS10+ मीडिया अटैचमेंट URL। "data": {} // वैकल्पिक। उपयोगकर्ता द्वारा आपूर्ति किया गया डेटा, अधिकतम 4KB }, "apns_trim_content": 1, // वैकल्पिक। (0|1) अतिरिक्त सामग्री स्ट्रिंग्स को इलिप्सिस के साथ ट्रिम करता है। "ios_title": { // वैकल्पिक। iOS पुश नोटिफिकेशन के लिए शीर्षक जोड़ता है। "en": "title" }, "ios_subtitle": { // वैकल्पिक। iOS पुश नोटिफिकेशन के लिए उपशीर्षक जोड़ता है। "en": "subTitle" }, "ios_content": { // वैकल्पिक। iOS पुश नोटिफिकेशन के लिए सामग्री जोड़ता है। "en": "content" },
// Android से संबंधित पैरामीटर "android_root_params": { // वैकल्पिक। कस्टम कुंजी-मान ऑब्जेक्ट। "key": "value" // एंड्रॉइड पेलोड प्राप्तकर्ताओं के लिए रूट स्तर पैरामीटर। }, "android_sound": "soundfile", // वैकल्पिक। कोई फ़ाइल एक्सटेंशन नहीं। यदि खाली छोड़ दिया जाता है, तो डिवाइस // पुश प्राप्त करने पर कोई ध्वनि उत्पन्न नहीं करेगा। "android_sound_off": true, // वैकल्पिक। "android_sound" फ़ील्ड द्वारा सेट की गई ध्वनि को सक्षम/अक्षम करें "android_header": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। Android नोटिफिकेशन हेडर। "en": "header" }, "android_content": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। Android नोटिफिकेशन सामग्री। "en": "content" }, "android_icon": "icon.png", "android_custom_icon": "URL.png", // वैकल्पिक। छवि फ़ाइल का पूरा पथ URL। "android_banner": "URL.png", // वैकल्पिक। छवि फ़ाइल का पूरा पथ URL। "android_badges": 5, // वैकल्पिक। पूर्णांक। Android एप्लिकेशन आइकन बैज नंबर। // बैज मान को n से बढ़ाने/घटाने के लिए "+n" या "-n" का उपयोग करें। "android_gcm_ttl": 3600, // वैकल्पिक। टाइम टू लिव पैरामीटर — सेकंड में अधिकतम संदेश जीवनकाल। "android_vibration": 0, // वैकल्पिक। उच्च-प्राथमिकता वाले पुश के लिए Android बल-कंपन। "android_led": "#rrggbb", // वैकल्पिक। LED हेक्स रंग, डिवाइस अपना सर्वश्रेष्ठ अनुमान लगाएगा। "android_priority": -1, // वैकल्पिक। Android 8.0 वाले उपकरणों के लिए "महत्व" पैरामीटर सेट करता है // और उच्चतर, साथ ही Android 7.1 और निचले वाले उपकरणों के लिए // "प्राथमिकता" पैरामीटर। एक नोटिफिकेशन चैनल या एक विशेष नोटिफिकेशन // के व्यवधान स्तर को स्थापित करता है। // मान्य मान -2, -1, 0, 1, 2 हैं। "android_delivery_priority": "normal", // वैकल्पिक। "normal" या "high"। डिवाइस के पावर सेविंग मोड में // होने पर नोटिफिकेशन की डिलीवरी सक्षम करता है। "android_ibc": "#RRGGBB", // वैकल्पिक। लॉलीपॉप पर आइकन पृष्ठभूमि रंग, #RRGGBB, // #AARRGGBB, "red", "black", "yellow", आदि। "android_silent": 1, // वैकल्पिक। 0 या 1। साइलेंट नोटिफिकेशन सक्षम करें। // ध्वनि और सामग्री को अनदेखा करें
// Amazon से संबंधित पैरामीटर "adm_root_params": { // वैकल्पिक। कस्टम कुंजी-मान ऑब्जेक्ट "key": "value" }, "adm_sound": "push.mp3", "adm_sound_off": true, // वैकल्पिक। "adm_sound" फ़ील्ड द्वारा सेट की गई ध्वनि को सक्षम/अक्षम करें "adm_header": { "en": "Header" }, "adm_content": { "en": "content" }, "adm_icon": "icon.png", "adm_custom_icon": "URL.png", "adm_banner": "URL.png", "adm_ttl": 3600, // वैकल्पिक। टाइम टू लिव पैरामीटर — सेकंड में // अधिकतम संदेश जीवनकाल। "adm_priority": -1, // वैकल्पिक। अमेज़ॅन पुश ड्रॉअर में पुश की प्राथमिकता, // मान्य मान -2, -1, 0, 1 और 2 हैं।
// Mac OS X से संबंधित पैरामीटर "mac_badges": 3, "mac_sound": "sound.caf", "mac_sound_off": true, "mac_root_params": { "content-available": 1 }, "mac_ttl": 3600, // वैकल्पिक। टाइम टू लिव पैरामीटर — सेकंड में अधिकतम संदेश जीवनकाल। "mac_title": { // वैकल्पिक। पुश नोटिफिकेशन के लिए शीर्षक जोड़ता है। "en": "title" }, "mac_subtitle": { // वैकल्पिक। MacOS पुश नोटिफिकेशन के लिए उपशीर्षक जोड़ता है। "en": "subtitle" }, "mac_content": { // वैकल्पिक। MacOS पुश नोटिफिकेशन के लिए सामग्री जोड़ता है। "en": "content" },
// Windows से संबंधित पैरामीटर "wns_content": { // आवश्यक। MIME के base64 में एन्कोड की गई नोटिफिकेशन की // सामग्री (XML या raw) ऑब्जेक्ट या स्ट्रिंग के रूप में "en": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48YmFkZ2UgdmFsdWU9ImF2YWlsYWJsZSIvPg==", "de": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48YmFkZ2UgdmFsdWU9Im5ld01lc3NhZ2UiLz4=" }, "wns_type": "Badge", // 'Tile' | 'Toast' | 'Badge' | 'Raw' "wns_tag": "myTag", // वैकल्पिक। टाइल प्रतिस्थापन नीति में उपयोग किया जाता है। // 16 वर्णों से अधिक नहीं का एक अल्फ़ान्यूमेरिक स्ट्रिंग। "wns_cache": 1, // वैकल्पिक। (1|0) X-WNS-Cache-Policy मान में अनुवाद करता है। "wns_ttl": 600, // वैकल्पिक। सेकंड में नोटिफिकेशन के लिए समाप्ति समय।
// Safari से संबंधित पैरामीटर "safari_title": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। नोटिफिकेशन का शीर्षक। "en": "title" }, "safari_content": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। नोटिफिकेशन की सामग्री। "en": "content" }, "safari_action": "Click here", // वैकल्पिक। "safari_url_args": [ // आवश्यक। लेकिन मान खाली हो सकता है "firstArgument", "secondArgument" ], "safari_ttl": 3600, // वैकल्पिक। टाइम टू लिव पैरामीटर — सेकंड में // एक संदेश का अधिकतम जीवनकाल।
// Chrome से संबंधित पैरामीटर "chrome_title": { // वैकल्पिक। आप इस पैरामीटर में संदेश का हेडर निर्दिष्ट कर सकते हैं। "en": "title" }, "chrome_content": { // वैकल्पिक। आप इस पैरामीटर में संदेश की सामग्री निर्दिष्ट कर सकते हैं। "en": "content" }, "chrome_icon": "icon_URL", // वैकल्पिक। आइकन या एक्सटेंशन संसाधन फ़ाइल पथ का पूरा पथ URL "chrome_gcm_ttl": 3600, // वैकल्पिक। टाइम टू लिव पैरामीटर – सेकंड में अधिकतम संदेश जीवनकाल। "chrome_duration": 20, // वैकल्पिक। क्रोम पुश प्रदर्शन समय बदलता है। उपयोगकर्ता द्वारा इसके साथ // इंटरैक्ट करने तक पुश प्रदर्शित करने के लिए 0 पर सेट करें। "chrome_image": "image_URL", // वैकल्पिक। बड़ी छवि का URL "chrome_root_params": { // वैकल्पिक। क्रोम को भेजे गए संदेशों के लिए विशिष्ट पैरामीटर सेट करें। "key": "value" }, "chrome_button_text1": "text1", // वैकल्पिक। "chrome_button_url1": "button1_URL", // वैकल्पिक। यदि chrome_button_text1 सेट नहीं है तो अनदेखा किया जाता है। "chrome_button_text2": "text2", // वैकल्पिक। "chrome_button_url2": "button2_url", // वैकल्पिक। यदि chrome_button_text2 सेट नहीं है तो अनदेखा किया जाता है।
// Firefox से संबंधित पैरामीटर "firefox_title": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। आप यहां संदेश हेडर निर्दिष्ट कर सकते हैं। "en": "title" }, "firefox_content": { // वैकल्पिक। ऑब्जेक्ट या स्ट्रिंग। आप यहां संदेश सामग्री निर्दिष्ट कर सकते हैं। "en": "content" }, "firefox_icon": "icon_URL", // वैकल्पिक। आइकन का पूरा पथ URL या एक्सटेंशन संसाधनों // में फ़ाइल का पथ। "firefox_root_params": { // वैकल्पिक। Firefox को भेजे गए संदेशों के लिए विशिष्ट पैरामीटर सेट करें। "key": "value" } }}मूल बातें बहुत सरल हैं - सभी फ़िल्टर इकाइयों के सेट पर किए जाते हैं।
सेट इस प्रकार परिभाषित हैं:
1. विशेष ऐप के लिए सब्सक्राइब किए गए डिवाइस (A);
2. वे डिवाइस जो निर्दिष्ट टैग मान (T) या ऐप-विशिष्ट टैग मान (AT) से मेल खाते हैं;\
सिंटैक्स
Anchor link toआइए उपरोक्त सूची के अनुसार कुछ नमूनों के साथ प्रयास करें।
ऐप ग्राहकों को लक्षित करना
Anchor link to“A” फ़िल्टर एक विशेष ऐप के लिए सब्सक्राइब किए गए डिवाइसों का एक सेट परिभाषित करता है:
A("XXXXX-XXXXX", ["iOS", "Android", "OsX", "Windows", "Amazon", "Safari", "Chrome", "Firefox"])
जहाँ
- “XXXXX-XXXXX” – Pushwoosh एप्लिकेशन कोड
- [“iOS”, “Android”, …] – लक्षित प्लेटफ़ॉर्म का ऐरे। यदि छोड़ दिया जाता है, तो संदेश इस ऐप के लिए उपलब्ध सभी प्लेटफ़ॉर्म पर भेजा जाएगा।
टैग मानों द्वारा फ़िल्टर करना
Anchor link to“T” फ़िल्टर उन डिवाइसों का एक सेट परिभाषित करता है जिनके लिए निर्दिष्ट टैग मान असाइन किए गए हैं।
T(\"Age\", IN, [17,20])
उन डिवाइसों का सेट परिभाषित करता है जिनके लिए “आयु” टैग 17, 18, 19, 20 में से किसी एक मान पर सेट है।
टैग प्रकार और ऑपरेटर
Anchor link toसमझने के लिए बहुत महत्वपूर्ण बात यह है कि टैग ऐप्स के बीच साझा किए जाते हैं, और यह आपके लक्षित उपयोगकर्ताओं को किसी विशेष ऐप से खुद को बांधे बिना सेगमेंट और फ़िल्टर करने के लिए एक बहुत शक्तिशाली उपकरण प्रस्तुत करता है।
टैग तीन अलग-अलग प्रकारों में से एक हो सकता है: स्ट्रिंग, पूर्णांक, सूची। टैग प्रकार यह परिभाषित करता है कि आप किसी विशेष टैग के लिए कौन से ऑपरेटर का उपयोग कर सकते हैं।
स्ट्रिंग टैग
Anchor link toलागू ऑपरेटर:
- EQ – निर्दिष्ट टैग मान वाले डिवाइसों को लक्षित करता है
- IN – निर्दिष्ट टैग मानों में से किसी एक वाले डिवाइसों को लक्षित करता है
- NOTIN – कोई निर्दिष्ट टैग मान नहीं वाले डिवाइसों को लक्षित करता है
- NOTEQ – निर्दिष्ट मान के बराबर नहीं टैग मान वाले डिवाइसों को लक्षित करता है
- NOTSET – निर्दिष्ट टैग के लिए कोई मान नहीं वाले डिवाइसों को लक्षित करता है
- ANY – निर्दिष्ट टैग के लिए कोई भी मान सेट वाले डिवाइसों को लक्षित करता है
उदाहरण:
T (\"Age\", EQ, 30) – 30 वर्ष की आयु के उपयोगकर्ताओं को फ़िल्टर करता है
T (\"favorite_color\", IN, [\"red\",\"green\",\"blue\"]) – उन उपयोगकर्ताओं को फ़िल्टर करता है जिन्होंने अपने पसंदीदा रंग के रूप में लाल, हरा या नीला चुना है।
T (\"Name", NOTSET, \"\") – नाम टैग के लिए कोई मान नहीं वाले डिवाइसों को लक्षित करें।
आप स्ट्रिंग टैग के साथ संख्यात्मक मानों का उपयोग कर सकते हैं, लेकिन ऐसे मानों को स्ट्रिंग में बदल दिया जाएगा।
पूर्णांक टैग
Anchor link toलागू ऑपरेटर:
- GTE – निर्दिष्ट मान से बड़ा या बराबर
- LTE– निर्दिष्ट मान से छोटा या बराबर
- EQ – निर्दिष्ट मान के बराबर
- BETWEEN – न्यूनतम और अधिकतम निर्दिष्ट मानों के बीच
- IN – निर्दिष्ट मानों में से कोई भी
- NOTIN – किसी डिवाइस को कोई निर्दिष्ट मान असाइन नहीं किया गया है
- NOTEQ – निर्दिष्ट मान के बराबर नहीं टैग मान वाले डिवाइस
- NOTSET – निर्दिष्ट टैग के लिए कोई मान नहीं वाले डिवाइस
- ANY – निर्दिष्ट टैग के लिए कोई भी मान सेट वाले डिवाइस
उदाहरण:
T (\"Level\", EQ, 14) – केवल 14 स्तर के उपयोगकर्ताओं को फ़िल्टर करता है।
T (\"Level\", BETWEEN, [1,5) – 1, 2, 3, 4, और 5 स्तरों के उपयोगकर्ताओं को फ़िल्टर करता है।
T (\"Level", GTE, 29) – उन उपयोगकर्ताओं को लक्षित करता है जो कम से कम 29 स्तर तक पहुँच चुके हैं।
सूची टैग
Anchor link toलागू ऑपरेटर:
- IN – निर्दिष्ट टैग मानों में से किसी एक वाले डिवाइस
उदाहरण: T("Category", IN, ["breaking_news","business","politics"])
दिनांक टैग
Anchor link toलागू ऑपरेटर:
- GTE – निर्दिष्ट मान से बड़ा या बराबर
- LTE– निर्दिष्ट मान से छोटा या बराबर
- EQ – निर्दिष्ट मान के बराबर
- BETWEEN – न्यूनतम और अधिकतम निर्दिष्ट मानों के बीच
- NOTEQ – निर्दिष्ट मान के बराबर नहीं टैग मान वाले डिवाइस
- NOTSET – निर्दिष्ट टैग के लिए कोई मान नहीं वाले डिवाइस
- ANY – निर्दिष्ट टैग के लिए कोई भी मान सेट वाले डिवाइस
उदाहरण:
AT("7777D-322A7","Last Application Open", BETWEEN, ["2022-02-28", "2022-03-02"])
AT("7777D-322A7","Last Application Open", GTE, "90 days ago")
संचालन
Anchor link to- “+” – दो सेटों को जोड़ता है (OR के बराबर)
- “*” – दो सेटों को प्रतिच्छेद करता है (AND के बराबर)
- “\” – एक सेट से दूसरे को घटाता है (NOT के बराबर)
सभी संचालन बाएं-सहयोगी हैं। ”+” और ”*” की समान प्राथमिकता है। "" की अधिक प्राथमिकता है। आप गणनाओं की प्राथमिकताओं को परिभाषित करने के लिए कोष्ठक का उपयोग कर सकते हैं।
ध्यान दें कि “\” संचालन क्रमविनिमेय नहीं है। A("12345-12345") \ A("67890-67890") A("67890-67890") \ A("12345-12345") के समान नहीं है।
getPushHistory
Anchor link toPOST https://api.pushwoosh.com/json/1.3/getPushHistory
पुश विवरण के साथ संदेश इतिहास प्राप्त करता है।
अनुरोध बॉडी
Anchor link to| नाम | प्रकार | विवरण |
|---|---|---|
| auth* | string | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| limitMessages | integer | एक प्रतिक्रिया में संदेशों की संख्या को सीमित करता है। 10 से 1000 तक के संभावित मान। |
| source | string | पुश इतिहास स्रोत। शून्य या हो सकता है: “CP”, “API”, “GeoZone”, “RSS”, “AutoPush”, “A/B Test”। |
| searchBy | string | खोज करने के लिए संभावित मान। शून्य या हो सकता है: “notificationID”, “notificationCode”, “applicationCode”, “campaignCode”। |
| value | string | ”searchBy” फ़ील्ड के अनुसार सेट किया गया खोज मान। |
| lastNotificationID | string | पृष्ठन के लिए उपयोग किया जाता है। पिछले /getPushHistory कॉल से अंतिम messageId। नीचे विवरण देखें। |
{ "status_code": 200, "status_message": "OK", "response": { "rows": [{ "id": 10191611434, "code": "8071-07AD1171-77238AD1", "createDate": "2020-09-14 12:26:21", "sendDate": "2020-09-14 12:26:21", "content": { "en": "Hello!" }, "url": null, "ios_title": null, "ios_subtitle": null, "ios_root_params": null, "android_header": null, "android_root_params": null, "conditions": null, "conditions_operator": "AND", "filter_code": "E3A64-A5F3C", "filter_conditions": "#In-app Purchase(≠0)", "filter_name": "Purchased something", "geozone": null, "campaignId": "", "campaignName": "", "subscription_segments": null, "open": { "C90C0-0E786": { "IOS": 0 } }, "sent": { "C90C0-0E786": { "IOS": 1 } }, "ctr": { "C90C0-0E786": 0 } }, { "id": 10191609202, "code": "41CA-83F8E0D7-7A63822B", "createDate": "2020-09-14 12:25:55", "sendDate": "2020-09-14 12:25:55", "content": { "en": "Hi!" }, "url": null, "ios_title": null, "ios_subtitle": null, "ios_root_params": null, "android_header": null, "android_root_params": null, "conditions": null, "conditions_operator": "AND", "filter_code": null, "filter_conditions": null, "filter_name": null, "geozone": null, "campaignId": "", "campaignName": "", "subscription_segments": { "2D732-BB981": "News" }, "open": { "C90C0-0E786": { "CHROME": 0, "IOS": 0 } }, "sent": { "C90C0-0E786": { "CHROME": 1, "IOS": 2 } }, "ctr": { "C90C0-0E786": 0 } }] }}{ "request":{ "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "source": null, // वैकल्पिक। संभावित मान शून्य, "CP", "API", "GeoZone", // "RSS", "AutoPush", "A/B Test" हैं "searchBy": "applicationCode", // वैकल्पिक। संभावित मान "", "notificationID", // "notificationCode", "applicationCode", "campaignCode" हैं "value": "C8717-703F2", // वैकल्पिक। "searchBy" फ़ील्ड के अनुसार सेट किया गया खोज मान। "lastNotificationID": 0, // वैकल्पिक। पृष्ठन के लिए उपयोग किया जाता है। पिछले /getPushHistory // कॉल से अंतिम messageId। नीचे विवरण देखें। "limitMessages": 1000 // वैकल्पिक। 10 से 1000 तक का संभावित मान। }}यह विधि खाते से 1000 संदेशों को संदेश आईडी द्वारा क्रमबद्ध करके लौटाएगी। दूसरा पृष्ठ प्राप्त करने के लिए, lastNotificationId पैरामीटर में पिछली प्रतिक्रिया की अंतिम संदेश आईडी निर्दिष्ट करें।
प्रतिक्रिया डेटा प्रकार
Anchor link toid -- int | 0code -- stringcreateDate -- string (date: %Y-%m-%d %H:%M:%S)sendDate -- string (date: %Y-%m-%d %H:%M:%S)content -- array ( dict {lang: value} | list [])title -- array ( dict {lang: value} | list [])subtitle -- array ( dict {lang: value} | list [])url -- stringios_title -- string | array ( dict {lang: value} ) | nullios_subtitle -- string | array ( dict {lang: value} ) | nullios_root_params -- dict (JSON) | nullandroid_header -- string | array ( dict {lang: value} ) | nullandroid_root_params -- dict (JSON) | nullconditions -- list (JSON) | nullconditions_operator -- string | nullfilter_code -- string | nullfilter_name -- string | nullfilter_conditions -- string | nullgeozone -- string | nullcampaignId -- string | ""campaignName -- string | ""subscription_segments (obsolete) -- list (JSON) | nulldata -- dict (JSON) | nullopen -- dict [dict [string: int]] | "" उदाहरण: 'open': {'AAAAA-BBBBB': {'IOS': 1, 'ANDROID': 1}}sent -- dict [dict [string: int]] | "" उदाहरण: 'sent': {'AAAAA-BBBBB': {'IOS': 10, 'ANDROID': 10}}ctr -- dict [string: int] | "" उदाहरण: {'AAAAA-BBBBB': 1}errors -- dict [string: int] | "" उदाहरण: {'ANDROID': 1, 'IOS': 1}cancelMessage
Anchor link toPOST https://api.pushwoosh.com/json/1.3/cancelMessage
एक निर्धारित संदेश को हटाता है।
अनुरोध बॉडी
Anchor link to| नाम | प्रकार | विवरण |
|---|---|---|
| auth* | string | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| message* | string | /createMessage प्रतिक्रिया में प्राप्त संदेश कोड। |
{ "status_code":200, "status_message":"OK"}{ "request":{ "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन "message": "xxxx-xxxxxxx-xxxxxx" // आवश्यक। /createMessage प्रतिक्रिया में प्राप्त संदेश कोड }}स्थिति कोड:
| HTTP स्थिति कोड | status_code | विवरण |
|---|---|---|
| 200 | 200 | संदेश सफलतापूर्वक रद्द कर दिया गया |
| 200 | 210 | तर्क त्रुटि। अधिक जानकारी के लिए status_message देखें। |
| 400 | N/A | विकृत अनुरोध स्ट्रिंग |
| 500 | 500 | आंतरिक त्रुटि |