পয়েন্ট রেফারেন্স
প্রতিটি পয়েন্ট একটি point_data অবজেক্ট বহন করে যার মধ্যে ঠিক একটি নেস্টেড কী থাকে, যা পয়েন্টের point_type-এর সাথে মেলে (দেখুন পয়েন্ট-টাইপ → কী ম্যাপিং)। এই পৃষ্ঠাটি প্রতিটি কী-এর অধীনে থাকা স্ট্রাকচার নথিভুক্ত করে।
এন্ট্রি পয়েন্ট
Anchor link toএকটি জার্নির জন্য অন্তত একটি এন্ট্রি পয়েন্ট প্রয়োজন। সমস্ত এন্ট্রি পয়েন্টের একটি একক default আউটপুট থাকে।
start_by_segment
Anchor link toযেসব ইউজার একটি সেগমেন্টের সাথে মেলে তাদের প্রবেশ করায়। POINT_TYPE_START_BY_SEGMENT।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
application_code | string | অ্যাপ্লিকেশন কোড। |
filter_code | string | সেগমেন্ট/ফিল্টার কোড যা অডিয়েন্সকে সংজ্ঞায়িত করে। |
repeat | SegmentRepeat | ঐচ্ছিক পুনরাবৃত্ত-এন্ট্রি সময়সূচী (দেখুন SegmentRepeat)। |
start_at | timestamp | এই সময়ের আগে প্রসেস করবেন না (ISO 8601)। |
is_deactivated | bool | এই এন্ট্রি পয়েন্টটি বন্ধ করা আছে কিনা। |
message_bus (ইভেন্ট এন্ট্রি)
Anchor link toইউজাররা যখন একটি ইভেন্ট ট্রিগার করে তখন তাদের প্রবেশ করায়। POINT_TYPE_EVENT।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
event_name | string | শোনার জন্য ইভেন্টের নাম। |
application_code | string | অ্যাপ্লিকেশন কোড। |
event_conditions | PointEventCondition[] | ইভেন্টের অ্যাট্রিবিউটের সাথে মেলানো শর্তাবলী। |
active_period | Period | সময় উইন্ডো যার মধ্যে ট্রিগারটি সক্রিয় থাকে। |
multi_entry | MultiEntry | একজন ইউজার কীভাবে একাধিকবার প্রবেশ করতে পারে (দেখুন MultiEntry)। |
attribute_entry | AttributeEntry | ইভেন্ট ট্রিগার করা ইউজারের পরিবর্তে একটি ইভেন্ট অ্যাট্রিবিউটে থাকা ইউজার আইডিগুলি এনরোল করুন (দেখুন AttributeEntry)। |
allow_reenter | bool | ইউজাররা জার্নিতে পুনরায় প্রবেশ করতে পারবে কিনা। |
AttributeEntry
Anchor link toইভেন্ট ট্রিগার করা ইউজারের পরিবর্তে, একটি ইভেন্ট অ্যাট্রিবিউটে থাকা ইউজার আইডি এনরোল করে। এটি কাস্টমার জার্নি বিল্ডারে একটি ইভেন্ট অ্যাট্রিবিউট থেকে ইউজার-কে প্রতিফলিত করে।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
enabled | bool | ইভেন্ট ট্রিগার করা ইউজারের পরিবর্তে একটি ইভেন্ট অ্যাট্রিবিউটে নাম থাকা ইউজারদের এনরোল করা হবে কিনা। |
attribute_name | string | ইভেন্ট অ্যাট্রিবিউটের নাম যা এনরোল করার জন্য ইউজার আইডি (বা ইউজার আইডির তালিকা) ধারণ করে। |
start_by_api
Anchor link toStart by API কল দ্বারা ফিড করা এন্ট্রি পয়েন্ট। POINT_TYPE_START_BY_API।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
application_code | string | অ্যাপ্লিকেশন কোড। |
attributes | string[] | কাস্টম অ্যাট্রিবিউটের নাম যা একটি Start by API অনুরোধের attribute_values-এ পাস করা যেতে পারে। |
is_deactivated | bool | এই এন্ট্রি পয়েন্টটি বন্ধ করা আছে কিনা। |
টাইমিং পয়েন্ট
Anchor link todelay (অপেক্ষা)
Anchor link toপ্রতিটি ইউজারকে একটি নির্দিষ্ট বা গণনাকৃত ব্যবধানের জন্য বিরতি দেয়। POINT_TYPE_WAIT। point_data.delay অবজেক্টটি নিম্নলিখিত ব্যবধান কীগুলির মধ্যে ঠিক একটি সেট করে:
| ব্যবধান কী | টাইপ | বিবরণ |
|---|---|---|
sec | uint64 | একটি নির্দিষ্ট সংখ্যক সেকেন্ড অপেক্ষা করুন। |
exact_time | ExactTime | দিনের একটি নির্দিষ্ট সময় পর্যন্ত অপেক্ষা করুন (hour, minute)। |
exact_date_time | ExactDateTime | একটি পরম তারিখ এবং সময় পর্যন্ত অপেক্ষা করুন। |
exact_week_days_time | ExactWeekDaysTime | নির্দিষ্ট সপ্তাহের দিনে নির্দিষ্ট সময় পর্যন্ত অপেক্ষা করুন (দিন 0=সোমবার … 6=রবিবার → ExactTime-এর ম্যাপ)। |
dynamic_time | DynamicTime | একটি ট্যাগ বা ইভেন্টের মান সাপেক্ষে অপেক্ষা করুন। |
split_branches: true সহ একটি dynamic_time একটি output1 শাখা যোগ করে (দেখুন আউটপুট কী)।
DynamicTime
Anchor link to| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
from | enum DynamicTimeFrom | বেস টাইম একটি ট্যাগ থেকে আসে নাকি একটি ইভেন্ট থেকে। |
direction | enum DynamicTimeDirection | বেস টাইমের আগে বা পরে অফসেট। |
duration | uint64 | অফসেটের আকার। |
unit | enum DynamicTimeUnit | duration-এর একক (মিনিট, ঘন্টা, দিন, …)। |
split_branches | bool | ইউজারদের গণনাকৃত সময় ভিন্ন হলে তাদের আলাদা শাখায় বিভক্ত করুন। |
tag_name | string | বেস টাইম ধারণকারী ট্যাগ (যখন from একটি ট্যাগ হয়)। |
event_name / event_attribute / point_id | string | বেস টাইমের ইভেন্ট উৎস (যখন from একটি ইভেন্ট হয়)। |
wait_event
Anchor link toইউজাররা একটি ইভেন্ট ট্রিগার করা পর্যন্ত (বা একটি টাইমআউট) অপেক্ষা করে। POINT_TYPE_WAIT_EVENT। default আউটপুট হল নট-ট্রিগারড পাথ। ট্রিগারড পাথ হল output1 অথবা, একটি স্ক্রিপ্ট সহ, প্রতি শর্তের জন্য একটি শাখা।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
events | PointWaitEventInfo[] | অপেক্ষা করার জন্য ইভেন্ট। |
conditions_script | string | জটিল মাল্টি-ইভেন্ট লজিকের জন্য ঐচ্ছিক স্ক্রিপ্ট। এর পার্স করা শর্তের নামগুলি আউটপুট কী হয়ে যায়। |
multi_entry | MultiEntry | পুনরায় প্রবেশের আচরণ। |
স্প্লিটিং এবং ফিল্টারিং পয়েন্ট
Anchor link toboolean_splitter
Anchor link toএকটি শর্তের উপর ভিত্তি করে ইউজারদের বিভিন্ন শাখায় রুট করে। POINT_TYPE_BOOLEAN_SPLITTER।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
split_strategy | enum | SPLIT_FILTER (সেগমেন্ট দ্বারা), SPLIT_TAGS (ট্যাগ শর্ত দ্বারা), বা SPLIT_EVENTS (ইভেন্ট শর্ত দ্বারা)। |
load_policy | enum | ALL (ইউজারের যেকোনো ডিভাইস মিলতে পারে) বা FILTER (শুধুমাত্র বর্তমান ডিভাইস)। |
filter_code | string | সেগমেন্ট কোড, যখন split_strategy হয় SPLIT_FILTER। |
filter_expressions | FilterExpression[] | ট্যাগ শর্ত, যখন split_strategy হয় SPLIT_TAGS: প্রতি এক্সপ্রেশনের জন্য একটি অতিরিক্ত output শাখা। |
event | BooleanSplitterEventInfo | ইভেন্ট শর্ত, যখন split_strategy হয় SPLIT_EVENTS: প্রতি শর্তের জন্য একটি অতিরিক্ত output শাখা। |
ab_splitter
Anchor link toইউজারদের এলোমেলোভাবে ওয়েটেড ভ্যারিয়েন্টে বিভক্ত করে। POINT_TYPE_AB_SPLITTER। আউটপুট কীগুলি হল output0, output1, … (split-এ প্রতি এন্ট্রির জন্য একটি, 0 থেকে ইনডেক্স করা। কোনো default নেই)।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
split | uint32[] | প্রতিটি শাখার জন্য শতাংশ। অবশ্যই ১০০ পর্যন্ত যোগফল হতে হবে। ইনডেক্স i আউটপুট কী output{i}-তে ম্যাপ করে। |
auto_select_winner | bool | স্বয়ংক্রিয়ভাবে একটি বিজয়ী শাখা বাছাই করা হবে কিনা। |
winner_strategy | enum | ANY_GOAL বা SPECIFIC_GOAL। |
goal_uuid | string | বিজয়ী নির্ধারণ করতে ব্যবহৃত গোল (SPECIFIC_GOAL সহ)। |
winner_split | uint32 | বিজয়ী শাখার নম্বর (1-ভিত্তিক, 0 = এখনও কোনো বিজয়ী নেই)। |
filter
Anchor link toশুধুমাত্র ম্যাচিং ইউজারদের চালিয়ে যেতে দেয় (default), বাকিদের output1-এ রুট করে। POINT_TYPE_FILTER।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
filter | enum Filter | একটি পূর্বনির্ধারিত চেক: EMAIL_EXISTS, PUSH_TOKEN_EXISTS, SMS_TOKEN_EXISTS, WHATSAPP_TOKEN_EXISTS, LINE_TOKEN_EXISTS, বা CUSTOM। |
filter_raw | string | কাস্টম ফিল্টার এক্সপ্রেশন, যখন filter হয় CUSTOM। |
অ্যাকশন পয়েন্ট
Anchor link toset_tags
Anchor link toইউজারের ট্যাগ আপডেট করে। POINT_TYPE_SET_TAGS।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
application_code | string | অ্যাপ্লিকেশন কোড। |
tags | Tag[] | লেখার জন্য ট্যাগ। |
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
name | string | ট্যাগের নাম। |
type | enum TagType | ডেটা টাইপ এবং অপারেশন: TYPE_STRING, TYPE_INTEGER, TYPE_DATE, TYPE_BOOLEAN, TYPE_LIST, TYPE_LIST_APPEND, TYPE_LIST_REMOVE, TYPE_DYNAMIC, … |
| value | oneof | type-এর সাথে মিলে যাওয়া ঠিক একটি ভ্যালু কী: str, int, bool, date, price, version, timezone, list, বা dynamic। |
web_hook
Anchor link toএকটি আউটবাউন্ড HTTP অনুরোধ পাঠায়। POINT_TYPE_WEBHOOK। একক default আউটপুট।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
method | string | HTTP মেথড (GET, POST, PUT, …)। |
url | string | টার্গেট URL। |
request_template | string | অনুরোধের বডি টেমপ্লেট। Liquid টেমপ্লেটিং সমর্থন করে। |
headers | map<string, string> | HTTP হেডার। |
disabled | bool | শুধুমাত্র পঠনযোগ্য। বারবার ত্রুটির পরে Pushwoosh স্বয়ংক্রিয়ভাবে ওয়েবহুক নিষ্ক্রিয় করলে true হয়। |
reactivate | bool | শুধুমাত্র লিখনযোগ্য। একটি নিষ্ক্রিয় ওয়েবহুক পুনরায় সক্রিয় করতে true সেট করুন। |
কনভার্সন পয়েন্ট
Anchor link togoal_event
Anchor link toএকটি কনভার্সন গোল ট্র্যাক করে। POINT_TYPE_GOAL_EVENT। এর কোনো আউটপুট নেই।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
event_name | string | গোল ইভেন্টের নাম। |
application_code | string | অ্যাপ্লিকেশন কোড। |
event_conditions | PointEventCondition[] | গোল ইভেন্টের অ্যাট্রিবিউটের সাথে মেলানো শর্তাবলী। |
is_throw_out | bool | গোলটি অর্জিত হলে ইউজারকে জার্নি থেকে সরিয়ে দেওয়া হবে কিনা। |
is_cancel_event | bool | এটি একটি নেতিবাচক (বাতিল) গোল কিনা। |
এক্সিট পয়েন্ট
Anchor link toterminator
Anchor link toইউজারের জন্য জার্নি শেষ করে। POINT_TYPE_EXIT। খালি অবজেক্ট ({}) এবং কোনো আউটপুট নেই।
{ "point_type": "POINT_TYPE_EXIT", "point_data": { "terminator": {} }, "outputs": [] }মেসেজিং পয়েন্ট
Anchor link toসমস্ত মেসেজিং পয়েন্ট একটি চ্যানেলের মাধ্যমে পাঠায় এবং একটি সাধারণ এনভেলপ শেয়ার করে। একটি স্প্লিটার সক্রিয় না থাকলে প্রতিটির একটি একক default আউটপুট থাকে (দেখুন আউটপুট কী)।
সাধারণ ফিল্ড:
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
application_code | string | অ্যাপ্লিকেশন কোড। |
preset_code | string | পাঠানোর জন্য প্রিসেট (টেমপ্লেট)। inapp এর পরিবর্তে richmedia_code ব্যবহার করে। |
content / title | string | ইনলাইন মেসেজ কন্টেন্ট, যখন একটি প্রিসেট ব্যবহার করা হচ্ছে না (চ্যানেল-নির্ভর)। |
campaign_code | string | ট্র্যাকিংয়ের জন্য ক্যাম্পেইন কোড। বাদ দিলে স্বয়ংক্রিয়ভাবে তৈরি হয়। |
split_params | BehaviorSplitter | ঐচ্ছিক: একটি ইন্টারঅ্যাকশনের জন্য অপেক্ষা করুন এবং তার উপর ভিত্তি করে শাখা তৈরি করুন। |
message_type | enum | মার্কেটিং বনাম ট্রানজ্যাকশনাল মেসেজের ধরন (কন্ট্রোল-গ্রুপ হ্যান্ডলিং নিয়ন্ত্রণ করে)। |
পয়েন্ট টাইপ এবং তাদের উল্লেখযোগ্য অতিরিক্ত ফিল্ড:
| পয়েন্ট টাইপ | point_data কী | নোট |
|---|---|---|
POINT_TYPE_SEND_PUSH | send_push | split_params (আচরণ) এবং একটি ডেলিভারি স্প্লিটার তিনটি পর্যন্ত আউটপুট তৈরি করতে পারে। send_by_user_id, wait_optimal_time। |
POINT_TYPE_SEND_EMAIL | send_email | liquid_template_params, personalise। দেখুন Email API। |
POINT_TYPE_SEND_SMS | send_sms | দেখুন SMS। |
POINT_TYPE_SEND_WHATSAPP | send_whatsapp | একটি কুইক-রিপ্লাই প্রিসেট প্রতি রিপ্লাইয়ের জন্য একটি আউটপুট যোগ করে (কী = রিপ্লাই ভ্যালু)। দেখুন WhatsApp। |
POINT_TYPE_SEND_TELEGRAM | send_telegram | টেলিগ্রাম চ্যানেল। |
POINT_TYPE_SEND_KAKAO | send_kakao | দেখুন Kakao। |
POINT_TYPE_SEND_LINE | send_line | দেখুন LINE API। |
POINT_TYPE_SEND_DATA | send_data | সাইলেন্ট ডেটা মেসেজ (কোনো UI নেই)। |
POINT_TYPE_INAPP | inapp | richmedia_code, expire_in_days, capping ব্যবহার করে। |
শেয়ার্ড টাইপ
Anchor link toSegmentRepeat
Anchor link to| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
enabled | bool | পুনরাবৃত্ত এন্ট্রি চালু আছে কিনা। |
frequency | string | daily, weekly, monthly, বা dates। |
every | uint32 | প্রতি N পিরিয়ডে পুনরাবৃত্তি করুন। |
dates | string[] | নির্দিষ্ট তারিখ, যখন frequency হয় dates। |
time | SegmentRepeatTime | দিনের সময় কনফিগারেশন। |
টাইম অবজেক্ট
Anchor link toExactTime:{ "hour": 0–23, "minute": 0–59 }।ExactDateTime:{ "year", "month": 1–12, "day": 1–31, "hour": 0–23, "minute": 0–59 }।
BehaviorSplitter
Anchor link to| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
enabled | bool | একটি ইন্টারঅ্যাকশনের জন্য অপেক্ষা করা এবং তার উপর ভিত্তি করে শাখা তৈরি করা হবে কিনা। |
interval | uint64 | ইন্টারঅ্যাকশনের জন্য অপেক্ষা করার সেকেন্ড। |
MultiEntry
Anchor link toএকজন ইউজারের একই সময়ে জার্নিতে কতগুলি সক্রিয় সেশন থাকতে পারে তা নিয়ন্ত্রণ করে। এটি কাস্টমার জার্নি বিল্ডারে একজন ইউজারের একই সময়ে কতগুলি সেশন থাকতে পারে তা নিয়ন্ত্রণ করুন-কে প্রতিফলিত করে। ইভেন্ট এন্ট্রি পয়েন্ট এবং wait_event দ্বারা ব্যবহৃত হয়।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
enabled | bool | একজন ইউজারের একই সময়ে একাধিক সক্রিয় সেশন থাকতে পারে কিনা। false: প্রতি ইউজারের জন্য একটি সক্রিয় সেশন। true: প্রতি ইউজারের জন্য একাধিক সক্রিয় সেশন। |
attribute_name | string | ঐচ্ছিক। ইভেন্ট অ্যাট্রিবিউট যা প্রতিটি সেশনকে স্কোপ করে। সেট করা হলে, একজন ইউজারের এই অ্যাট্রিবিউটের প্রতিটি স্বতন্ত্র মানের জন্য একটি সক্রিয় সেশন থাকতে পারে (উদাহরণস্বরূপ, প্রতি order_id-এর জন্য একটি)। একই মানের ইভেন্টগুলি একটি সেশন শেয়ার করে। ইউজারের সমস্ত এন্ট্রি একসাথে স্কোপ করতে খালি রাখুন। |