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

মেসেজ এপিআই

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-এর দিকে ৫ মিনিটের জন্য সংরক্ষিত থাকে।
"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"।
// যদি বাদ দেওয়া হয়, তাহলে ট্রানজ্যাকশনাল হিসাবে বিবেচিত হবে: সবাইকে ডেলিভার করা হবে।
// মার্কেটিং মেসেজ কন্ট্রোল গ্রুপের সদস্যদের কাছে ডেলিভার করা হয় না।
// ফ্রিকোয়েন্সি ক্যাপিং প্যারামিটার। কন্ট্রোল প্যানেলে গ্লোবাল ফ্রিকোয়েন্সি ক্যাপিং কনফিগার করা আছে তা নিশ্চিত করুন।
// ফ্রিকোয়েন্সি ক্যাপিং ট্রানজ্যাকশনাল মেসেজের জন্য প্রযোজ্য নয়।
// অন্য সব ক্ষেত্রে, বাদ দেওয়া "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 অনুরোধের উদাহরণ খুঁজে পেতে পারেন।

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

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

Anchor link to
উদাহরণ
{
"request": {
"application": "12345-67891", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"notifications": [{
"android_header": { // ঐচ্ছিক। Android নোটিফিকেশন হেডার।
"en": "header"
},
"android_content": { // ঐচ্ছিক। Android নোটিফিকেশন বিষয়বস্তু।
"en": "content"
},
"android_root_params": { // ঐচ্ছিক। কাস্টম কী-ভ্যালু অবজেক্ট।
"key": "value", // Android পেলোড প্রাপকদের জন্য রুট লেভেল প্যারামিটার।
"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": { // ঐচ্ছিক। Chrome-এ পাঠানো মেসেজের জন্য নির্দিষ্ট প্যারামিটার সেট করুন।
"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": { // ঐচ্ছিক। Firefox-এ পাঠানো মেসেজের জন্য নির্দিষ্ট প্যারামিটার সেট করুন।
"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 // ঐচ্ছিক। Amazon পুশ ড্রয়ারে পুশের অগ্রাধিকার,
// বৈধ মানগুলি হল -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 // ঐচ্ছিক। সেকেন্ডে নোটিফিকেশনের মেয়াদ শেষ হওয়ার সময়।
}]
}
}

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

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

একটি মেসেজ ডিলিট করে, তা এখনও নির্ধারিত হোক বা ইতিমধ্যে পাঠানো হয়ে যাক। একটি নির্ধারিত মেসেজের জন্য, এটি মেসেজ হিস্ট্রি থেকে সঙ্গে সঙ্গে সরিয়ে দেয় — ইতিমধ্যে পাঠানো মেসেজের জন্য, নিচের সতর্কতা দেখুন।

Resend to non-openers দিয়ে মেসেজ থেকে তৈরি ফলো-আপ সেন্ডগুলি প্রভাবিত হয় না — প্রতিটি আলাদাভাবে ডিলিট বা বাতিল করুন।

আপনি যদি পাঠানো বন্ধ করতে চান কিন্তু মেসেজটি মেসেজ হিস্ট্রিতে canceled স্ট্যাটাস সহ রাখতে চান তবে এর পরিবর্তে /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আর্গুমেন্ট ত্রুটি, যেমন মেসেজটি এখনও creating স্ট্যাটাসে আছে। আরও তথ্যের জন্য 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-এর দিকে ৫ মিনিটের জন্য সংরক্ষিত থাকে।
linkstringব্যবহারকারী একটি পুশ মেসেজ খুললে যে লিঙ্কটি খোলা হবে।
minimize_linkinteger0 - ছোট করবেন না, 2 - bit.ly। ডিফল্ট = 2।
dataobjectJSON স্ট্রিং বা JSON অবজেক্ট। পেলোডে “u” প্যারামিটার হিসাবে পাস করা হবে (JSON স্ট্রিং-এ রূপান্তরিত)।
presetstringপ্রিসেট কোড।
send_rateintegerথ্রটলিং। বৈধ মানগুলি প্রতি সেকেন্ডে ১০০ থেকে ১০০০ পুশ পর্যন্ত।
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-এর দিকে ৫ মিনিটের জন্য সংরক্ষিত থাকে।
"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, // ঐচ্ছিক। থ্রটলিং। বৈধ মানগুলি প্রতি সেকেন্ডে ১০০ থেকে ১০০০ পুশ পর্যন্ত।
"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 অপ্রচলিত

Anchor link to

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

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

অনুরোধের বডি

Anchor link to
নামটাইপবিবরণ
auth*stringPushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন।
limitMessagesintegerএকটি প্রতিক্রিয়ায় মেসেজের সংখ্যা সীমিত করে। সম্ভাব্য মান ১০ থেকে ১০০০ পর্যন্ত।
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 // ঐচ্ছিক। সম্ভাব্য মান ১০ থেকে ১০০০ পর্যন্ত।
}
}

এই পদ্ধতিটি অ্যাকাউন্ট থেকে মেসেজ আইডি দ্বারা সাজানো ১০০০টি মেসেজ ফিরিয়ে দেবে। দ্বিতীয় পৃষ্ঠা পেতে, 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

একটি নির্ধারিত মেসেজ পাঠানো বাতিল করে। মেসেজটি canceled স্ট্যাটাস সহ মেসেজ হিস্ট্রিতে থেকে যায়। Resend to non-openers দিয়ে এটি থেকে তৈরি ফলো-আপ সেন্ডগুলিও বাতিল করা হয়।

আপনি যদি মেসেজটি মেসেজ হিস্ট্রি থেকে সরাতে চান তবে এর পরিবর্তে /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অভ্যন্তরীণ ত্রুটি