Liquid টেমপ্লেট ব্যবহার করা
Liquid টেমপ্লেটগুলি নিয়মিত ডাইনামিক কন্টেন্ট ব্যবহারের পাশাপাশি অত্যাধুনিক যুক্তি প্রয়োগ করে Pushwoosh-এর ব্যক্তিগতকরণের ক্ষমতাকে উল্লেখযোগ্যভাবে প্রসারিত করে।
Pushwoosh-এ মেসেজ ব্যক্তিগতকরণ ট্যাগ (ব্যবহারকারীর ডেটা) এর উপর ভিত্তি করে করা হয়। Pushwoosh বিভিন্ন ধরনের ডিফল্ট ট্যাগ এবং কাস্টম ট্যাগ অফার করে। এগুলি ব্যবহার করে, আপনি ব্যবহারকারীর প্রথম নাম, শহর, ক্রয়ের ইতিহাস ইত্যাদি নির্দিষ্ট করতে পারেন যাতে আরও ব্যক্তিগতকৃত বার্তা পাঠানো যায়, উদাহরণস্বরূপ: হাই {First_name}, {item} অর্ডার করার জন্য ধন্যবাদ।
Liquid টেমপ্লেট ডাইনামিক কন্টেন্টে আরও যুক্তি যোগ করে। উদাহরণস্বরূপ, যদি কোনও ব্যবহারকারীর সাবস্ক্রিপশন ট্যাগে “free” থাকে, আপনি তাদের একটি বার্তা পাঠাতে পারেন: “আপনার ১০% ছাড় নিন।”
ব্যবহারকারীদের আইডি, আচরণ এবং পছন্দের উপর ভিত্তি করে বার্তার বিষয়বস্তু পরিবর্তন করা প্রাসঙ্গিকতা বাড়ানোর এবং আপনার বিপণন প্রচারাভিযান থেকে আরও চিত্তাকর্ষক ফলাফল পাওয়ার সবচেয়ে কার্যকর উপায়।
সিনট্যাক্স
Anchor link toShopify দ্বারা Liquid এর উপর ভিত্তি করে কন্টেন্ট টেমপ্লেটগুলি ডাইনামিক কন্টেন্ট লোড করার জন্য ট্যাগ, অবজেক্ট, এবং ফিল্টার এর সংমিশ্রণ ব্যবহার করে। কন্টেন্ট টেমপ্লেটগুলি আপনাকে একটি টেমপ্লেটের মধ্যে থেকে নির্দিষ্ট ভেরিয়েবল অ্যাক্সেস করতে এবং ডেটা সম্পর্কে কিছু না জেনেই তাদের ডেটা আউটপুট করতে দেয়।
অবজেক্ট
Anchor link toobjects ব্যবহারকারীকে যে কন্টেন্ট দেখানো হবে তা নির্ধারণ করে। objects ডবল কোঁকড়া বন্ধনীতে আবদ্ধ করা উচিত: {{ }}
উদাহরণস্বরূপ, একটি বার্তা ব্যক্তিগতকরণ করার সময়, ব্যবহারকারীদের নাম বার্তার বিষয়বস্তুতে যোগ করার জন্য এর বডিতে {{Name}} পাঠান। ব্যবহারকারীর নাম (Name ট্যাগের মান) ব্যবহারকারী যে বার্তাটি দেখবেন তাতে Liquid অবজেক্টটিকে প্রতিস্থাপন করবে।
Hi {{Name}}! We're glad you're back!হাই আনা! আপনি ফিরে আসায় আমরা আনন্দিত!
ট্যাগ
Anchor link totags টেমপ্লেটগুলির জন্য যুক্তি এবং নিয়ন্ত্রণ প্রবাহ তৈরি করে। কোঁকড়া বন্ধনী শতাংশ ডিলিমিটার {% এবং %} এবং তারা যে পাঠ্যকে ঘিরে রাখে তা টেমপ্লেট রেন্ডার করার সময় কোনও দৃশ্যমান আউটপুট তৈরি করে না। এটি আপনাকে ভেরিয়েবল বরাদ্দ করতে এবং কোনও Liquid যুক্তি ব্যবহারকারীকে না দেখিয়ে শর্ত বা লুপ তৈরি করতে দেয়।
উদাহরণস্বরূপ, if ট্যাগ ব্যবহার করে, আপনি ব্যবহারকারীর ডিভাইসে কোন ভাষা সেট করা আছে তার উপর ভিত্তি করে বার্তার ভাষা পরিবর্তন করতে পারেন:
{% if Language == 'fr' %}Salut!{% else %}Hello!{% endif %}Salut!
Hello!
ট্যাগ অপারেটর
Anchor link to| অপারেটর | বর্ণনা |
|---|---|
== | সমান |
!= | সমান নয় |
> | এর থেকে বড় |
< | এর থেকে ছোট |
>= | এর থেকে বড় বা সমান |
<= | এর থেকে ছোট বা সমান |
or | যৌক্তিক or |
and | যৌক্তিক and |
contains | একটি স্ট্রিং বা স্ট্রিংগুলির অ্যারের ভিতরে একটি সাবস্ট্রিংয়ের উপস্থিতি পরীক্ষা করে |
ফিল্টার
Anchor link tofilters একটি Liquid অবজেক্ট বা ভেরিয়েবলের আউটপুট পরিবর্তন করে। এগুলি ডবল কোঁকড়া বন্ধনী {{ }} এবং ভেরিয়েবল অ্যাসাইনমেন্টের মধ্যে ব্যবহৃত হয় এবং একটি পাইপ অক্ষর | দ্বারা পৃথক করা হয়। একটি আউটপুটে একাধিক ফিল্টার ব্যবহার করা যেতে পারে এবং বাম থেকে ডানে প্রয়োগ করা হয়।
{{ Name | capitalize | prepend:"Hello " }}হ্যালো আনা
API এর মাধ্যমে পাঠানো বার্তাগুলিতে Liquid টেমপ্লেট ব্যবহার করা
Anchor link toLiquid টেমপ্লেট প্রয়োগ করতে আপনার createMessage অনুরোধে Liquid সিনট্যাক্স ব্যবহার করুন। টেমপ্লেটগুলি createMessage অনুরোধের “content” প্যারামিটারের জন্য উপলব্ধ, সেইসাথে ডাইনামিক কন্টেন্ট সমর্থনকারী অন্য কোনও প্যারামিটারের জন্য, বিশেষ করে, প্ল্যাটফর্ম-নির্দিষ্ট “title”, “subtitle”, এবং “image” প্যারামিটারগুলির জন্য।
কন্টেন্ট টেমপ্লেট ব্যবহার করে, আপনি হয় আপনার API অনুরোধে ডেটা নির্দিষ্ট করতে পারেন (“template_bindings” প্যারামিটার পাস করে) অথবা ব্যবহারকারীদের ডিভাইসে সংরক্ষিত ট্যাগ মান থেকে ডেটা পেতে পারেন (“template_bindings” প্যারামিটার ব্যবহার না করে)। এইভাবে, আপনি অত্যন্ত প্রাসঙ্গিক বিষয়বস্তু সহ ব্যবহারকারী-ভিত্তিক পুশ প্রচারাভিযান তৈরি করতে সক্ষম।
তাদের নামে স্পেস সহ ট্যাগ ব্যবহার করে টেমপ্লেট যুক্তি সংজ্ঞায়িত করতে, নিম্নলিখিত কৌশলটি ব্যবহার করুন:
উদাহরণ
{% capture my_tag %}{{My Tag}}{% endcapture %}{% if my_tag == 'value' %}Content to send in this case{% else %}Content to send otherwise{% endif %}Liquid টেমপ্লেট ব্যবহারের ক্ষেত্র
Anchor link toএখানে আপনি বেশ কয়েকটি ব্যবহারের ক্ষেত্র পাবেন যখন Liquid টেমপ্লেটগুলি কাজে আসে।
বহু-ভাষার পুশ
Anchor link toLiquid টেমপ্লেটগুলি ব্যবহারকারীদের কোন ভাষায় আপনার পুশ বার্তাগুলি গ্রহণ করা উচিত তা নির্দিষ্টভাবে নির্ধারণ করা সম্ভব করে তোলে। API অনুরোধের সহজ উদাহরণ এবং অনুরোধে ব্যবহৃত টেমপ্লেট বাইন্ডিংয়ের উপর নির্ভর করে প্রাপ্ত বার্তাটি দেখুন।
{% if Language == 'es' %}¡Hola!{% else %}Hello!{% endif %}{ "request": { "application": "XXXXX-XXXXX", // Pushwoosh app code "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "{% raw %}{% if language == 'es' %}¡Hola!{% else %}hello!{% endif %}{% endraw %}", "template_bindings": { // optional. When no template_bindings are passed in a request, Tag values from the device are used. "language" : "es" } } ] }}ভাষা ‘es’ হলে: ¡Hola!
ভাষা ‘en’ হলে: Hello!
সাবস্ক্রিপশন আপগ্রেড প্রম্পট
Anchor link toআপনার গ্রাহকদের তাদের বর্তমান প্ল্যানের উপর ভিত্তি করে তাদের সাবস্ক্রিপশন আপগ্রেড করতে উৎসাহিত করুন।
{% if Subscription == 'Basic' %} Upgrade to Silver for getting more product features and 24/7 support.{% elsif Subscription == 'Silver' %} Upgrade to Gold for priority support and advanced features.{% else %} Please contact your manager to renew your subscription.{% endif %}{ "request": { "application": "XXXXX-XXXXX", // Pushwoosh app code "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "{% raw %}{% if Subscription == 'Basic' %}Upgrade to Silver for getting more product features and 24/7 support.{% elsif Subscription == 'Silver' %}Upgrade to Gold for priority support and advanced features.{% else %}Please contact your manager to renew your subscription. {% endif %}{% endraw %}", "template_bindings": { // optional. When no template_bindings are passed in a request, Tag values from the device are used. "language" : "es" } } ] }}বেসিক সাবস্ক্রিপশন প্ল্যান সহ ব্যবহারকারীদের জন্য: আরও পণ্য বৈশিষ্ট্য এবং 24/7 সমর্থন পেতে সিলভারে আপগ্রেড করুন।
সিলভার সাবস্ক্রিপশন প্ল্যান সহ ব্যবহারকারীদের জন্য: অগ্রাধিকার সমর্থন এবং উন্নত বৈশিষ্ট্যগুলির জন্য গোল্ডে আপগ্রেড করুন।
অন্যান্য প্ল্যান সহ ব্যবহারকারীদের জন্য: আপনার সাবস্ক্রিপশন পুনর্নবীকরণ করতে আপনার ম্যানেজারের সাথে যোগাযোগ করুন।
তালিকা ট্যাগ
Anchor link toকন্টেন্ট টেমপ্লেটগুলি একটি তালিকা ধরনের ট্যাগগুলি পরিচালনা করতে বেশ সহায়ক।
পরিবর্তনশীল আকার
Anchor link toএকটি সম্ভাব্য ব্যবহারের ক্ষেত্র হল ট্যাগে কতগুলি মান রয়েছে তার উপর নির্ভর করে বিভিন্ন সামগ্রী সরবরাহ করা। উদাহরণস্বরূপ, আপনি বিভিন্ন আচরণের গ্রাহকদের বিভিন্ন ছাড় প্রদান করতে পারেন। ধরা যাক গ্রাহকের তাদের WishList-এ কিছু আইটেম আছে—তারা কতগুলি পণ্য কিনতে যাচ্ছে তার উপর ভিত্তি করে সবচেয়ে উপযুক্ত ছাড় দিয়ে তাদের কেনাকাটা করতে উৎসাহিত করুন!
{% if WishList.size >= 3 %}Get 20% off your next purchase!{% elsif WishList.size == 2 %}Get a 10% discount on your next purchase!{% else %}Hey, take a look at new outwears!{% endif %}{ "request": { "application": "XXXXX-XXXXX", // Pushwoosh app code "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "{% raw %}{% if WishList.size >= 3 %}Get 20% off your next purchase!{% elsif WishList.size == 2 %}Get a 10% discount on your next purchase!{% else %}Hey, take a look at new outwears!{% endif %}{% endraw %}", "template_bindings": { "WishList" : ["Skinny Low Ankle Jeans", "Linen Trenchcoat", "High Waisted Denim Skirt", "Strappy Tiered Maxi Dress"] } } ] }}

ভেরিয়েবলে আছে
Anchor link toআরেকটি ক্ষেত্র যা আপনার কভার করার প্রয়োজন হতে পারে তা হল তালিকা ট্যাগ মানগুলির সাথে মোকাবিলা করা এবং ট্যাগে কোন মানগুলি রয়েছে তার উপর ভিত্তি করে সবচেয়ে প্রাসঙ্গিক সামগ্রী সরবরাহ করা।
{% if WishList contains 'Skinny Low Ankle Jeans' %}Get 20% off products in your wishlist!{% else %}Hey, take a look at the brand new Skinny Low Ankle Jeans!{% endif %}{ "request": { "application": "C90C0-0E786", "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "{% raw %}{% if WishList contains 'Skinny Low Ankle Jeans' %}Get 20% off your next purchase!{% else %}Hey, take a look at the brand new Skinny Low Ankle Jeans!{% endif %}{% endraw %}", "template_bindings": { "WishList" : ["Skinny Low Ankle Jeans", "Linen Trenchcoat", "High Waisted Denim Skirt", "Strappy Tiered Maxi Dress"] } } ] }}

বহুবচন
Anchor link toকন্টেন্ট টেমপ্লেট ব্যবহার করে, আপনি ব্যবহারকারীদের আচরণ অনুযায়ী বার্তার বিষয়বস্তু সামঞ্জস্য করতে সক্ষম। উদাহরণস্বরূপ, আপনি তালিকা ট্যাগে একাধিক মান থাকলে বহুবচন শব্দ ধারণ করার জন্য বার্তার পাঠ্য পরিবর্তন করতে পারেন।
Get 20% off item{% if WishList.size > 1 %} s in your WishList!{% else %} in your Wishlist!{% endif %}{ "request": { "application": "C90C0-0E786", "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "Get 20% off item{% raw %}{% if WishList.size > 1 %}s in your WishList!{% else %} in your Wishlist!{% endif %}{% endraw %}", "template_bindings": { // optional. When no template_bindings are passed in a request, Tag values from the device are used. "WishList" : ["Skinny Low Ankle Jeans", "Linen Trenchcoat", "High Waisted Denim Skirt", "Strappy Tiered Maxi Dress"] } } ] }}

টাইমজোন
Anchor link toটাইমজোনের জন্য টেমপ্লেট নির্দিষ্ট টাইমজোন অনুযায়ী তারিখ এবং সময় রূপান্তর করে।
{{ MyDate | timezone: MyTimezone | date: \"%Y-%m-%d %H:%M\" }}{ "request" : { "auth" : "3H9bk8w3.....Acge2RbupTB", // API access token from Pushwoosh Control Panel "application" : "XXXXX-XXXXX", // Pushwoosh app code "notifications" : [ // push message parameters { "content": "Current Date: {{ MyDate | timezone: MyTimezone | date: \"%Y-%m-%d %H:%M\" }}", "template_bindings": { // optional. When no template_bindings are passed in a request, Tag values from the device are used. "MyDate" : "2019-07-23 15:00", "MyTimezone" : "Asia/Dubai" } } ] }}
কানেক্টেড কন্টেন্ট
Anchor link toকানেক্টেড কন্টেন্ট হল Liquid টেমপ্লেটের একটি বৈশিষ্ট্য যা আপনাকে আপনার ইমেল বা পুশ নোটিফিকেশন বার্তাগুলির মধ্যে সরাসরি একটি বাহ্যিক উৎস, যেমন একটি ওয়েব পরিষেবা থেকে ডেটা গতিশীলভাবে পুনরুদ্ধার এবং ব্যবহার করতে দেয়। এই বৈশিষ্ট্যটি একটি নির্দিষ্ট URL থেকে JSON ডেটা এনে এবং এটি একটি ভেরিয়েবলে সংরক্ষণ করে রিয়েল-টাইম ব্যক্তিগতকরণ সক্ষম করে যা আপনার সামগ্রীতে ব্যবহার করা যেতে পারে।
মূল ব্যবহারের ক্ষেত্র
Anchor link to-
পণ্যের সুপারিশ: প্রতিটি ব্যবহারকারীর জন্য তৈরি ব্যক্তিগতকৃত পণ্যের তালিকা প্রদর্শন করুন।
-
প্রোমো কোড: একটি ব্যাকএন্ড পরিষেবা দ্বারা উত্পন্ন অনন্য প্রোমো কোড সন্নিবেশ করান।
পূর্বশর্ত
Anchor link to- কানেক্টেড কন্টেন্ট ব্যবহার করতে, আপনার অবশ্যই নিজস্ব ব্যাকএন্ড পরিষেবা থাকতে হবে যা User ID, HWID, বা কাস্টম ট্যাগ এর উপর ভিত্তি করে প্রয়োজনীয় ডেটা (যেমন, প্রোমো কোড, পণ্যের সুপারিশ) তৈরি এবং সরবরাহ করে। Pushwoosh তারপর একটি বার্তা পাঠানোর আগে এই ডেটা নিয়ে আসে।
ধাপে ধাপে বাস্তবায়ন নির্দেশিকা
Anchor link toধাপ ১. ব্যাকএন্ড পরিষেবা সেট আপ করুন
Anchor link toব্যাকএন্ড পরিষেবাটি করা উচিত:
- ব্যবহারকারী-নির্দিষ্ট প্যারামিটার (যেমন,
userId) সম্বলিত একটি অনুরোধ গ্রহণ করুন। কানেক্টেড কন্টেন্টUserID,HWID, বা আপনার প্রকল্পে সেট আপ করা যেকোনো কাস্টম ট্যাগ সমর্থন করে। - প্রয়োজনীয় ডেটা সহ একটি JSON প্রতিক্রিয়া ফেরত দিন। এই সামগ্রীটি তখন বার্তাগুলিতে গতিশীলভাবে সন্নিবেশ করা যেতে পারে
ধাপ ২. Pushwoosh-এ কানেক্টেড কন্টেন্ট সহ একটি প্রিসেট তৈরি করুন
Anchor link to১. পুশ বা ইমেল কন্টেন্ট এডিটর-এ, বার্তা ক্ষেত্রে কানেক্টেড কন্টেন্ট সিনট্যাক্স সন্নিবেশ করান।
উদাহরণ
{% connected_content http://your-backend-url.com?userId={{ ${userid} }} :save result %}সিনট্যাক্স ব্রেকডাউন
connected_content | নির্দিষ্ট ব্যাকএন্ড URL থেকে JSON ডেটা নিয়ে আসে। |
http://your-backend-url.com | ব্যাকএন্ড এন্ডপয়েন্ট যা JSON ফরম্যাটে প্রয়োজনীয় ডেটা ফেরত দেয়। |
userId={{ ${userid} }} | একটি ডাইনামিক ক্যোয়ারী প্যারামিটার যা ব্যবহারকারী আইডি ব্যাকএন্ডে পাস করে। |
:save result | Liquid টেমপ্লেটে ব্যবহারের জন্য ফলাফল ভেরিয়েবলে আনা JSON প্রতিক্রিয়া সংরক্ষণ করে |

প্রমাণীকরণ (ঐচ্ছিক)
যদি আপনার ব্যাকএন্ড পরিষেবার জন্য প্রমাণীকরণের প্রয়োজন হয়, আপনি নিরাপদ অ্যাক্সেস নিশ্চিত করতে কানেক্টেড কন্টেন্ট অনুরোধে একটি API কী বা টোকেন অন্তর্ভুক্ত করতে পারেন।
{% connected_content http://your-backend-url.com?userId={{ ${userid} }}&auth=YOUR_API_KEY :save result %}আপনি ঐচ্ছিক :headers প্যারামিটার ব্যবহার করে HTTP হেডার হিসাবে প্রমাণীকরণ (বা অন্য কোনো) ডেটা পাঠাতে পারেন — হেডার নাম এবং মানগুলির একটি JSON অবজেক্ট।
{% connected_content http://your-backend-url.com?userId={{ ${userid} }} :headers {"Authorization": "Bearer YOUR_TOKEN", "X-Api-Key": "YOUR_API_KEY"} :save result %}:headers {...} | অনুরোধের সাথে পাঠানো HTTP হেডারগুলির একটি JSON অবজেক্ট, যেমন Authorization: Bearer <token>। |
কানেক্টেড কন্টেন্টে ট্যাগ ব্যবহার করা
কাস্টম ট্যাগ অন্তর্ভুক্ত করতে, সেগুলিকে কানেক্টেড কন্টেন্ট অনুরোধে ক্যোয়ারী প্যারামিটার হিসাবে সন্নিবেশ করান ({{ tag_name }})।
{% connected_content http://your-backend-url.com?userId={{ ${userid} }}{{ Language }} :save result %}২. এরপর, প্রাপ্ত ডেটা অন্তর্ভুক্ত করে বার্তার পাঠ্য যোগ করুন, যেমন:
Hey, {{userid}}, grab your personal promo code - {{result.code}}
৩. বার্তার বিষয়বস্তু চূড়ান্ত করার এবং প্রিসেট সেটিংস কনফিগার করার পরে, প্রচারাভিযানে পুনরায় ব্যবহারের জন্য এটি সংরক্ষণ করুন।
ধাপ ৩. কনফিগার করা প্রিসেট ব্যবহার করে একটি বার্তা পাঠান
Anchor link toএককালীন পুশ বা ইমেল ফর্ম বা গ্রাহক যাত্রা ব্যবহার করে এই প্রিসেট সহ একটি বার্তা পাঠান।