আপনার জার্নিতে ওয়েববুক রেসপন্স ডেটা ব্যবহার করা
ওভারভিউ
Anchor link toযখন আপনি একটি ওয়েববুক রেসপন্স থেকে ভ্যালু ম্যাপ করেন, Pushwoosh সেগুলোকে ভেরিয়েবল হিসেবে সংরক্ষণ করে যা আপনি জার্নির পরবর্তী পর্যায়ে Update user profile, Time Delay, এবং কন্টেন্ট পার্সোনালাইজেশনে ব্যবহার করতে পারেন, ঠিক যেমন আপনি একটি ইভেন্ট অ্যাট্রিবিউট ব্যবহার করতেন। একমাত্র ব্যতিক্রম হলো Condition split: এটি সরাসরি একটি ওয়েববুক ভেরিয়েবলের উপর ভিত্তি করে ব্রাঞ্চ করতে পারে না, কারণ এর জন্য একটি ঘোষিত টাইপসহ একটি ভ্যালু প্রয়োজন (একটি ট্যাগ বা একটি ইভেন্ট অ্যাট্রিবিউট), এবং একটি ম্যাপ করা ওয়েববুক ভ্যালুর কোনো টাইপ থাকে না। নিচে Condition split-এ একটি ওয়েববুক ভ্যালু তুলনা করুন দেখুন।
Update user profile দিয়ে একটি ওয়েববুক ভ্যালু ট্যাগ হিসেবে সেভ করুন
Anchor link toএকটি Webhook একটি এক্সটার্নাল সিস্টেম থেকে ডেটা ফেরত দিতে পারে, যেমন একটি CRM ইউজার আইডি বা সাবস্ক্রিপশন স্ট্যাটাস, যা Pushwoosh এখনও ইউজার প্রোফাইলে সংরক্ষণ করে না। Update user profile ম্যাপ করা ভ্যালুগুলোকে ট্যাগ হিসেবে সংরক্ষণ করে যাতে আপনি সেগুলোকে সেগমেন্ট, ডাইনামিক কন্টেন্ট, এবং পরবর্তী জার্নি স্টেপগুলোতে ব্যবহার করতে পারেন।
উদাহরণ: একটি CRM ইউজার আইডি ট্যাগ হিসেবে সেভ করুন
Anchor link toএকজন নতুন ইউজার আপনার অ্যাপে সাইন আপ করে, এবং জার্নিটি আপনার CRM-এ একটি ম্যাচিং রেকর্ড তৈরি করে। ফেরত আসা CRM ইউজার আইডি একটি ট্যাগ হিসেবে সংরক্ষণ করলে আপনি পরে একই CRM রেকর্ডটি রেফারেন্স বা আপডেট করতে পারবেন, উদাহরণস্বরূপ অন্য একটি জার্নি বা একটি ফলো-আপ ওয়েববুক কল থেকে, প্রতিবার ইউজার জার্নিতে পুনরায় প্রবেশ করার সময় একটি ডুপ্লিকেট রেকর্ড তৈরি করার পরিবর্তে।
জার্নি ফ্লো: Trigger-based Entry → Webhook → Update user profile → ব্রাঞ্চটি শেষ করুন
SignUpইভেন্টে Trigger-based Entry সহ একটি জার্নি তৈরি করুন।- এন্ট্রি স্টেপের পরে একটি Webhook এলিমেন্ট যোগ করুন। এর একটি নাম দিন (উদাহরণস্বরূপ,
Create user in CRM) এবং রিকোয়েস্ট URL আপনার CRM ক্রিয়েট-ইউজার এন্ডপয়েন্টে সেট করুন। - Response mapping-এ, Path রেসপন্সের আইডি ফিল্ডে সেট করুন (উদাহরণস্বরূপ,
data.user.id) এবং Attributecrm_user_id-এ সেট করুন।

-
Webhook স্টেপের পরে একটি Update user profile এলিমেন্ট যোগ করুন।
-
Dynamic Tag Value-তে, + Dynamic Value ক্লিক করুন। Tag-এ, যে ট্যাগটি CRM আইডি সংরক্ষণ করে সেটি নির্বাচন করুন (প্রয়োজনে আগে থেকে তৈরি করুন)। Event-এ, আপনার দেওয়া নাম (
Create user in CRM) দ্বারা ওয়েববুক স্টেপটি নির্বাচন করুন। Dynamic Value-তে,crm_user_idনির্বাচন করুন।

- ব্রাঞ্চটি শেষ করুন — একটি Exit এলিমেন্ট যোগ করুন অথবা এটি একটি আউটগোয়িং কানেকশন ছাড়াই ছেড়ে দিন।

Time Delay দিয়ে একটি ওয়েববুক ভ্যালু থেকে ডিলে শিডিউল করুন
Anchor link toভিজিটের তারিখ, রিনিউয়ালের শেষ তারিখ, এবং ডেলিভারি উইন্ডো প্রায়ই একটি এক্সটার্নাল বুকিং বা বিলিং সিস্টেমে থাকে। একটি Webhook API রেসপন্স থেকে তারিখটি ম্যাপ করার পরে, Time Delay জার্নিটি সেই মুহূর্ত পর্যন্ত পজ করতে পারে, উদাহরণস্বরূপ একটি অ্যাপয়েন্টমেন্টের ২ দিন আগে, যাতে পরবর্তী মেসেজটি সময়মতো পাঠানো হয়।
উদাহরণ: রেসপন্সের একটি তারিখ থেকে একটি রিমাইন্ডার শিডিউল করুন
Anchor link toএকজন ইউজার আপনার অ্যাপে একটি অ্যাপয়েন্টমেন্ট বুক করে। জার্নিটি আপনার বুকিং সিস্টেম থেকে ভিজিটের তারিখ নিয়ে আসে এবং ভিজিটের ২ দিন আগে একটি পুশ রিমাইন্ডার পাঠায়।
AppointmentBookedইভেন্টে Trigger-based Entry সহ একটি জার্নি তৈরি করুন।- এন্ট্রি স্টেপের পরে একটি Webhook এলিমেন্ট যোগ করুন। এর একটি নাম দিন (উদাহরণস্বরূপ,
Get appointment details) এবং রিকোয়েস্ট URL আপনার বুকিং সিস্টেম API-তে সেট করুন। - Response mapping-এ, Path রেসপন্সের তারিখ ফিল্ডে সেট করুন (উদাহরণস্বরূপ,
appointment.date) এবং Attributevisit_date-এ সেট করুন।

- Webhook স্টেপের পরে একটি Time Delay এলিমেন্ট যোগ করুন। Based on user/event data নির্বাচন করুন, Get date from Event-এ সেট করুন, Event আপনার দেওয়া নাম (
Get appointment details) দ্বারা ওয়েববুক স্টেপে সেট করুন, Event valuevisit_date-এ সেট করুন, এবং ডিলে Before2Days-এ সেট করুন।

- যদি ইউজাররা ভিজিটের ২ দিনের কম সময় আগে বুক করতে পারে, তাহলে Time Delay এলিমেন্টে Split to branches if the date’s in the past or date is empty সক্রিয় করুন। এটি দুটি ব্রাঞ্চ তৈরি করে, In the past এবং In the future। দেখুন তারিখ অতীতে থাকলে বা খালি থাকলে ব্রাঞ্চ বিভক্ত করুন।
- আপনার রিমাইন্ডার মেসেজ সহ একটি Push স্টেপ যোগ করুন। যদি স্প্লিট সক্রিয় থাকে, তাহলে এই Push উভয় ব্রাঞ্চে যোগ করুন: In the past (অবিলম্বে পাঠান) এবং In the future (Time Delay-এর পরে)।
- প্রতিটি ব্রাঞ্চ শেষ করুন — একটি Exit এলিমেন্ট যোগ করুন অথবা এটি একটি আউটগোয়িং কানেকশন ছাড়াই ছেড়ে দিন।

Condition split-এ একটি ওয়েববুক ভ্যালু তুলনা করুন
Anchor link toCondition split একটি সেগমেন্ট, একটি ট্যাগ, বা একটি ঘোষিত টাইপসহ একটি ইভেন্ট অ্যাট্রিবিউটের উপর ভিত্তি করে ব্রাঞ্চ করে। একটি ওয়েববুক রেসপন্স থেকে ম্যাপ করা একটি ভ্যালুর কোনো টাইপ থাকে না, তাই এটি Condition split-এর ড্রপডাউনে প্রদর্শিত হয় না এবং সরাসরি তুলনা করা যায় না।
একটি ওয়েববুক ভ্যালুর উপর ভিত্তি করে ব্রাঞ্চ করার জন্য, প্রথমে এটিকে Update user profile দিয়ে ম্যাচিং টাইপের একটি ট্যাগ হিসেবে সংরক্ষণ করুন, তারপর Condition split-এ সেই ট্যাগটি তুলনা করুন।
উদাহরণ: ট্রিগারিং ইভেন্টের পরিমাণের বিপরীতে একটি ওয়েববুক ব্যালেন্সের উপর ভিত্তি করে ব্রাঞ্চ করুন
Anchor link toএকজন ইউজার একটি ক্রয়ের জন্য অনুরোধ করে, এবং জার্নিটি চালিয়ে যাওয়ার আগে তাদের CRM ব্যালেন্স ট্রিগারিং ইভেন্টের মূল্য কভার করে কিনা তা পরীক্ষা করে।
জার্নি ফ্লো: Trigger-based Entry → Webhook → Update user profile → Condition split
- একটি সাংখ্যিক
required_amountঅ্যাট্রিবিউট সহPurchaseRequestedইভেন্টে Trigger-based Entry সহ একটি জার্নি তৈরি করুন। - এন্ট্রি স্টেপের পরে একটি Webhook এলিমেন্ট যোগ করুন। Response mapping-এ, Path রেসপন্সের ব্যালেন্স ফিল্ডে সেট করুন (উদাহরণস্বরূপ,
current_balance) এবং Attributecurrent_balance-এ সেট করুন। - Webhook স্টেপের পরে একটি Update user profile এলিমেন্ট যোগ করুন। Dynamic Tag Value-তে, Tag একটি সাংখ্যিক ট্যাগ Integer বা Price টাইপের সেট করুন (প্রয়োজনে আগে থেকে তৈরি করুন, উদাহরণস্বরূপ
Current_balance), Event ওয়েববুক স্টেপে সেট করুন, এবং Dynamic Valuecurrent_balance-এ সেট করুন। - Update user profile-এর পরে একটি Condition split এলিমেন্ট যোগ করুন। শর্তটি ট্যাগ
Current_balance, অপারেটর greater or equals সেট করুন, এবং ভ্যালুর জন্য Event attribute → এন্ট্রি ইভেন্ট →required_amountনির্বাচন করুন একটি ধ্রুবকের পরিবর্তে। - প্রতিটি ব্রাঞ্চকে পরবর্তী স্টেপগুলোর সাথে সংযুক্ত করুন।
মনে রাখার বিষয়
Anchor link to- Path সিনট্যাক্স: একটি ডট-সেপারেটেড পাথ ব্যবহার করুন (উদাহরণস্বরূপ,
data.user.id), অথবা একটি অ্যারের প্রতিটি এলিমেন্ট ম্যাপ করার জন্য একটি*সেগমেন্ট ব্যবহার করুন। ফিল্টার সমর্থিত নয়। বিস্তারিত জানতে একটি অ্যারের প্রতিটি এলিমেন্ট ম্যাপ করুন দেখুন। - রেসপন্স সাইজ: ৬৪ KB-এর চেয়ে বড় রেসপন্স ম্যাপিংয়ের জন্য প্রসেস করা হয় না।
- Condition split: একটি ম্যাপ করা ওয়েববুক ভ্যালুর কোনো টাইপ থাকে না এবং সরাসরি ব্যবহার করা যায় না। প্রথমে এটিকে একটি ট্যাগ হিসেবে সংরক্ষণ করুন। দেখুন Condition split-এ একটি ওয়েববুক ভ্যালু তুলনা করুন।
- টেস্টিং: আপনি একটি লাইভ জার্নিতে ম্যাপ করা ভ্যালু ব্যবহার করার আগে Webhook এলিমেন্টে Test webhook চালান। রিকোয়েস্ট সফল হয়েছে কিনা তা নিশ্চিত করুন, তারপর Calls log ট্যাবে প্রতিটি Path-এর সাথে রেসপন্স বডি পরীক্ষা করুন। যদি জার্নি লাইভ হওয়ার পরে কোনো নির্দিষ্ট ট্র্যাভেলারের জন্য একটি ভ্যালু ভুল মনে হয়, তাহলে Calls log-এ সেই ট্র্যাভেলারের সারিটি পরীক্ষা করুন।
- রেসপন্সে তালিকা: প্রতিটি আইটেম ম্যাপ করার জন্য Path-এ
*ব্যবহার করুন। পৃথক অ্যাট্রিবিউটের জন্যitem_{n}বা একটি কমা-সেপারেটেড স্ট্রিংয়ের জন্য{n}ছাড়া একটি নাম বাছুন। Path ইনডেক্স ০ থেকে শুরু হয়।{n}নাম ১ থেকে শুরু হয়। সর্বাধিক প্রথম ৫০টি এলিমেন্ট ম্যাপ করা হয়। দেখুন একটি অ্যারের প্রতিটি এলিমেন্ট ম্যাপ করুন।