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

পেলোড রেফারেন্স

যেকোনো নন-ইমেল চ্যানেলের (পুশ, SMS, টেলিগ্রাম, কাকাও, লাইন, হোয়াটসঅ্যাপ) মাধ্যমে পাঠানোর সময় Notify দ্বারা ব্যবহৃত Payload মেসেজের জন্য রেফারেন্স।

পেলোড (Payload)

Anchor link to
  • preset (string): এই মেসেজে প্রয়োগ করার জন্য preset কোড।
  • content (LocalizedContent): মেসেজের কন্টেন্ট। silent-এর সাথে পারস্পরিকভাবে স্বতন্ত্র।
  • silent (bool): একটি সাইলেন্ট (শুধুমাত্র ডেটা) পুশ পাঠান। content-এর সাথে পারস্পরিকভাবে স্বতন্ত্র।
  • custom_data (object): ক্লায়েন্ট SDK-তে u প্যারামিটার হিসাবে ফরোয়ার্ড করা ফ্রি-ফর্ম JSON।
  • open_action (OpenAction): ব্যবহারকারী নোটিফিকেশন খুললে যে অ্যাকশনটি ট্রিগার হয়।
  • open_actions (map<Platform, OpenAction>): open_action-এর প্রতি-প্ল্যাটফর্ম ওভাররাইড। কী হল একটি সংখ্যাসূচক Platform enum মান।
  • voip_push (bool): iOS VoIP নোটিফিকেশন।

লোকালাইজড কন্টেন্ট (LocalizedContent)

Anchor link to

লোকেল কোডকে প্রতি-প্ল্যাটফর্ম কন্টেন্টে ম্যাপ করে। কীগুলি হল ISO 639-1 দুই-অক্ষরের কোড (উদাহরণস্বরূপ, "en", "es") এবং একটি ক্যাচ-অল অনুবাদের জন্য বিশেষ কী "default"। ISO 639-1-এর ব্যতিক্রম হল প্রথাগত এবং সরলীকৃত চীনা ভাষার জন্য "zh-Hant" এবং "zh-Hans"

{
"localized_content": {
"default": {
"ios": { "title": "Hello", "body": "Tap to view" },
"android": { "title": "Hello", "body": "Tap to view" }
},
"es": {
"ios": { "title": "Hola", "body": "Toca para ver" },
"android": { "title": "Hola", "body": "Toca para ver" }
}
}
}

একটি ডিভাইসের জন্য লোকেল নির্বাচন

Anchor link to

একটি ডিভাইসে ডেলিভার করা কন্টেন্ট এই ক্রমে বেছে নেওয়া হয়:

  1. ডিভাইসের ভাষার সাথে সঠিক মিল।
  2. কী "default"
  3. কী "en"
  4. ম্যাপে উপস্থিত অন্য যেকোনো লোকেল।

অন্তত "default" বা "en" এর মধ্যে একটি প্রদান করুন যাতে প্রতিটি ডিভাইসের একটি ডিটারমিনিস্টিক ফলব্যাক থাকে। যদি আপনি প্রতি-লোকেল ভেরিয়েন্ট আশা না করেন, তবে শুধুমাত্র "default" পাঠান।

প্রতিটি লোকেল এন্ট্রি হল একটি Content অবজেক্ট যা ঐচ্ছিক প্রতি-প্ল্যাটফর্ম ব্লক সহ। শুধুমাত্র আপনার টার্গেট করা প্ল্যাটফর্মগুলি পূরণ করুন।

প্ল্যাটফর্ম ব্লকচ্যানেল
iosiOS পুশ
androidAndroid (FCM) পুশ
huawei_androidHuawei Android পুশ
baidu_androidBaidu Android পুশ
mac_osmacOS পুশ
amazonAmazon (ADM) পুশ
safariSafari ওয়েব পুশ
chromeChrome ওয়েব পুশ
firefoxFirefox ওয়েব পুশ
ieInternet Explorer ওয়েব পুশ
windowsWindows পুশ (টাইল / টোস্ট / ব্যাজ)
telegramটেলিগ্রাম মেসেজ
kakaoকাকাও মেসেজ
lineলাইন মেসেজ
whatsappহোয়াটসঅ্যাপ মেসেজ

সাধারণ পুশ ফিল্ড

Anchor link to

এই ফিল্ডগুলো ios, android, huawei_android, baidu_android, mac_os, amazon, safari, chrome, এবং firefox ব্লক দ্বারা শেয়ার করা হয় (সাপোর্ট ভিন্ন হতে পারে। অব্যবহৃত ফিল্ডগুলো সংশ্লিষ্ট প্ল্যাটফর্ম দ্বারা উপেক্ষা করা হয়)।

  • title (string): নোটিফিকেশনের শিরোনাম।
  • body (string): নোটিফিকেশনের বডি।
  • time_to_live (duration, যেমন "3600s"): পুশ সার্ভার একটি অফলাইন ডিভাইসের জন্য কতক্ষণ নোটিফিকেশন ধরে রাখবে।
  • sound (string): সাউন্ড ফাইলের নাম।
  • sound_enabled (bool): সাউন্ড সক্রিয় বা দমন করুন।
  • badges (string): ব্যাজ সংখ্যা (iOS) বা তার সমতুল্য।
  • root_params (object): র প্ল্যাটফর্ম-নির্দিষ্ট পেলোড ওভাররাইড।
  • inbox (Inbox): মেসেজ ইনবক্স এন্ট্রি।
  • subtitle (string): iOS নোটিফিকেশনের সাবটাইটেল।
  • is_critical (bool): ক্রিটিক্যাল অ্যালার্ট (এনটাইটেলমেন্ট প্রয়োজন)।
  • attachment (string): একটি মিডিয়া অ্যাটাচমেন্টের URL।
  • thread_id (string): গ্রুপ করা নোটিফিকেশনের জন্য থ্রেড আইডেন্টিফায়ার।
  • trim_content (bool): ফিট করার জন্য কন্টেন্ট ট্রিম করুন।
  • category_id (string): ইন্টারেক্টিভ অ্যাকশনের জন্য UNNotificationCategory আইডেন্টিফায়ার।
  • interruption_level (string): passive, active, time-sensitive, বা critical
  • collapse_id (string): APNs কলাপ্স আইডেন্টিফায়ার। একই collapse_id সহ নোটিফিকেশনগুলি ডিভাইসে একে অপরকে প্রতিস্থাপন করে।

Android (android, huawei_android, baidu_android)

Anchor link to
  • icon (string): নোটিফিকেশনের ছোট আইকন।
  • banner (string): বড় ছবির URL।
  • delivery_priority (NORMAL | HIGH): FCM ডেলিভারি প্রায়োরিটি।
  • vibration (bool): প্রাপ্তির সময় ভাইব্রেশন।
  • led_color (string, hex): নোটিফিকেশন LED রঙ।
  • icon_background_color (string, hex): আইকনের পটভূমির রঙ।
  • show_on_lockscreen (bool): লক স্ক্রিনে দেখান।
  • custom_icon (string): একটি কাস্টম আইকনের URL।
  • priority (NotificationPriority): ইন-ট্রে প্রায়োরিটি।
  • group_id (string): নোটিফিকেশন গ্রুপ কী।
  • collapse_key (string): FCM কলাপ্স কী। ডিভাইস অফলাইন থাকাকালীন একই collapse_key সহ নোটিফিকেশনগুলি একে অপরকে প্রতিস্থাপন করে।

macOS (mac_os)

Anchor link to

সাধারণ পুশ ফিল্ড এবং subtitleaction (ব্যবহারকারী নোটিফিকেশনে ক্লিক করলে যে URL খোলা হয়) ব্যবহার করে।

Amazon (amazon)

Anchor link to

সাধারণ পুশ ফিল্ড এবং custom_iconpriority (NotificationPriority) ব্যবহার করে।

Safari (safari)

Anchor link to
  • action (string): ব্যবহারকারী নোটিফিকেশনে ক্লিক করলে যে URL খোলা হয়।
  • url_arguments (array of string): Safari URL আর্গুমেন্ট যা ওয়েব পুশ URL টেমপ্লেটে প্রতিস্থাপিত হয়।

Chrome (chrome)

Anchor link to
  • icon, image (string): ছোট আইকন এবং বড় ছবির URL।
  • duration (duration): স্বয়ংক্রিয়-বন্ধ টাইমার।
  • button_text1 / button_url1, button_text2 / button_url2: দুটি পর্যন্ত অ্যাকশন বোতাম।

Firefox (firefox)

Anchor link to

শুধুমাত্র title, body, icon, root_params, এবং inbox ব্যবহার করে।

Windows (windows)

Anchor link to

উইন্ডোজ একটি ভিন্ন আকার ব্যবহার করে:

{
"windows": {
"type": "TOAST",
"template": { "title": "Hello", "body": "Tap to view" },
"tag": "promo",
"cache": true,
"time_to_live": "3600s"
}
}
  • type হল TILE, TOAST, বা BADGE
  • template (structured) বা raw ({ "content": "<raw xml>" }) — ঠিক একটি।

টেলিগ্রাম (telegram)

Anchor link to
  • body (string): মেসেজের টেক্সট।
  • content_variables (string): বট-সাইড টেমপ্লেটের জন্য JSON-স্ট্রিংগিফাইড ভেরিয়েবল।

কাকাও (kakao)

Anchor link to
  • content (string): মেসেজের কন্টেন্ট।
  • template (string): অনুমোদিত টেমপ্লেট কোড।
  • content_variables (string): JSON-স্ট্রিংগিফাইড টেমপ্লেট ভেরিয়েবল বাইন্ডিং।

লাইন (line)

Anchor link to
  • content (string): প্লেইন টেক্সট বডি।
  • template (string): Pushwoosh কন্ট্রোল প্যানেলে কনফিগার করা একটি লাইন টেমপ্লেটের কোড (ছবি, ক্যারোসেল, বা ফ্লেক্স মেসেজ পাঠাতে ব্যবহৃত হয়)। রিচ কন্টেন্টের জন্য, কন্ট্রোল প্যানেলে টেমপ্লেটটি আগে থেকে কনফিগার করুন এবং এখানে তার রেফারেন্স দিন।

content বা template এর মধ্যে অন্তত একটি সেট করতে হবে।

হোয়াটসঅ্যাপ (whatsapp)

Anchor link to

হোয়াটসঅ্যাপ মেসেজ মেটার মাধ্যমে যায় এবং মেটার মেসেজিং নিয়ম সাপেক্ষে। মূল বিভাজনটি হল ফ্রি-ফর্ম টেক্সট (শুধুমাত্র ব্যবহারকারীর কাছ থেকে ইনবাউন্ড মেসেজ দ্বারা খোলা ২৪-ঘণ্টার গ্রাহক পরিষেবা উইন্ডোর মধ্যে ডেলিভার করা হয়) এবং অনুমোদিত টেমপ্লেট (আউটবাউন্ড ইনিসিয়েশন এবং ২৪-ঘণ্টার উইন্ডোর বাইরের যেকোনো মেসেজের জন্য প্রয়োজন)।

  • content (string): ফ্রি-ফর্ম মেসেজ টেক্সট। শুধুমাত্র ২৪-ঘণ্টার উইন্ডোর মধ্যে মেটা দ্বারা ডেলিভার করা হয়।
  • content_id (string): একটি পূর্ব-অনুমোদিত মেটা টেমপ্লেটের নাম (যেমন "hello_world")। আউটবাউন্ড ইনিসিয়েশন বা ২৪-ঘণ্টার উইন্ডোর বাইরের যেকোনো মেসেজের জন্য প্রয়োজন।
  • language (string): টেমপ্লেট লোকেল যা মেটাতে অনুমোদিত লোকেলের সাথে হুবহু মিলতে হবে (যেমন "en_US", "en_GB")। শুধুমাত্র content_id-এর সাথে অর্থপূর্ণ। এটি বাইরের LocalizedContent কী থেকে স্বাধীন। বাইরের কী একটি ডিভাইসের জন্য কন্টেন্ট নির্বাচন করে, এবং language সেই কন্টেন্টের জন্য মেটা-টেমপ্লেট লোকেল নির্বাচন করে।
  • content_variables (string): বডি প্লেসহোল্ডার ম্যাপ করার JSON অবজেক্ট, যেমন "{\"1\":\"John\"}"
  • button_url_variables (string): বোতাম-ইউআরএল প্লেসহোল্ডার ম্যাপ করার JSON অবজেক্ট যা বোতাম ইনডেক্স দ্বারা কী করা হয়, যেমন "{\"0\":\"https://...\"}"
  • header_variables (string): হেডার প্লেসহোল্ডার ম্যাপ করার JSON অবজেক্ট যা টাইপ দ্বারা কী করা হয়, যেমন "{\"image\":\"https://...\"}"

content বা content_id এর মধ্যে অন্তত একটি সেট করতে হবে।

SMS জেনেরিক মেসেজ ফ্লো ব্যবহার করে। sms প্ল্যাটফর্ম ব্লকটি সংরক্ষিত। যেকোনো পূরণ করা প্ল্যাটফর্ম ব্লকে সাধারণ body ফিল্ডের মাধ্যমে টেক্সট প্রদান করুন। প্রেরকের আইডি এবং অন্যান্য প্রদানকারীর বিকল্পগুলি অ্যাপের SMS কনফিগারেশন থেকে আসে। দেখুন SMS কনফিগারেশন

OpenAction

Anchor link to

ব্যবহারকারী মেসেজটি খুললে যে অ্যাকশনটি সঞ্চালিত হয় তা নির্ধারণ করে।

এর মধ্যে ঠিক একটি:

  • rich_media (RichMedia): একটি রিচ মিডিয়া পেজ খুলুন।
  • deep_link: একটি ডিপ লিঙ্ক খুলুন: { "code": "flow-code", "params": { "key": "value" } }
  • link (Link): একটি URL খুলুন।
{ "code": "XXXXX-XXXXX" } // রিচ মিডিয়া কোড দ্বারা
{ "url": "https://..." } // রিমোট URL দ্বারা
{
"url": "https://example.com/promo",
"shortener": "BITLY"
}

shortener হল NONE (ডিফল্ট) বা BITLY

ইনবক্স (Inbox)

Anchor link to

মেসেজ ইনবক্সে মেসেজটি কীভাবে প্রদর্শিত হবে তা কনফিগার করে।

{
"image_url": "https://cdn.example.com/inbox.png",
"expiration_date": "2026-05-15T00:00:00Z"
}
  • image_url (string): ইনবক্স এন্ট্রিতে দেখানো ছবি।
  • expiration_date (timestamp): যখন এন্ট্রিটি ইনবক্স থেকে সরানো হবে।

NotificationPriority enum

Anchor link to

টার্গেট ডিভাইসে নোটিফিকেশন প্রায়োরিটি নিয়ন্ত্রণ করে, PRIORITY_MIN (সর্বনিম্ন) থেকে PRIORITY_MAX (সর্বোচ্চ) পর্যন্ত।

  • PRIORITY_UNSPECIFIED
  • PRIORITY_MIN
  • PRIORITY_LOW
  • PRIORITY_DEFAULT
  • PRIORITY_HIGH
  • PRIORITY_MAX

উদাহরণ: একটি সেগমেন্টে পুশ পাঠান

Anchor link to
Terminal window
curl -X POST https://api.pushwoosh.com/messaging/v2/notify \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"segment": {
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"code": "active_users",
"payload": {
"content": {
"localized_content": {
"en": {
"ios": { "title": "Hello", "body": "Hello, world!" },
"android": { "title": "Hello", "body": "Hello, world!" }
},
"es": {
"ios": { "title": "¡Hola!", "body": "¡Hola, mundo!" },
"android": { "title": "¡Hola!", "body": "¡Hola, mundo!" }
}
}
},
"open_action": { "link": { "url": "https://example.com/promo" } }
},
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_MARKETING"
}
}'

উদাহরণ: ইউজার আইডি দ্বারা ট্রানজ্যাকশনাল পুশ

Anchor link to
Terminal window
curl -X POST https://api.pushwoosh.com/messaging/v2/notify \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"transactional": {
"application": "XXXXX-XXXXX",
"platforms": ["IOS", "ANDROID"],
"users": { "list": ["customer-42"] },
"payload": {
"content": {
"localized_content": {
"default": {
"ios": { "title": "Your order", "body": "Order #42 has shipped." },
"android": { "title": "Your order", "body": "Order #42 has shipped." }
}
}
},
"custom_data": { "order_id": "42" }
},
"schedule": { "at": "2026-05-01T12:00:00Z" },
"message_type": "MESSAGE_TYPE_TRANSACTIONAL"
}
}'