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

মেসেজ এপিআই

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, // ঐচ্ছিক। থ্রটলিং। বৈধ মান ১০০ থেকে ১০০০ পুশ/সেকেন্ড।
"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", // অ্যান্ড্রয়েড পেলোড প্রাপকদের জন্য রুট লেভেল প্যারামিটার।
"CancelID": 12345678, // ঐচ্ছিক। নির্দিষ্ট মেসেজ আইডি সহ পুশ নোটিফিকেশন বাতিল করে (মেসেজ হিস্ট্রি থেকে আইডি পান)
"voip": true, // আবশ্যক VoIP প্যারামিটার। VoIP পুশ নোটিফিকেশন পাঠানোর জন্য প্যারামিটারটি আবশ্যক।
"callerName": "callerName", // ঐচ্ছিক VoIP প্যারামিটার। কলারের নাম। যদি নির্দিষ্ট না করা হয়, "unknown caller" দেখানো হয়।
"video": true, // ঐচ্ছিক VoIP প্যারামিটার। ভিডিও কল সমর্থিত কিনা তা নির্দেশ করে।
},
"android_sound": "soundfile", // ঐচ্ছিক। কোনো ফাইল এক্সটেনশন নেই। যদি খালি রাখা হয়,
// ডিভাইসটি একটি ডিফল্ট সিস্টেম সাউন্ড তৈরি করবে।
"android_sound_off": true, // ঐচ্ছিক। "android_sound" ফিল্ড দ্বারা সেট করা সাউন্ড সক্ষম/অক্ষম করুন
"android_icon": "icon.png", // ঐচ্ছিক।
"android_custom_icon": "URL.png", // ঐচ্ছিক। ইমেজ ফাইলের সম্পূর্ণ URL।
"android_banner": "URL.png", // ঐচ্ছিক। ইমেজ ফাইলের সম্পূর্ণ URL।
"android_badges": 5, // ঐচ্ছিক। Android অ্যাপ্লিকেশন আইকন ব্যাজ নম্বর।
// ব্যাজ মান n দ্বারা বৃদ্ধি/হ্রাস করতে "+n" বা "-n" ব্যবহার করুন।
"android_gcm_ttl": 3600, // ঐচ্ছিক। টাইম টু লিভ প্যারামিটার — সেকেন্ডে সর্বোচ্চ মেসেজ জীবনকাল।
"android_vibration": 0, // ঐচ্ছিক। উচ্চ-অগ্রাধিকার পুশের জন্য Android ফোর্স-ভাইব্রেশন।
"android_led": "#rrggbb", // ঐচ্ছিক। LED হেক্স রঙ, ডিভাইস তার সেরা অনুমান করবে।
"android_priority": -1, // ঐচ্ছিক। Android 8.0 এবং উচ্চতর ডিভাইসগুলির জন্য "importance" প্যারামিটার সেট করে,
// পাশাপাশি Android 7.1 এবং নিম্নতর ডিভাইসগুলির জন্য "priority" প্যারামিটার।
// একটি নোটিফিকেশন চ্যানেল বা একটি নির্দিষ্ট নোটিফিকেশনের ইন্টারাপশন লেভেল স্থাপন করে।
// বৈধ মানগুলি হল -2, -1, 0, 1, 2।
"android_delivery_priority": "normal", // ঐচ্ছিক। "normal" বা "high"।
// ডিভাইস পাওয়ার সেভিং মোডে থাকাকালীন নোটিফিকেশন ডেলিভারি সক্ষম করে।
"android_ibc": "#RRGGBB", // ঐচ্ছিক। Lollipop-এ আইকন ব্যাকগ্রাউন্ড রঙ, #RRGGBB,
// #AARRGGBB, "red", "black", "yellow", ইত্যাদি।
"android_silent": 1, // ঐচ্ছিক। 0 বা 1। সাইলেন্ট নোটিফিকেশন সক্ষম করুন।
// সাউন্ড এবং কন্টেন্ট উপেক্ষা করুন
"android_group_id": "123", // ঐচ্ছিক। সম্পর্কিত নোটিফিকেশন গ্রুপ করার জন্য আইডেন্টিফায়ার। একই থ্রেড আইডি সহ মেসেজগুলি নোটিফিকেশন সেন্টারে গ্রুপ করা হবে।
"android_collapse_key": "promo" // ঐচ্ছিক। FCM কলাপ্স কী। ডিভাইস অফলাইন থাকাকালীন একই কলাপ্স কী সহ নোটিফিকেশনগুলি একে অপরকে প্রতিস্থাপন করে।
}]
}
}

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

Huawei
{
"request": {
"application": "12345-67891", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"notifications": [{
"huawei_android_header": { // ঐচ্ছিক। অবজেক্ট অথবা স্ট্রিং। নোটিফিকেশন টাইটেল
"en": "header"
},
"huawei_android_content": { // ঐচ্ছিক। অবজেক্ট অথবা স্ট্রিং। নোটিফিকেশন কন্টেন্ট
"en": "content"
},
"huawei_android_badges": true, // ঐচ্ছিক।
"huawei_android_silent": 0, // ঐচ্ছিক। 0 বা 1। সাইলেন্ট নোটিফিকেশন সক্ষম করুন।
// সাউন্ড এবং কন্টেন্ট উপেক্ষা করুন
"huawei_android_icon": "URL.png", // ঐচ্ছিক।
"huawei_android_led": "#FF0011", // ঐচ্ছিক। LED হেক্স রঙ, ডিভাইস তার সেরা অনুমান করবে
"huawei_android_vibration": 1, // ঐচ্ছিক। উচ্চ-অগ্রাধিকার পুশের জন্য Huawei ফোর্স-ভাইব্রেশন
"huawei_android_sound": "sound.wav", // ঐচ্ছিক। যদি খালি রাখা হয়, ডিভাইসটি একটি ডিফল্ট সিস্টেম সাউন্ড তৈরি করবে
"huawei_android_sound_off": true, // ঐচ্ছিক। "huawei_android_sound" ফিল্ড দ্বারা সেট করা সাউন্ড সক্ষম/অক্ষম করুন
"huawei_android_custom_icon": "URL.png", // ঐচ্ছিক
"huawei_android_gcm_ttl": 2400, // ঐচ্ছিক। টাইম টু লিভ প্যারামিটার - সেকেন্ডে সর্বোচ্চ মেসেজ জীবনকাল
"huawei_android_banner": "URL.png", // ঐচ্ছিক। ইমেজ ফাইলের সম্পূর্ণ পাথ URL
"huawei_android_root_params": { // ঐচ্ছিক। কাস্টম কী-ভ্যালু অবজেক্ট।
"key": "value" // Huawei পেলোড প্রাপকদের জন্য রুট-লেভেল প্যারামিটার।
},
"huawei_android_priority": 0, // ঐচ্ছিক। বৈধ মান: -2, -1, 0, 1, 2
"huawei_android_ibc": "#0011AA", // ঐচ্ছিক। Lollipop-এ আইকন ব্যাকগ্রাউন্ড রঙ
"huawei_android_lockscreen": 1, // ঐচ্ছিক
"huawei_android_delivery_priority": "normal", // ঐচ্ছিক। "normal" বা "high"। পাওয়ার সেভিং মোডে নোটিফিকেশন ডেলিভারি সক্ষম করে
"huawei_android_group_id": "group_id" // ঐচ্ছিক। সম্পর্কিত নোটিফিকেশন গ্রুপ করার জন্য আইডেন্টিফায়ার
}]
}
}

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

Anchor link to
Safari
{
"request": {
"application": "12345-67891", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"notifications": [{
"safari_url_args": [ // আবশ্যক, কিন্তু মান খালি হতে পারে
"firstArgument",
"secondArgument"
],
"safari_title": { // ঐচ্ছিক। অবজেক্ট অথবা স্ট্রিং। নোটিফিকেশনের টাইটেল।
"en": "content"
},
"safari_content": { // ঐচ্ছিক। অবজেক্ট অথবা স্ট্রিং। নোটিফিকেশনের কন্টেন্ট।
"en": "content"
},
"safari_action": "Click here", // ঐচ্ছিক।
"safari_ttl": 3600 // ঐচ্ছিক। টাইম টু লিভ প্যারামিটার — সেকেন্ডে একটি মেসেজের সর্বোচ্চ জীবনকাল।
}]
}
}

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

Anchor link to
Chrome
{
"request": {
"application": "12345-67891", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"notifications": [{
"chrome_title": { // ঐচ্ছিক। অবজেক্ট অথবা স্ট্রিং। আপনি এই প্যারামিটারে মেসেজের হেডার নির্দিষ্ট করতে পারেন।
"en": "title"
},
"chrome_content": { // ঐচ্ছিক। অবজেক্ট অথবা স্ট্রিং। আপনি এই প্যারামিটারে মেসেজের কন্টেন্ট নির্দিষ্ট করতে পারেন।
"en": "content"
},
"chrome_icon": "URL.png", // ঐচ্ছিক। আইকনের সম্পূর্ণ URL বা এক্সটেনশন রিসোর্স ফাইল পাথ
"chrome_gcm_ttl": 3600, // ঐচ্ছিক। টাইম টু লিভ প্যারামিটার – সেকেন্ডে সর্বোচ্চ মেসেজ জীবনকাল।
"chrome_duration": 20, // ঐচ্ছিক। সর্বোচ্চ ৫০ সেকেন্ড। ক্রোম পুশ প্রদর্শনের সময় পরিবর্তন করে।
// ব্যবহারকারী ইন্টারঅ্যাক্ট না করা পর্যন্ত পুশ প্রদর্শন করতে 0 সেট করুন।
"chrome_image": "image_URL", // ঐচ্ছিক। বড় ইমেজের URL।
"chrome_root_params": { // ঐচ্ছিক। ক্রোমে পাঠানো মেসেজের জন্য নির্দিষ্ট প্যারামিটার সেট করুন।
"key": "value"
},
"chrome_button_text1": "text1", // ঐচ্ছিক
"chrome_button_url1": "button1_URL", // ঐচ্ছিক। chrome_button_text1 সেট না থাকলে উপেক্ষা করা হয়।
"chrome_button_text2": "text2", // ঐচ্ছিক
"chrome_button_url2": "button2_url" // ঐচ্ছিক। chrome_button_text2 সেট না থাকলে উপেক্ষা করা হয়।
}]
}
}

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

Anchor link to
Firefox
{
"request": {
"application": "12345-67891", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"notifications": [{
"firefox_title": { // ঐচ্ছিক। অবজেক্ট অথবা স্ট্রিং। আপনি এখানে মেসেজ হেডার নির্দিষ্ট করতে পারেন।
"en": "title"
},
"firefox_content": { // ঐচ্ছিক। অবজেক্ট অথবা স্ট্রিং। আপনি এখানে মেসেজ কন্টেন্ট নির্দিষ্ট করতে পারেন।
"en": "content"
},
"firefox_icon": "URL.png", // ঐচ্ছিক। আইকনের সম্পূর্ণ পাথ URL বা এক্সটেনশন রিসোর্সে ফাইলের পাথ।
"firefox_root_params": { // ঐচ্ছিক। ফায়ারফক্সে পাঠানো মেসেজের জন্য নির্দিষ্ট প্যারামিটার সেট করুন।
"key": "value"
}
}]
}
}

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

Anchor link to
Amazon
{
"request": {
"application": "12345-67891", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"notifications": [{
"adm_header": { // ঐচ্ছিক। অবজেক্ট অথবা স্ট্রিং। আপনি এখানে মেসেজ হেডার নির্দিষ্ট করতে পারেন।
"en": "header"
},
"adm_content": { // ঐচ্ছিক। অবজেক্ট অথবা স্ট্রিং। আপনি এখানে মেসেজ কন্টেন্ট নির্দিষ্ট করতে পারেন।
"en": "content"
},
"adm_root_params": { // ঐচ্ছিক। কাস্টম কী-ভ্যালু অবজেক্ট
"key": "value"
},
"adm_sound": "push.mp3", // ঐচ্ছিক।
"adm_sound_off": true, // ঐচ্ছিক। "adm_sound" ফিল্ড দ্বারা সেট করা সাউন্ড সক্ষম/অক্ষম করুন
"adm_icon": "icon.png", // ঐচ্ছিক। আইকনের সম্পূর্ণ URL।
"adm_custom_icon": "URL.png", // ঐচ্ছিক।
"adm_banner": "URL.png", // ঐচ্ছিক।
"adm_ttl": 3600, // ঐচ্ছিক। টাইম টু লিভ প্যারামিটার — সেকেন্ডে সর্বোচ্চ মেসেজ জীবনকাল।
"adm_priority": -1 // ঐচ্ছিক। অ্যামাজন পুশ ড্রয়ারে পুশের অগ্রাধিকার,
// বৈধ মানগুলি হল -2, -1, 0, 1 এবং 2।
}]
}
}

Mac OS X প্যারামিটার

Anchor link to
Mac OS X
{
"request": {
"application": "12345-67891", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"notifications": [{
"mac_title": { // ঐচ্ছিক। অবজেক্ট অথবা স্ট্রিং। পুশ নোটিফিকেশনের জন্য টাইটেল যোগ করে।
"en": "title"
},
"mac_subtitle": { // ঐচ্ছিক। পুশ নোটিফিকেশনের জন্য সাবটাইটেল যোগ করে।
"en": "subtitle"
},
"mac_content": { // ঐচ্ছিক। পুশ নোটিফিকেশনের জন্য কন্টেন্ট যোগ করে।
"en": "content"
},
"mac_badges": 3, // ঐচ্ছিক।
"mac_sound": "sound.caf", // ঐচ্ছিক।
"mac_sound_off": true, // ঐচ্ছিক। "mac_sound" ফিল্ড দ্বারা সেট করা সাউন্ড সক্ষম/অক্ষম করুন
"mac_root_params": { // ঐচ্ছিক।
"content-available": 1
},
"mac_ttl": 3600 // ঐচ্ছিক। টাইম টু লিভ প্যারামিটার — সেকেন্ডে সর্বোচ্চ মেসেজ জীবনকাল।
}]
}
}

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

Anchor link to
Windows
{
"request": {
"application": "12345-67891", // আবশ্যক। Pushwoosh অ্যাপ্লিকেশন কোড
"auth": "yxoPUlwqm…………pIyEX4H", // আবশ্যক। Pushwoosh কন্ট্রোল প্যানেল থেকে API অ্যাক্সেস টোকেন
"notifications": [{
"wns_content": { // আবশ্যক। MIME এর base64 এ এনকোড করা নোটিফিকেশনের কন্টেন্ট (XML বা raw)
// অবজেক্ট অথবা স্ট্রিং আকারে
"en": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48YmFkZ2UgdmFsdWU9ImF2YWlsYWJsZSIvPg==",
"de": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48YmFkZ2UgdmFsdWU9Im5ld01lc3NhZ2UiLz4="
},
"wns_type": "Badge", // ঐচ্ছিক। 'Tile' | 'Toast' | 'Badge' | 'Raw'
"wns_tag": "myTag", // ঐচ্ছিক। টাইল প্রতিস্থাপন নীতিতে ব্যবহৃত হয়।
// ১৬ অক্ষরের বেশি নয় এমন একটি আলফানিউমেরিক স্ট্রিং।
"wns_cache": 1, // ঐচ্ছিক। (1|0) X-WNS-Cache-Policy মানে অনুবাদ করে।
"wns_ttl": 600 // ঐচ্ছিক। সেকেন্ডে নোটিফিকেশনের মেয়াদ শেষ হওয়ার সময়।
}]
}
}

রেসপন্স:

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

এপিআই মেসেজিং ট্রেসিং

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

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

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

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

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

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