संदेश एपीआई
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", // वैकल्पिक। URL बार से रिच मीडिया कोड कॉपी करें // Pushwoosh कंट्रोल पैनल में रिच मीडिया संपादक पृष्ठ का। "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" }, "message_type": "marketing", // वैकल्पिक। "marketing" या "transactional"। // यदि छोड़ा गया है, तो इसे लेन-देन के रूप में माना जाता है: सभी को दिया जाता है। // विपणन संदेश नियंत्रण समूह के सदस्यों को नहीं दिए जाते हैं।
// फ़्रीक्वेंसी कैपिंग पैरामीटर। सुनिश्चित करें कि कंट्रोल पैनल में ग्लोबल फ़्रीक्वेंसी कैपिंग कॉन्फ़िगर किया गया है। // फ़्रीक्वेंसी कैपिंग लेन-देन संबंधी संदेशों पर लागू नहीं होती है। // अन्य सभी मामलों में, छोड़े गए "message_type" सहित, फ़्रीक्वेंसी कैपिंग लागू होती है। "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 पुश टोकन केवल लोअर केस हो सकते हैं। "to": [ // वैकल्पिक। ईमेल, एसएमएस और इसी तरह के चैनलों के लिए। प्राप्तकर्ताओं की सूची "email_1", "email_2" // (जैसे ईमेल पते, फोन नंबर)। अधिकतम 1000 आइटम। ], // पुश के लिए, इसके बजाय "devices" का उपयोग करें। // उपयोगकर्ता-केंद्रित पुश सूचनाएं "users": [ // वैकल्पिक। यदि सेट है, तो संदेश केवल को दिया जाएगा "user_XXXX" // निर्दिष्ट उपयोगकर्ता आईडी (/registerUser कॉल के माध्यम से सेट)। ], // यदि डिवाइस या to के साथ निर्दिष्ट किया गया है, // बाद वाले को अनदेखा कर दिया जाएगा। 1000 से अधिक उपयोगकर्ता नहीं // एक ऐरे में आईडी। उपयोगकर्ता सूची के लिए एप्लिकेशन समूह // की अनुमति नहीं है।
// फ़िल्टर और शर्तें "filter": "FILTER_NAME", // वैकल्पिक। "conditions": [ // वैकल्पिक। नीचे टिप्पणी देखें। ["Country", "EQ", "fr"], ["Language", "EQ", "en"] ], "conditions_operator": "AND" // वैकल्पिक। शर्तों के ऐरे के लिए तार्किक ऑपरेटर। // संभावित मान: AND | OR। AND डिफ़ॉल्ट है। }] }}वीओआईपी अधिसूचना अनुरोध उदाहरण
Anchor link toPushwoosh iOS और Android के लिए वीओआईपी-शैली कॉल सूचनाओं का समर्थन करता है।
नीचे आप प्रत्येक प्लेटफ़ॉर्म के लिए उदाहरण API createMessage अनुरोध पा सकते हैं।
{ "request": { "application": "XXXXX-XXXXX", // आवश्यक। Pushwoosh एप्लिकेशन कोड। "auth": "yxoPUlwqm…………pIyEX4H", // आवश्यक। Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। "notifications": [ { "voip_push": true, // आवश्यक। वीओआईपी पुश सूचना भेजने के लिए पैरामीटर आवश्यक है। "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, // आवश्यक। वीओआईपी पुश सूचना भेजने के लिए पैरामीटर आवश्यक है। "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", // वैकल्पिक वीओआईपी पैरामीटर। कॉलर का नाम। यदि निर्दिष्ट नहीं है, तो "अज्ञात कॉलर" दिखाया गया है। "video": true, // वैकल्पिक वीओआईपी पैरामीटर। इंगित करता है कि वीडियो कॉल समर्थित हैं या नहीं। "supportsHolding": true, // वैकल्पिक वीओआईपी पैरामीटर। इंगित करता है कि कॉल होल्डिंग कार्यक्षमता समर्थित है या नहीं। "supportsDTMF": false, // वैकल्पिक वीओआईपी पैरामीटर। डुअल-टोन मल्टी-फ़्रीक्वेंसी सिग्नल समर्थन को नियंत्रित करता है। "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_collapse_id": "promo", // वैकल्पिक। APNs पतन पहचानकर्ता। एक ही के साथ सूचनाएं // apns_collapse_id डिवाइस पर एक दूसरे को प्रतिस्थापित करते हैं। "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, // आवश्यक वीओआईपी पैरामीटर। वीओआईपी पुश सूचनाएं भेजने के लिए पैरामीटर आवश्यक है। "callerName": "callerName", // वैकल्पिक वीओआईपी पैरामीटर। कॉलर का नाम। यदि निर्दिष्ट नहीं है, तो "अज्ञात कॉलर" दिखाया गया है। "video": true, // वैकल्पिक वीओआईपी पैरामीटर। इंगित करता है कि वीडियो कॉल समर्थित हैं या नहीं। }, // निर्दिष्ट संदेश आईडी (संदेश इतिहास से आईडी प्राप्त करें) "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", // वैकल्पिक। एलईडी हेक्स रंग, डिवाइस अपना सर्वश्रेष्ठ सन्निकटन करेगा। "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", // वैकल्पिक। संबंधित सूचनाओं को समूहित करने के लिए पहचानकर्ता। के साथ संदेश // एक ही थ्रेड आईडी को में समूहित किया जाएगा // सूचना केंद्र। "android_collapse_key": "promo" // वैकल्पिक। FCM पतन कुंजी। एक ही के साथ सूचनाएं // डिवाइस ऑफ़लाइन होने पर पतन कुंजी एक दूसरे को प्रतिस्थापित करती है। }] }}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", // वैकल्पिक। एलईडी हेक्स रंग, डिवाइस अपना सर्वश्रेष्ठ सन्निकटन करेगा "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": { // वैकल्पिक। फ़ायरफ़ॉक्स को भेजे गए संदेशों के लिए विशिष्ट पैरामीटर सेट करें। "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 के बेस64 में एन्कोड की गई सूचना की सामग्री (XML या कच्ची) // ऑब्जेक्ट या स्ट्रिंग के रूप में "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 | आंतरिक त्रुटि |
एपीआई मैसेजिंग ट्रेसिंग
Anchor link toलोड संतुलन उद्देश्यों के लिए, हम “डिवाइस” पैरामीटर के साथ एपीआई के माध्यम से भेजे गए संदेशों को संग्रहीत नहीं करते हैं जिसमें एक सरणी में 10 से कम डिवाइस होते हैं। इस वजह से, ऐसे संदेश आपके संदेश इतिहास में प्रदर्शित नहीं होंगे।
परीक्षण चरण के दौरान पुश रिपोर्ट देखने के लिए, एपीआई मैसेजिंग ट्रेसिंग का उपयोग करें। इस विकल्प को चालू करने से आप 1 घंटे के लिए इस सीमा को ओवरराइड कर सकते हैं और ऐसे पुश को संदेश इतिहास में सहेज सकते हैं। एपीआई मैसेजिंग ट्रेसिंग 1 घंटे के बाद स्वचालित रूप से बंद हो जाती है।
एपीआई मैसेजिंग ट्रेसिंग को संदेश इतिहास पृष्ठ पर ऊपरी दाएं कोने में एपीआई मैसेजिंग ट्रेसिंग शुरू करें पर क्लिक करके सक्रिय किया जा सकता है।
टैग शर्तें
Anchor link toप्रत्येक टैग शर्त एक सरणी है जैसे [tagName, operator, operand] जहाँ
- tagName: एक टैग का नाम
- operator: “EQ” | “IN” | “NOTEQ” | “NOTIN” | “LTE” | “GTE” | “BETWEEN” | “NOTSET” | “ANY”
- operand: string | integer | array | date
ऑपरेटर विवरण
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"(string)- unix timestamp
1234567890(integer) "N days ago"(string) ऑपरेटर 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
एक संदेश को हटाता है, चाहे वह अभी भी अनुसूचित हो या पहले ही भेजा जा चुका हो। एक अनुसूचित संदेश के लिए, यह इसे संदेश इतिहास से तुरंत हटा देता है - पहले से भेजे गए संदेश के लिए, नीचे दी गई सावधानी देखें।
गैर-ओपनर्स को फिर से भेजें के साथ संदेश से बनाए गए फॉलो-अप भेजें प्रभावित नहीं होते हैं - उनमें से प्रत्येक को अलग से हटाएं या रद्द करें।
यदि आप भेजना बंद करना चाहते हैं, लेकिन संदेश को canceled स्थिति के साथ संदेश इतिहास में रखना चाहते हैं, तो इसके बजाय /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 | तर्क त्रुटि, उदा. संदेश अभी भी creating स्थिति में है। अधिक जानकारी के लिए 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": "Errors occurred while compiling filter", "response": { "errors": [{ "message": "Invalid tag set specification. \")\" expected.", "type": "syntax" }] }}{ "status_code": 210, "status_message": "Errors occurred while compiling filter", "response": { "errors": [{ "message": "Application \"11111-11111\" not found", "type": "semantic", "near": "\"11111-11111\"" }] }}{ "status_code": 210, "status_message": "Errors occurred while compiling filter", "response": { "errors": [{ "message": "Invalid character \"/\" at 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", // वैकल्पिक। एलईडी हेक्स रंग, डिवाइस अपना सर्वश्रेष्ठ सन्निकटन करेगा। "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": { // आवश्यक। सूचना की सामग्री (XML या कच्ची) एन्कोड की गई // ऑब्जेक्ट या स्ट्रिंग के रूप में MIME के बेस64 में "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": { // वैकल्पिक। फ़ायरफ़ॉक्स को भेजे गए संदेशों के लिए विशिष्ट पैरामीटर सेट करें। "key": "value" } }}मूल बातें बहुत सरल हैं - सभी फ़िल्टर संस्थाओं के सेट पर किए जाते हैं।
सेट्स
Anchor link toसेट्स को इस प्रकार परिभाषित किया गया है:
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, // वैकल्पिक। पृष्ठांकन के लिए उपयोग किया जाता है। से अंतिम messageId // पिछला /getPushHistory कॉल। नीचे विवरण देखें। "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]] | "" Example: 'open': {'AAAAA-BBBBB': {'IOS': 1, 'ANDROID': 1}}sent -- dict [dict [string: int]] | "" Example: 'sent': {'AAAAA-BBBBB': {'IOS': 10, 'ANDROID': 10}}ctr -- dict [string: int] | "" Example: {'AAAAA-BBBBB': 1}errors -- dict [string: int] | "" Example: {'ANDROID': 1, 'IOS': 1}cancelMessage
Anchor link toPOST https://api.pushwoosh.com/json/1.3/cancelMessage
एक अनुसूचित संदेश के भेजने को रद्द करता है। संदेश canceled स्थिति के साथ संदेश इतिहास में रहता है। गैर-ओपनर्स को फिर से भेजें के साथ इससे बनाए गए फॉलो-अप भेजें भी रद्द कर दिए जाते हैं।
यदि आप संदेश को संदेश इतिहास से हटाना चाहते हैं तो इसके बजाय /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 | आंतरिक त्रुटि |