বিষয়বস্তুতে যান

মেসেজ এপিআই

createMessage Deprecated

Anchor link to

POST https://api.pushwoosh.com/json/1.3/createMessage

একটি নতুন পুশ নোটিফিকেশন তৈরি করে।

অনুরোধের বডি (Request Body)

Anchor link to
নামটাইপবর্ণনা
auth*stringPushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
application*stringPushwoosh অ্যাপ্লিকেশন কোড
notifications*arrayমেসেজ প্যারামিটারের JSON অ্যারে। নিচের অনুরোধের উদাহরণে বিস্তারিত দেখুন।
{
"status_code": 200,
"status_message": "OK",
"response": {
"Messages": [
"C3F8-C3863ED4-334AD4F1"
]
}
}

অনুরোধের উদাহরণ

Anchor link to
Example
{
"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 অবজেক্ট, পেলোডে "u" প্যারামিটার হিসাবে পাস করা হবে (JSON স্ট্রিং-এ রূপান্তরিত)।
"key": "value"
},
"transactionId": "unique UUID", // ঐচ্ছিক। নেটওয়ার্ক সমস্যার ক্ষেত্রে ডুপ্লিকেট হওয়া রোধ করতে অনন্য মেসেজ শনাক্তকারী। Pushwoosh-এর দিকে ৫ মিনিটের জন্য সংরক্ষণ করা হয়।
"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, // ঐচ্ছিক। যদি true সেট করা হয়, থ্রটলিং সীমা এই নির্দিষ্ট পুশ নোটিফিকেশনে প্রয়োগ করা হবে না।
// টেমপ্লেটিং সম্পর্কিত, আরও জানতে অনুগ্রহ করে টেমপ্লেট ইঞ্জিন গাইড দেখুন
"template_bindings": { // ঐচ্ছিক।
"TemplatePlaceholder": "Value"
},
"dynamic_content_placeholders": { // ঐচ্ছিক। ডিভাইস ট্যাগের পরিবর্তে ডাইনামিক কন্টেন্টের জন্য প্লেসহোল্ডার।
"firstname": "John",
"lastname": "Doe"
},
"message_type": "marketing", // ঐচ্ছিক। "marketing" বা "transactional"।
// যদি বাদ দেওয়া হয়, PW_ControlGroup: true সহ ব্যবহারকারীরা মেসেজটি পাবেন না।
// ফ্রিকোয়েন্সি ক্যাপিং প্যারামিটার। নিশ্চিত করুন যে কন্ট্রোল প্যানেলে গ্লোবাল ফ্রিকোয়েন্সি ক্যাপিং কনফিগার করা আছে।
// ফ্রিকোয়েন্সি ক্যাপিং লেনদেনমূলক মেসেজের ক্ষেত্রে প্রযোজ্য নয়।
// অন্য সব ক্ষেত্রে, "message_type" বাদ দেওয়া সহ, ফ্রিকোয়েন্সি ক্যাপিং প্রযোজ্য।
"capping_days": 30, // ঐচ্ছিক। ফ্রিকোয়েন্সি ক্যাপিংয়ের জন্য দিনের পরিমাণ (সর্বোচ্চ ৩০ দিন)
"capping_count": 10, // ঐচ্ছিক। একটি নির্দিষ্ট অ্যাপ থেকে একটি নির্দিষ্ট ডিভাইসে 'capping_days' সময়ের মধ্যে পাঠানো যেতে পারে এমন সর্বোচ্চ পুশের সংখ্যা। যদি তৈরি করা মেসেজটি একটি ডিভাইসের জন্য 'capping_count' সীমা অতিক্রম করে, তবে এটি সেই ডিভাইসে পাঠানো হবে না।
"capping_exclude": true, // ঐচ্ছিক। যদি true সেট করা হয়, এই পুশ নোটিফিকেশনটি ভবিষ্যতের পুশের জন্য ক্যাপিংয়ের দিকে গণনা করা হবে না।
"capping_avoid": true, // ঐচ্ছিক। যদি 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" প্যারামিটারের পরিবর্তে ব্যবহার করা যেতে পারে।
// সর্বোচ্চ ৩০ দিন পর্যন্ত।
"devices": [ // ঐচ্ছিক। টার্গেটেড পুশ পাঠানোর জন্য টোকেন বা hwid উল্লেখ করুন
"hwid_XXXX" // নোটিফিকেশন। একটি অ্যারেতে ১০০০০ এর বেশি টোকেন/hwid নয়।
], // যদি সেট করা হয়, মেসেজটি শুধুমাত্র তালিকার ডিভাইসগুলিতে পাঠানো হবে। ডিভাইস তালিকার জন্য অ্যাপ্লিকেশন গ্রুপ অনুমোদিত নয়। iOS পুশ টোকেন শুধুমাত্র ছোট হাতের হতে পারে।
"to": [ // ঐচ্ছিক। ইমেল, এসএমএস এবং অনুরূপ চ্যানেলগুলির জন্য। প্রাপকদের তালিকা
"email_1", "email_2" // (যেমন ইমেল ঠিকানা, ফোন নম্বর)। সর্বোচ্চ ১০০০ আইটেম।
], // পুশের জন্য, এর পরিবর্তে "devices" ব্যবহার করুন।
// ব্যবহারকারী-কেন্দ্রিক পুশ নোটিফিকেশন
"users": [ // ঐচ্ছিক। যদি সেট করা হয়, মেসেজটি শুধুমাত্র নির্দিষ্ট ব্যবহারকারী আইডিগুলিতে সরবরাহ করা হবে (/registerUser কলের মাধ্যমে সেট করা)।
"user_XXXX"
], // যদি ডিভাইস বা to এর সাথে একসাথে উল্লেখ করা হয়,
// পরেরটি উপেক্ষা করা হবে। একটি অ্যারেতে ১০০০ এর বেশি ব্যবহারকারী আইডি নয়। ব্যবহারকারী তালিকার জন্য অ্যাপ্লিকেশন গ্রুপ অনুমোদিত নয়।
// ফিল্টার এবং শর্তাবলী
"filter": "FILTER_NAME", // ঐচ্ছিক।
"conditions": [ // ঐচ্ছিক। নিচের মন্তব্য দেখুন।
["Country", "EQ", "fr"],
["Language", "EQ", "en"]
],
"conditions_operator": "AND" // ঐচ্ছিক। শর্তাবলী অ্যারের জন্য লজিক্যাল অপারেটর।
// সম্ভাব্য মান: AND | OR। AND ডিফল্ট।
}]
}
}

VoIP নোটিফিকেশন অনুরোধের উদাহরণ

Anchor link to

Pushwoosh iOS এবং Android এর জন্য VoIP-স্টাইল কল নোটিফিকেশন সমর্থন করে।
নিচে আপনি প্রতিটি প্ল্যাটফর্মের জন্য API createMessage অনুরোধের উদাহরণ খুঁজে পেতে পারেন।

Example
{
"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", // ঐচ্ছিক। কলারের নাম। যদি উল্লেখ না করা হয়, "unknown caller" দেখানো হয়।
"video": true, // ঐচ্ছিক। ভিডিও কল সমর্থিত কিনা তা নির্দেশ করে।
"supportsHolding": true, // ঐচ্ছিক। কল হোল্ডিং কার্যকারিতা সমর্থিত কিনা তা নির্দেশ করে।
"supportsDTMF": false, // ঐচ্ছিক। ডুয়াল-টোন মাল্টি-ফ্রিকোয়েন্সি সিগন্যাল সমর্থন নিয়ন্ত্রণ করে।
"callId": "42", // ঐচ্ছিক। বাতিল করার জন্য কলের অনন্য শনাক্তকারী।
"cancelCall": true // ঐচ্ছিক। নির্দিষ্ট "callId" সহ কলটি বাতিল করতে "true" সেট করুন।
}
}
]
}
}
Example
{
"request": {
"application": "XXXXX-XXXXX", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড।
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন।
"notifications": [
{
"voip_push": true, // আবশ্যক। একটি VoIP পুশ নোটিফিকেশন পাঠানোর জন্য প্যারামিটারটি আবশ্যক।
"android_root_params": {
"callerName": "callerName", // ঐচ্ছিক। কলারের নাম। যদি উল্লেখ না করা হয়, "unknown caller" দেখানো হয়।
"video": true, // ঐচ্ছিক। ভিডিও কল সমর্থিত কিনা তা নির্দেশ করে।
"callId": 42, // ঐচ্ছিক। বাতিল করার জন্য কলের অনন্য শনাক্তকারী।
"cancelCall": true // ঐচ্ছিক। নির্দিষ্ট "callId" সহ কলটি বাতিল করতে "true" সেট করুন।
}
}
]
}
}

প্ল্যাটফর্ম-নির্দিষ্ট প্যারামিটার

Anchor link to

iOS প্যারামিটার

Anchor link to
Example
{
"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 প্যারামিটার। কলারের নাম। যদি উল্লেখ না করা হয়, "unknown caller" দেখানো হয়।
"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_collapse_id": "promo", // ঐচ্ছিক। APNs কলাপ্স শনাক্তকারী। একই apns_collapse_id সহ নোটিফিকেশনগুলি ডিভাইসে একে অপরকে প্রতিস্থাপন করে।
"apns_trim_content": 1 // ঐচ্ছিক। (0|1) অতিরিক্ত কন্টেন্ট স্ট্রিংগুলিকে এলিপসিস দিয়ে ছোট করে।
}]
}
}

Android প্যারামিটার

Anchor link to
Example
{
"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 প্যারামিটার। কলারের নাম। যদি উল্লেখ না করা হয়, "unknown caller" দেখানো হয়।
"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 এবং উচ্চতর ডিভাইসগুলির জন্য "importance" প্যারামিটার এবং Android 7.1 এবং নিম্নতর ডিভাইসগুলির জন্য "priority" প্যারামিটার সেট করে। একটি নোটিফিকেশন চ্যানেল বা একটি নির্দিষ্ট নোটিফিকেশনের ইন্টারাপশন লেভেল স্থাপন করে। বৈধ মানগুলি হল -2, -1, 0, 1, 2।
"android_delivery_priority": "normal", // ঐচ্ছিক। "normal" বা "high"।
// ডিভাইস পাওয়ার সেভিং মোডে থাকাকালীন নোটিফিকেশন ডেলিভারি সক্রিয় করে।
"android_ibc": "#RRGGBB", // ঐচ্ছিক। Lollipop-এ আইকন ব্যাকগ্রাউন্ড রঙ, #RRGGBB,
// #AARRGGBB, "red", "black", "yellow", ইত্যাদি।
"android_silent": 1, // ঐচ্ছিক। 0 বা 1। সাইলেন্ট নোটিফিকেশন সক্রিয় করুন।
// সাউন্ড এবং কন্টেন্ট উপেক্ষা করুন
"android_group_id": "123", // ঐচ্ছিক। সম্পর্কিত নোটিফিকেশন গ্রুপ করার জন্য শনাক্তকারী। একই থ্রেড আইডি সহ মেসেজগুলি নোটিফিকেশন সেন্টারে গ্রুপ করা হবে।
"android_collapse_key": "promo" // ঐচ্ছিক। FCM কলাপ্স কী। ডিভাইস অফলাইন থাকাকালীন একই কলাপ্স কী সহ নোটিফিকেশনগুলি একে অপরকে প্রতিস্থাপন করে।
}]
}
}

Huawei প্যারামিটার

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", // ঐচ্ছিক। Lollipop-এ আইকন ব্যাকগ্রাউন্ড রঙ
"huawei_android_lockscreen": 1, // ঐচ্ছিক
"huawei_android_delivery_priority": "normal", // ঐচ্ছিক। "normal" বা "high"। পাওয়ার সেভিং মোডে নোটিফিকেশন ডেলিভারি সক্রিয় করে
"huawei_android_group_id": "group_id" // ঐচ্ছিক। সম্পর্কিত নোটিফিকেশন গ্রুপ করার জন্য শনাক্তকারী
}]
}
}

Safari প্যারামিটার

Anchor link to
Safari
{
"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
Chrome
{
"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, // ঐচ্ছিক। সর্বোচ্চ ৫০ সেকেন্ড। ক্রোম পুশ প্রদর্শনের সময় পরিবর্তন করে।
// ব্যবহারকারী ইন্টারঅ্যাক্ট না করা পর্যন্ত পুশ প্রদর্শন করতে 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
Firefox
{
"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
Amazon
{
"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
Mac OS X
{
"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
Windows
{
"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", // ঐচ্ছিক। টাইল প্রতিস্থাপন নীতিতে ব্যবহৃত হয়।
// ১৬ অক্ষরের বেশি নয় এমন একটি আলফানিউমেরিক স্ট্রিং।
"wns_cache": 1, // ঐচ্ছিক। (1|0) X-WNS-Cache-Policy মানে অনুবাদ করে।
"wns_ttl": 600 // ঐচ্ছিক। সেকেন্ডে নোটিফিকেশনের মেয়াদ শেষ হওয়ার সময়।
}]
}
}

প্রতিক্রিয়া (Response):

HTTP স্ট্যাটাস কোডstatus_codeবর্ণনা
200200মেসেজ সফলভাবে তৈরি হয়েছে
200210আর্গুমেন্ট ত্রুটি। আরও তথ্যের জন্য status_message দেখুন
400N/Aত্রুটিপূর্ণ অনুরোধ স্ট্রিং
500500অভ্যন্তরীণ ত্রুটি

API মেসেজিং ট্রেসিং

Anchor link to

লোড ব্যালেন্সিংয়ের উদ্দেশ্যে, আমরা “devices” প্যারামিটার সহ API এর মাধ্যমে পাঠানো মেসেজগুলি সংরক্ষণ করি না যা একটি অ্যারেতে ১০টির কম ডিভাইস ধারণ করে। এই কারণে, এই ধরনের মেসেজগুলি আপনার মেসেজ হিস্ট্রিতে প্রদর্শিত হবে না।

পরীক্ষার পর্যায়ে পুশ রিপোর্ট দেখতে, API মেসেজিং ট্রেসিং ব্যবহার করুন। এই বিকল্পটি চালু করলে আপনি ১ ঘন্টার জন্য এই সীমাটি ওভাররাইড করতে পারবেন এবং এই ধরনের পুশগুলি মেসেজ হিস্ট্রিতে সংরক্ষণ করতে পারবেন। API মেসেজিং ট্রেসিং ১ ঘন্টা পরে স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়।

API মেসেজিং ট্রেসিং মেসেজ হিস্ট্রি পৃষ্ঠা থেকে উপরের ডান কোণায় Start API messaging tracing ক্লিক করে সক্রিয় করা যেতে পারে।

ট্যাগ শর্তাবলী

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" (স্ট্রিং)
  • unix টাইমস্ট্যাম্প 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
#Usage
if [ ! -n "$1" ] || [ ! -n "$2" ]
then
echo "`basename $0` usage: api_token appid message";
exit 1;
fi;
MESSAGE="$3";
if [ -z "$3" ]
then
MESSAGE='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;

deleteMessage

Anchor link to

POST https://api.pushwoosh.com/json/1.3/deleteMessage

একটি নির্ধারিত মেসেজ ডিলিট করে।

অনুরোধের বডি (Request Body)

Anchor link to
নামটাইপবর্ণনা
auth*stringPushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
message*string/createMessage অনুরোধে প্রাপ্ত মেসেজ কোড
{
"status_code": 200,
"status_message": "OK"
}
Example
{
"request":{
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"message": "xxxx-xxxxxxx-xxxxxx" // আবশ্যক। /createMessage-এ প্রাপ্ত মেসেজ কোড
}
}

স্ট্যাটাস কোড:

HTTP স্ট্যাটাস কোডstatus_codeবর্ণনা
200200মেসেজ সফলভাবে ডিলিট করা হয়েছে
200210আর্গুমেন্ট ত্রুটি। আরও তথ্যের জন্য status_message দেখুন
400N/Aত্রুটিপূর্ণ অনুরোধ স্ট্রিং
500500অভ্যন্তরীণ ত্রুটি
<?php
// see https://gomoob.github.io/php-pushwoosh/delete-message.html
use 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 to

POST https://api.pushwoosh.com/json/1.3/getMessageDetails

মেসেজের বিস্তারিত তথ্য পুনরুদ্ধার করে।

অনুরোধের বডি (Request Body)

Anchor link to
নামটাইপবর্ণনা
auth*stringPushwoosh কন্ট্রোল প্যানেল থেকে 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"
}
}
}
}
Example
{
"request":{
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"message": "xxxx-xxxxxxx-xxxxxx" // আবশ্যক। মেসেজ কোড বা মেসেজ আইডি
}
}

createTargetedMessage Deprecated

Anchor link to

POST https://api.pushwoosh.com/json/1.3/createTargetedMessage

একটি নতুন টার্গেটেড পুশ নোটিফিকেশন তৈরি করে।

অনুরোধের বডি (Request Body)

Anchor link to
নামটাইপবর্ণনা
auth*stringPushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
devices_filter*stringনিচের মন্তব্য দেখুন।
send_date*stringYYYY-MM-DD HH:mm বা ‘now’।
ignore_user_timezonebooleanউপেক্ষা করা হলে, “send_date”-এর জন্য ডিফল্ট UTC-0।
timezonestringউপেক্ষা করা হলে, “send_date”-এর জন্য ডিফল্ট UTC-0।
campaignstringএকটি ক্যাম্পেইনের কোড যেখানে আপনি এই পুশ মেসেজটি বরাদ্দ করতে চান।
content*stringনোটিফিকেশন কন্টেন্ট। বিস্তারিত জানতে অনুরোধের উদাহরণ দেখুন।
transactionIdstringনেটওয়ার্ক সমস্যার ক্ষেত্রে মেসেজ ডুপ্লিকেট হওয়া রোধ করতে অনন্য মেসেজ শনাক্তকারী। Pushwoosh-এর দিকে ৫ মিনিটের জন্য সংরক্ষণ করা হয়।
linkstringব্যবহারকারী পুশ মেসেজ খুললে যে লিঙ্কটি খোলা হবে।
minimize_linkinteger0 - ছোট করবেন না, 2 - bit.ly। ডিফল্ট = 2।
dataobjectJSON স্ট্রিং বা JSON অবজেক্ট। পেলোডে “u” প্যারামিটার হিসাবে পাস করা হবে (JSON স্ট্রিং-এ রূপান্তরিত)।
presetstringপ্রিসেট কোড
send_rateintegerথ্রটলিং। বৈধ মানগুলি 100 থেকে 1000 পুশ প্রতি সেকেন্ড।
inbox_datestringইনবক্স থেকে একটি মেসেজ কখন সরানো হবে তা উল্লেখ করুন।
inbox_imagestringইনবক্সে মেসেজের পাশে দেখানো হবে এমন ছবির 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"
}]
}
}
Example
{
"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-এর দিকে ৫ মিনিটের জন্য সংরক্ষণ করা হয়।
"rich_media": "XXXXX-XXXXX", // ঐচ্ছিক। Pushwoosh কন্ট্রোল প্যানেলের রিচ মিডিয়া এডিটর পেজের URL বার থেকে রিচ মিডিয়া কোড কপি করুন।
"link": "https://google.com", // ঐচ্ছিক। ডীপলিংকের জন্য "minimize_link": 0 যোগ করুন
"minimize_link": 0, // ঐচ্ছিক। 0 — ছোট করবেন না, 2 — bitly। ডিফল্ট = 2।
// Google URL শর্টনার মার্চ ৩০, ২০১৯ থেকে নিষ্ক্রিয়।
// দয়া করে মনে রাখবেন যে শর্টনারগুলির কলের সংখ্যার উপর সীমাবদ্ধতা রয়েছে।
"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-তে মেসেজটি ইনবক্স থেকে সরানো হবে, তাই আগের তারিখটি ব্যবহারকারীর ইনবক্সে মেসেজটি দেখার শেষ দিন।
// যদি উল্লেখ না করা হয়, ডিফল্ট অপসারণের তারিখ পাঠানোর তারিখের পরের দিন।
}
}

মৌলিক বিষয়গুলি খুব সহজ – সমস্ত ফিল্টার সত্তার সেট এর উপর সঞ্চালিত হয়।

সেটগুলি সংজ্ঞায়িত করা হয়েছে:

১. নির্দিষ্ট অ্যাপে সাবস্ক্রাইব করা ডিভাইস (A);
২. নির্দিষ্ট ট্যাগ মান (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])

ডিভাইসগুলির সেট সংজ্ঞায়িত করে যেগুলির “age” ট্যাগটি ১৭, ১৮, ১৯, ২০ মানগুলির মধ্যে একটিতে সেট করা আছে।

ট্যাগের প্রকার এবং অপারেটর

Anchor link to

সবচেয়ে গুরুত্বপূর্ণ বিষয় হল ট্যাগগুলি অ্যাপগুলির মধ্যে শেয়ার করা হয়, এবং এটি একটি নির্দিষ্ট অ্যাপের সাথে নিজেকে আবদ্ধ না করে আপনার টার্গেট ব্যবহারকারীদের সেগমেন্ট এবং ফিল্টার করার জন্য একটি খুব শক্তিশালী উপকরণ উপস্থাপন করে।

ট্যাগটি তিনটি ভিন্ন ধরনের হতে পারে: স্ট্রিং, পূর্ণসংখ্যা, তালিকা। ট্যাগের প্রকার নির্ধারণ করে যে আপনি একটি নির্দিষ্ট ট্যাগের জন্য কোন অপারেটর ব্যবহার করতে পারেন।

স্ট্রিং ট্যাগ

Anchor link to

প্রযোজ্য অপারেটর:

  • EQ – একটি নির্দিষ্ট ট্যাগ মান সহ ডিভাইসগুলিকে টার্গেট করে
  • IN – নির্দিষ্ট ট্যাগ মানগুলির যেকোনো একটি সহ ডিভাইসগুলিকে টার্গেট করে
  • NOTIN – কোনো নির্দিষ্ট ট্যাগ মান ছাড়া ডিভাইসগুলিকে টার্গেট করে
  • NOTEQ – একটি নির্দিষ্ট মানের সমান নয় এমন ট্যাগ মান সহ ডিভাইসগুলিকে টার্গেট করে
  • NOTSET – একটি নির্দিষ্ট ট্যাগের জন্য কোনো মান ছাড়া ডিভাইসগুলিকে টার্গেট করে
  • ANY – একটি নির্দিষ্ট ট্যাগের জন্য যেকোনো মান সেট করা ডিভাইসগুলিকে টার্গেট করে

উদাহরণ:

T (\"Age\", EQ, 30) – ৩০ বছর বয়সী ব্যবহারকারীদের ফিল্টার করে

T (\"favorite_color\", IN, [\"red\",\"green\",\"blue\"]) – যারা তাদের প্রিয় রঙ হিসাবে লাল, সবুজ বা নীল বেছে নিয়েছে তাদের ফিল্টার করে।

T (\"Name", NOTSET, \"\") – Name ট্যাগের জন্য কোনো মান ছাড়া ডিভাইসগুলিকে টার্গেট করে।

আপনি স্ট্রিং ট্যাগগুলির সাথে সংখ্যাসূচক মান ব্যবহার করতে পারেন, কিন্তু এই ধরনের মানগুলি একটি স্ট্রিং-এ রূপান্তরিত হবে।

পূর্ণসংখ্যা ট্যাগ

Anchor link to

প্রযোজ্য অপারেটর:

  • GTE – একটি নির্দিষ্ট মানের চেয়ে বড় বা সমান
  • LTE– একটি নির্দিষ্ট মানের চেয়ে ছোট বা সমান
  • EQ – একটি নির্দিষ্ট মানের সমান
  • BETWEEN – সর্বনিম্ন এবং সর্বোচ্চ নির্দিষ্ট মানের মধ্যে
  • IN – নির্দিষ্ট মানগুলির যেকোনো একটি
  • NOTIN – একটি ডিভাইসে কোনো নির্দিষ্ট মান নির্ধারিত নেই
  • NOTEQ – একটি নির্দিষ্ট মানের সমান নয় এমন ট্যাগ মান সহ ডিভাইস
  • NOTSET – একটি নির্দিষ্ট ট্যাগের জন্য কোনো মান ছাড়া ডিভাইস
  • ANY – একটি নির্দিষ্ট ট্যাগের জন্য যেকোনো মান সেট করা ডিভাইস

উদাহরণ:

T (\"Level\", EQ, 14) – শুধুমাত্র ১৪ লেভেলের ব্যবহারকারীদের ফিল্টার করে।

T (\"Level\", BETWEEN, [1,5) – ১, ২, ৩, ৪, এবং ৫ লেভেলের ব্যবহারকারীদের ফিল্টার করে।

T (\"Level", GTE, 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 Deprecated

Anchor link to

POST https://api.pushwoosh.com/json/1.3/getPushHistory

পুশ বিস্তারিত সহ মেসেজ হিস্ট্রি পায়।

অনুরোধের বডি (Request Body)

Anchor link to
নামটাইপবর্ণনা
auth*stringPushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
limitMessagesintegerএকটি প্রতিক্রিয়ায় মেসেজের সংখ্যা সীমিত করে। সম্ভাব্য মান 10 থেকে 1000 পর্যন্ত।
sourcestringপুশ হিস্ট্রি উৎস। null বা: “CP”, “API”, “GeoZone”, “RSS”, “AutoPush”, “A/B Test” হতে পারে।
searchBystringঅনুসন্ধান করার জন্য সম্ভাব্য মান। null বা: “notificationID”, “notificationCode”, “applicationCode”, “campaignCode” হতে পারে।
valuestring”searchBy” ফিল্ড অনুযায়ী সেট করা অনুসন্ধান মান।
lastNotificationIDstringপেজিনেশনের জন্য ব্যবহৃত হয়। পূর্ববর্তী /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
}
}]
}
}
Example
{
"request":{
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"source": null, // ঐচ্ছিক। সম্ভাব্য মানগুলি হল 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 পর্যন্ত।
}
}

এই পদ্ধতিটি অ্যাকাউন্ট থেকে মেসেজ আইডি দ্বারা সাজানো ১০০০টি মেসেজ ফিরিয়ে দেবে। দ্বিতীয় পৃষ্ঠা পেতে, lastNotificationId প্যারামিটারে পূর্ববর্তী প্রতিক্রিয়ার শেষ মেসেজ আইডি উল্লেখ করুন।

প্রতিক্রিয়া ডেটা প্রকার

Anchor link to
id -- int | 0
code -- string
createDate -- 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 -- string
ios_title -- string | array ( dict {lang: value} ) | null
ios_subtitle -- string | array ( dict {lang: value} ) | null
ios_root_params -- dict (JSON) | null
android_header -- string | array ( dict {lang: value} ) | null
android_root_params -- dict (JSON) | null
conditions -- list (JSON) | null
conditions_operator -- string | null
filter_code -- string | null
filter_name -- string | null
filter_conditions -- string | null
geozone -- string | null
campaignId -- string | ""
campaignName -- string | ""
subscription_segments (obsolete) -- list (JSON) | null
data -- dict (JSON) | null
open -- 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 to

POST https://api.pushwoosh.com/json/1.3/cancelMessage

একটি নির্ধারিত মেসেজ ডিলিট করে।

অনুরোধের বডি (Request Body)

Anchor link to
নামটাইপবর্ণনা
auth*stringPushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
message*string/createMessage প্রতিক্রিয়ায় প্রাপ্ত মেসেজ কোড
{
"status_code":200,
"status_message":"OK"
}
Example
{
"request":{
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"message": "xxxx-xxxxxxx-xxxxxx" // আবশ্যক। /createMessage প্রতিক্রিয়ায় প্রাপ্ত মেসেজ কোড
}
}

স্ট্যাটাস কোড:

HTTP স্ট্যাটাস কোডstatus_codeবর্ণনা
200200মেসেজ সফলভাবে বাতিল করা হয়েছে
200210আর্গুমেন্ট ত্রুটি। আরও তথ্যের জন্য status_message দেখুন।
400N/Aত্রুটিপূর্ণ অনুরোধ স্ট্রিং
500500অভ্যন্তরীণ ত্রুটি