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

মেসেজ এপিআই

createMessage

Anchor link to

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

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

অনুরোধের বডি

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
উদাহরণ
{
"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-এর দিকে 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, // ঐচ্ছিক। যদি true সেট করা হয়, থ্রটলিং সীমা এই নির্দিষ্ট পুশ নোটিফিকেশনের জন্য প্রয়োগ করা হবে না।
// টেমপ্লেটিং সম্পর্কিত, আরও জানতে টেমপ্লেট ইঞ্জিন গাইড দেখুন
"template_bindings": { // ঐচ্ছিক।
"TemplatePlaceholder": "Value"
},
"dynamic_content_placeholders": { // ঐচ্ছিক। ডিভাইস ট্যাগের পরিবর্তে ডাইনামিক কন্টেন্টের জন্য প্লেসহোল্ডার।
"firstname": "John",
"lastname": "Doe"
},
// ফ্রিকোয়েন্সি ক্যাপিং প্যারামিটার। কন্ট্রোল প্যানেলে গ্লোবাল ফ্রিকোয়েন্সি ক্যাপিং কনফিগার করা আছে তা নিশ্চিত করুন।
"capping_days": 30, // ঐচ্ছিক। ফ্রিকোয়েন্সি ক্যাপিংয়ের জন্য দিনের সংখ্যা (সর্বোচ্চ 30 দিন)
"capping_count": 10, // ঐচ্ছিক। একটি নির্দিষ্ট অ্যাপ থেকে একটি নির্দিষ্ট ডিভাইসে 'capping_days' সময়ের মধ্যে পাঠানো যেতে পারে এমন সর্বোচ্চ পুশের সংখ্যা।
// যদি তৈরি করা মেসেজটি একটি ডিভাইসের জন্য 'capping_count' সীমা অতিক্রম করে,
// তবে এটি সেই ডিভাইসে পাঠানো হবে না।
"capping_exclude": true, // ঐচ্ছিক। যদি 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" প্যারামিটারের পরিবর্তে ব্যবহার করা যেতে পারে।
// 30 দিন পর্যন্ত।
"devices": [ // ঐচ্ছিক। টার্গেটেড পুশ পাঠানোর জন্য টোকেন বা hwid উল্লেখ করুন
"hwid_XXXX" // নোটিফিকেশন। একটি অ্যারেতে 1000-এর বেশি টোকেন/hwid নয়।
], // যদি সেট করা হয়, মেসেজটি শুধুমাত্র তালিকার ডিভাইসগুলিতে পাঠানো হবে।
// ডিভাইস তালিকার জন্য অ্যাপ্লিকেশন গ্রুপ অনুমোদিত নয়। iOS পুশ টোকেন শুধুমাত্র ছোট হাতের হতে পারে।
"to": [ // ঐচ্ছিক। ইমেল, এসএমএস এবং অনুরূপ চ্যানেলগুলির জন্য। প্রাপকদের তালিকা
"email_1", "email_2" // (যেমন ইমেল ঠিকানা, ফোন নম্বর)। সর্বোচ্চ 1000 আইটেম।
], // পুশের জন্য, এর পরিবর্তে "devices" ব্যবহার করুন।
// ব্যবহারকারী-কেন্দ্রিক পুশ নোটিফিকেশন
"users": [ // ঐচ্ছিক। যদি সেট করা হয়, মেসেজটি শুধুমাত্র নির্দিষ্ট ব্যবহারকারী আইডিগুলিতে বিতরণ করা হবে (/registerUser কলের মাধ্যমে সেট করা)।
"user_XXXX"
], // যদি ডিভাইস বা to-এর সাথে একসাথে উল্লেখ করা হয়,
// তবে পরেরটি উপেক্ষা করা হবে। একটি অ্যারেতে 1000-এর বেশি ব্যবহারকারী আইডি নয়।
// ব্যবহারকারী তালিকার জন্য অ্যাপ্লিকেশন গ্রুপ অনুমোদিত নয়।
// ফিল্টার এবং শর্ত
"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 অনুরোধের উদাহরণ খুঁজে পেতে পারেন।

উদাহরণ
{
"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" সেট করুন।
}
}
]
}
}
উদাহরণ
{
"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
উদাহরণ
{
"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_trim_content": 1 // ঐচ্ছিক। (0|1) অতিরিক্ত কন্টেন্ট স্ট্রিংগুলিকে এলিপসিস দিয়ে ট্রিম করে।
}]
}
}

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

Anchor link to
উদাহরণ
{
"request": {
"application": "12345-67891", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"notifications": [{
"android_header": { // ঐচ্ছিক। Android নোটিফিকেশন হেডার।
"en": "header"
},
"android_content": { // ঐচ্ছিক। Android নোটিফিকেশন কন্টেন্ট।
"en": "content"
},
"android_root_params": { // ঐচ্ছিক। কাস্টম কী-ভ্যালু অবজেক্ট।
"key": "value", // অ্যান্ড্রয়েড পেলোড প্রাপকদের জন্য রুট লেভেল প্যারামিটার।
"CancelID": 12345678, // ঐচ্ছিক। নির্দিষ্ট মেসেজ আইডি সহ পুশ নোটিফিকেশন বাতিল করে (মেসেজ হিস্ট্রি থেকে আইডি পান)
"voip": true, // আবশ্যক VoIP প্যারামিটার। VoIP পুশ নোটিফিকেশন পাঠানোর জন্য প্যারামিটারটি আবশ্যক।
"callerName": "callerName", // ঐচ্ছিক VoIP প্যারামিটার। কলারের নাম। যদি উল্লেখ না করা হয়, "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", // ঐচ্ছিক। ললিপপে আইকন ব্যাকগ্রাউন্ড রঙ, #RRGGBB,
// #AARRGGBB, "red", "black", "yellow", ইত্যাদি।
"android_silent": 1, // ঐচ্ছিক। 0 বা 1। সাইলেন্ট নোটিফিকেশন সক্ষম করুন।
// সাউন্ড এবং কন্টেন্ট উপেক্ষা করুন
"android_group_id": "123" // ঐচ্ছিক। সম্পর্কিত নোটিফিকেশন গ্রুপ করার জন্য শনাক্তকারী। একই থ্রেড আইডি সহ মেসেজগুলি নোটিফিকেশন সেন্টারে গ্রুপ করা হবে।
}]
}
}

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", // ঐচ্ছিক। ললিপপে আইকন ব্যাকগ্রাউন্ড রঙ
"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, // ঐচ্ছিক। সর্বোচ্চ 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
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", // ঐচ্ছিক। টাইল রিপ্লেসমেন্ট নীতিতে ব্যবহৃত।
// 16 অক্ষরের বেশি নয় এমন একটি আলফানিউমেরিক স্ট্রিং।
"wns_cache": 1, // ঐচ্ছিক। (1|0) X-WNS-Cache-Policy মানে অনুবাদ করে।
"wns_ttl": 600 // ঐচ্ছিক। সেকেন্ডে নোটিফিকেশনের মেয়াদ শেষ হওয়ার সময়।
}]
}
}

প্রতিক্রিয়া:

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

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

Anchor link to

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

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

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" (স্ট্রিং)
  • ইউনিক্স টাইমস্ট্যাম্প 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

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

অনুরোধের বডি

Anchor link to
নামপ্রকারবর্ণনা
auth*stringPushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
message*string/createMessage অনুরোধে প্রাপ্ত মেসেজ কোড
{
"status_code": 200,
"status_message": "OK"
}
উদাহরণ
{
"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

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

অনুরোধের বডি

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

createTargetedMessage

Anchor link to

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

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

অনুরোধের বডি

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-এর দিকে 5 মিনিটের জন্য সংরক্ষিত।
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"
}]
}
}
উদাহরণ
{
"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-তে মেসেজটি ইনবক্স থেকে সরানো হবে,
// তাই আগের দিনটি শেষ দিন যখন একজন ব্যবহারকারী তাদের ইনবক্সে মেসেজটি দেখতে পারেন।
// যদি উল্লেখ না করা হয়, ডিফল্ট অপসারণের তারিখ পাঠানোর তারিখের পরের দিন।
}
}

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

সেটগুলি এইভাবে সংজ্ঞায়িত করা হয়:

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])

ডিভাইসগুলির সেট সংজ্ঞায়িত করে যেগুলির “age” ট্যাগ 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, \"\") – Name ট্যাগের জন্য কোনো মান ছাড়া ডিভাইসগুলিকে টার্গেট করে।

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

ইন্টিজার ট্যাগ

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 to

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

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

অনুরোধের বডি

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
}
}]
}
}
উদাহরণ
{
"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।
}
}

এই পদ্ধতিটি অ্যাকাউন্ট থেকে 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

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

অনুরোধের বডি

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

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

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