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

মেসেজ এপিআই

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" প্যারামিটার
"key": "value" // হিসাবে পাস করা হবে (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, // ঐচ্ছিক। যদি 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, // ঐচ্ছিক। ফ্রিকোয়েন্সি ক্যাপিংয়ের জন্য দিনের সংখ্যা (সর্বোচ্চ 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": [ // ঐচ্ছিক। ইমেল, SMS এবং অনুরূপ চ্যানেলগুলির জন্য। প্রাপকদের তালিকা
"email_1", "email_2" // (যেমন ইমেল ঠিকানা, ফোন নম্বর)। সর্বোচ্চ 1000 আইটেম।
], // পুশের জন্য, এর পরিবর্তে "devices" ব্যবহার করুন।
// ব্যবহারকারী-কেন্দ্রিক পুশ নোটিফিকেশন
"users": [ // ঐচ্ছিক। যদি সেট করা হয়, মেসেজটি শুধুমাত্র নির্দিষ্ট
"user_XXXX" // ব্যবহারকারী আইডিগুলিতে পৌঁছে দেওয়া হবে (/registerUser কলের মাধ্যমে সেট করা)।
], // যদি devices বা 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", // ঐচ্ছিক। Lollipop-এ আইকন ব্যাকগ্রাউন্ড কালার, #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", // ঐচ্ছিক। 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, // ঐচ্ছিক। সর্বোচ্চ 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-এর বেস64-এ এনকোড করা নোটিফিকেশনের কন্টেন্ট (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 // ঐচ্ছিক। সেকেন্ডে নোটিফিকেশনের মেয়াদ শেষ হওয়ার সময়।
}]
}
}

রেসপন্স:

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

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

Anchor link to

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

টেস্টিং পর্যায়ে পুশ রিপোর্ট দেখতে, API মেসেজিং ট্রেসিং ব্যবহার করুন। এই অপশনটি ON করলে আপনি ১ ঘণ্টার জন্য এই সীমাটি ওভাররাইড করতে পারবেন এবং এই ধরনের পুশগুলো মেসেজ হিস্ট্রিতে সংরক্ষণ করতে পারবেন। API মেসেজিং ট্রেসিং ১ ঘণ্টা পর স্বয়ংক্রিয়ভাবে 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" (স্ট্রিং)
  • 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

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

রিকোয়েস্ট বডি

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

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

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

১. নির্দিষ্ট অ্যাপে সাবস্ক্রাইব করা ডিভাইস (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” ট্যাগটি 17, 18, 19, 20 মানগুলির মধ্যে একটিতে সেট করা আছে।

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

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 অপ্রচলিত

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অভ্যন্তরীণ ত্রুটি