Journey অবজেক্ট
লাইফসাইকেল, তৈরি এবং আপডেট মেথডগুলো একই টপ-লেভেল শেপের একটি Journey অবজেক্ট রিটার্ন করে:
{ "info": { ... }, // read-only metadata (responses only) "params": { ... }, // journey-wide configuration (create / update) "points": [ ... ], // canvas nodes and their connections "comments": [ ... ] // canvas comments}যখন আপনি একটি Journey তরি বা আপডেট করেন, তখন আপনি title, params, points, এবং comments পাঠান। প্রতিক্রিয়া হিসেবে info (যেখানে params থাকে) এবং এর সাথে points ও comments ফেরত আসে।
তথ্য
Anchor link toশুধুমাত্র পঠনযোগ্য Journey মেটাডেটা। প্রতিটি v3 মেথড দ্বারা এটি ফেরত দেওয়া হয়। এটি রিকোয়েস্ট বডির অংশ নয়।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
uuid | string | Journey ID। |
title | string | Journey-এর নাম। |
status | JourneyStatus | বর্তমান অবস্থা। |
created_at | string | তৈরির টাইমস্ট্যাম্প (ISO 8601)। |
updated_at | string | শেষ আপডেটের টাইমস্ট্যাম্প (ISO 8601)। |
is_first_activated | bool | Journey অন্তত একবার শুরু হয়েছে কিনা। |
params | JourneyParams | Journey-ব্যাপী কনফিগারেশন। |
category_uuid | string | ক্যাটাগরির UUID, অথবা যদি কোনো ক্যাটাগরিতে না থাকে তবে খালি। |
pointCounts | map<string, uint32> | প্রকার অনুযায়ী পয়েন্টের সংখ্যা। |
campaign_type | CampaignType | ব্যবহারকারীরা কীভাবে Journey-তে প্রবেশ করে। |
stop_reason | string | Journey কেন থেমে গেছে, যদি প্রযোজ্য হয়। |
last_edited_by | User | যে ব্যবহারকারী শেষবার Journey সম্পাদনা করেছেন। |
dynamic_entry | bool | ডাইনামিক এন্ট্রি সক্রিয় আছে কিনা। |
JourneyParams
Anchor link toJourney-ব্যাপী কনফিগারেশন। তৈরি/আপডেট করার সময় পাঠানো হয় এবং info.params-এর ভিতরে ফেরত আসে।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
application_code | string | অ্যাপ্লিকেশন কোড যার অন্তর্গত Journey। তৈরি করার সময় আবশ্যক। |
silent_hours | SilentHours | যে সময়গুলিতে বার্তা পাঠানো বন্ধ থাকে, প্রতি চ্যানেল অনুযায়ী। |
capping | EntryCapping | একজন ব্যবহারকারী কতবার Journey-তে পুনরায় প্রবেশ করতে পারবে তার সীমা। |
conversion_window | ConversionWindow | লক্ষ্য কনভার্সন অ্যাট্রিবিউট করার জন্য উইন্ডো। |
user_id_track_change_policy | UserIDTrackChangePolicy | Journey-এর মাঝপথে ব্যবহারকারীর আইডি পরিবর্তন হলে কীভাবে তা সামলানো হবে। |
SilentHours
Anchor link toশান্ত সময়ে বার্তা পাঠানো দমন করে। প্রতি চ্যানেল অনুযায়ী কনফিগার করা হয়: প্রতিটি চ্যানেল নিজস্ব SilentHoursParams নেয়:
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
push_params | SilentHoursParams | পুশ নোটিফিকেশনের জন্য সাইলেন্ট আওয়ার্স। |
inapp_params | SilentHoursParams | ইন-অ্যাপ মেসেজের জন্য সাইলেন্ট আওয়ার্স। |
email_params | SilentHoursParams | ইমেইলের জন্য সাইলেন্ট আওয়ার্স। |
sms_params | SilentHoursParams | SMS-এর জন্য সাইলেন্ট আওয়ার্স। |
whatsapp_params | SilentHoursParams | WhatsApp-এর জন্য সাইলেন্ট আওয়ার্স। |
line_params | SilentHoursParams | LINE-এর জন্য সাইলেন্ট আওয়ার্স। |
প্রতিটি SilentHoursParams হলো:
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
enabled | bool | এই চ্যানেলের জন্য সাইলেন্ট আওয়ার্স প্রযোজ্য কিনা। |
from_time | Time | শান্ত উইন্ডোর শুরু: { "hour": 0–23, "minute": 0–59 }। |
to_time | Time | শান্ত উইন্ডোর শেষ। |
week_days | bool[] | সপ্তাহের যে দিনগুলিতে উইন্ডো প্রযোজ্য তার জন্য সাতটি বুলিয়ান (সোমবার = ইনডেক্স 0)। |
behavior | enum | যখন কোনো বার্তা সাইলেন্ট আওয়ার্সের মধ্যে পড়ে তখন কী করতে হবে: WaitAndSend (ধরে রাখুন, তারপর উইন্ডো শেষ হলে পাঠান), DropAndGo (বার্তাটি এড়িয়ে যান, Journey অবিলম্বে চালিয়ে যান), অথবা WaitAndDrop (উইন্ডো শেষ হওয়া পর্যন্ত অপেক্ষা করুন, তারপর না পাঠিয়ে চালিয়ে যান)। |
EntryCapping
Anchor link toএকই ব্যবহারকারী কতবার Journey-তে প্রবেশ করতে পারবে তা সীমিত করে।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
is_enabled | bool | এন্ট্রি ক্যাপিং চালু আছে কিনা। |
period | uint64 | একজন ব্যবহারকারীর প্রবেশের মধ্যে ন্যূনতম মিনিটের সংখ্যা। 0 মানে ব্যবহারকারী জীবনে মাত্র একবার প্রবেশ করতে পারবে। |
ব্যবহারকারী Journey-তে প্রবেশ করার মুহূর্ত থেকে সীমা গণনা করা হয়, এবং এটি প্রতি ইউজার আইডি অনুযায়ী ট্র্যাক করা হয়, তাই একজন ব্যবহারকারীর সমস্ত ডিভাইস একটি একক এন্ট্রি শেয়ার করে। সময়কাল চলাকালীন, এন্ট্রি পয়েন্ট আরও প্রবেশের প্রচেষ্টা প্রত্যাখ্যান করে এবং সেগুলিকে ট্র্যাভেলার তৈরি করার পরিবর্তে ত্রুটি হিসাবে গণনা করে।
আপনি যখন এই সেটিংস পরিবর্তন করেন তখন তিনটি আচরণের কথা মনে রাখতে হবে:
- Journey আগে ছেড়ে গেলে সীমা মুক্তি পায় না। ব্যবহারকারী একটি এক্সিট পয়েন্টে পৌঁছানোর পরেও পুরো সময়কাল অপেক্ষা করে।
- একটি পরিবর্তিত
periodআপডেটের পরে করা এন্ট্রিগুলির জন্য প্রযোজ্য। যে ব্যবহারকারীরা আগে প্রবেশ করেছিল তারা প্রবেশের সময় কার্যকর থাকা সময়কাল বজায় রাখে। is_enabledকেfalseসেট করলে অবিলম্বে প্রতিটি ব্যবহারকারীর জন্য সীমা তুলে নেওয়া হয়।
ConversionWindow
Anchor link to| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
seconds | uint64 | একটি Journey-তে প্রবেশের কতক্ষণ পর পর্যন্ত ব্যবহারকারীর লক্ষ্য পূরণকে কনভার্সন হিসেবে গণনা করা হবে। |
পয়েন্ট
Anchor link toএকটি পয়েন্ট হলো Journey ক্যানভাসের একটি নোড: একটি এন্ট্রি পয়েন্ট, একটি বার্তা, একটি ডিলে, একটি স্প্লিটার, ইত্যাদি।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
uuid | string | Journey-এর মধ্যে পয়েন্টের অনন্য ID। অবশ্যই একটি ক্যানোনিকাল RFC 4122 UUID হতে হবে: 8-4-4-4-12 গ্রুপে 32 হেক্স ডিজিট। |
title | string | পয়েন্টের প্রদর্শনের নাম। |
point_type | PointType | নোডের প্রকার। |
outputs | array of PointOutput | ডাউনস্ট্রিম পয়েন্টগুলোর সাথে সংযোগ। |
position | Position | ক্যানভাসের স্থানাঙ্ক। |
point_data | object | ঠিক একটি নেস্টেড কী, যা point_type-এর সাথে মেলে (পয়েন্টের প্রকার এবং point_data টেবিলটি দেখুন)। |
PointOutput
Anchor link toএকটি পয়েন্টের আউটপুট হলো তার বহির্গামী শাখা। তাদের কীগুলো ফ্রি-ফর্ম নয়। ভ্যালিডেটর প্রতিটি পয়েন্ট টাইপের জন্য একটি নির্দিষ্ট সেট কী আশা করে, এবং এমন কোনো Journey প্রত্যাখ্যান করে যার পয়েন্টে ভুল সংখ্যক আউটপুট বা এমন কোনো কী আছে যা এটি চেনে না।
| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
identity.key | string | ব্রাঞ্চ কী। অবশ্যই নিচের আউটপুট কী নিয়ম অনুসরণ করতে হবে। |
identity.order | int | ব্রাঞ্চের প্রদর্শনের ক্রম। |
info.title | string | ঐচ্ছিক ব্রাঞ্চ লেবেল। |
info.next_point_uuid | string | এই ব্রাঞ্চটি পরবর্তী যে পয়েন্টের সাথে সংযুক্ত তার UUID। ঐচ্ছিক — এটি আনসেট রাখলে ব্যবহারকারীর জন্য Journey শেষ হয়ে যায়, যা একটি স্পষ্ট টার্মিনেটর পয়েন্টের মতোই। |
আউটপুট কী
Anchor link toডিফল্ট (প্রথম) ব্রাঞ্চের নাম সবসময় "default" হয়। অতিরিক্ত ব্রাঞ্চগুলোর নাম "output1", "output2", … (উপসর্গ output এবং তারপর একটি 1-ভিত্তিক ইনডেক্স)। দুটি পয়েন্ট টাইপ এই নিয়ম ভঙ্গ করে, যা নিচে উল্লেখ করা হয়েছে।
| পয়েন্টের প্রকার | প্রত্যাশিত আউটপুট কী |
|---|---|
এন্ট্রি পয়েন্ট (START_BY_SEGMENT, START_BY_API, EVENT), INAPP, SET_TAGS, WEBHOOK, AUDIENCE_SYNC, এবং স্প্লিটার ছাড়া মেসেজ পয়েন্ট (SEND_PUSH, SEND_EMAIL, SEND_SMS, SEND_WHATSAPP, SEND_LINE, SEND_KAKAO, SEND_TELEGRAM, SEND_DATA) | default |
GOAL_EVENT, EXIT | কোনোটিই নয় (কোনো আউটপুট নেই) |
FILTER | default, output1 |
BOOLEAN_SPLITTER | default, তারপর output1 … outputN (প্রতিটি কন্ডিশনের জন্য একটি অতিরিক্ত ব্রাঞ্চ। একটি সাধারণ হ্যাঁ/না বিভাজনের জন্য default + output1) |
WAIT (delay) | default। ব্রাঞ্চ স্প্লিটিং সহ একটি ডাইনামিক ডিলে output1 যোগ করে |
WAIT_EVENT | default হলো ইভেন্ট-নট-ট্রিগারড ব্রাঞ্চ। output1 (অথবা, একটি কন্ডিশন স্ক্রিপ্ট সহ, প্রতিটি কন্ডিশনের জন্য একটি ব্রাঞ্চ) হলো ট্রিগারড পথ |
একটি স্প্লিটার সহ SEND_PUSH | default, output1 (এবং output2 যখন মেসেজ এবং ডেলিভারি উভয় স্প্লিটার চালু থাকে) |
একটি স্প্লিটার সহ SEND_EMAIL / SEND_SMS / SEND_LINE / SEND_WHATSAPP | default, output1 |
একটি কুইক-রিপ্লাই প্রিসেট সহ SEND_WHATSAPP | default, এবং প্রতি কুইক-রিপ্লাইয়ের জন্য একটি ব্রাঞ্চ। কী হলো কুইক-রিপ্লাইয়ের মান নিজেই |
AB_SPLITTER | output0, output1, output2, … (প্রতি ভ্যারিয়েন্টের জন্য একটি। কোনো default ব্রাঞ্চ নেই) |
পজিশন
Anchor link to| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
x | float | ক্যানভাসে অনুভূমিক স্থানাঙ্ক। |
y | float | ক্যানভাসে উল্লম্ব স্থানাঙ্ক। |
পয়েন্টের প্রকার এবং point_data
Anchor link topoint_data একটি one-of: এটি ঠিক একটি নেস্টেড অবজেক্ট বহন করে যার কী পয়েন্টের point_type দ্বারা নির্ধারিত হয়।
point_type | point_data কী | উদ্দেশ্য |
|---|---|---|
POINT_TYPE_START_BY_SEGMENT | start_by_segment | প্রবেশ: একটি সেগমেন্টের সাথে মিলে যাওয়া ব্যবহারকারী। |
POINT_TYPE_EVENT | message_bus | প্রবেশ: একটি ইভেন্ট ট্রিগার করা ব্যবহারকারী। |
POINT_TYPE_START_BY_API | start_by_api | প্রবেশ: Start by API কলের মাধ্যমে ইনজেক্ট করা ব্যবহারকারী। |
POINT_TYPE_WAIT | delay | একটি নির্দিষ্ট বা ডাইনামিক বিরতির জন্য অপেক্ষা করুন। |
POINT_TYPE_WAIT_EVENT | wait_event | একটি ইভেন্ট ঘটা পর্যন্ত অপেক্ষা করুন। |
POINT_TYPE_SEND_PUSH | send_push | একটি পুশ নোটিফিকেশন পাঠান। |
POINT_TYPE_SEND_EMAIL | send_email | একটি ইমেইল পাঠান। |
POINT_TYPE_SEND_SMS | send_sms | একটি SMS পাঠান। |
POINT_TYPE_SEND_WHATSAPP | send_whatsapp | একটি WhatsApp মেসেজ পাঠান। |
POINT_TYPE_SEND_TELEGRAM | send_telegram | একটি Telegram মেসেজ পাঠান। |
POINT_TYPE_SEND_KAKAO | send_kakao | একটি Kakao মেসেজ পাঠান। |
POINT_TYPE_SEND_LINE | send_line | একটি LINE মেসেজ পাঠান। |
POINT_TYPE_SEND_DATA | send_data | একটি সাইলেন্ট ডেটা মেসেজ পাঠান। |
POINT_TYPE_INAPP | inapp | একটি ইন-অ্যাপ মেসেজ দেখান। |
POINT_TYPE_BOOLEAN_SPLITTER | boolean_splitter | একটি শর্ত (সেগমেন্ট, ট্যাগ, বা ইভেন্ট) দ্বারা ব্যবহারকারীদের বিভক্ত করুন। |
POINT_TYPE_AB_SPLITTER | ab_splitter | ব্যবহারকারীদের A/B গ্রুপে বিভক্ত করুন। |
POINT_TYPE_FILTER | filter | শুধুমাত্র একটি ফিল্টারের সাথে মিলে যাওয়া ব্যবহারকারীদের চালিয়ে যাওয়ার অনুমতি দিন। |
POINT_TYPE_SET_TAGS | set_tags | ব্যবহারকারীর ট্যাগ আপডেট করুন। |
POINT_TYPE_WEBHOOK | web_hook | একটি আউটবাউন্ড HTTP রিকোয়েস্ট পাঠান। |
POINT_TYPE_GOAL_EVENT | goal_event | একটি কনভার্সন লক্ষ্য ট্র্যাক করুন। |
POINT_TYPE_AUDIENCE_SYNC | audience_sync | ব্যবহারকারীদের একটি এক্সটার্নাল অডিয়েন্সের সাথে সিঙ্ক করুন। |
POINT_TYPE_EXIT | terminator | Journey থেকে প্রস্থান করুন। |
উদাহরণ পয়েন্ট
Anchor link toএকটি “set tags” পয়েন্ট যার একটিমাত্র ডাউনস্ট্রিম সংযোগ আছে:
{ "uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "title": "Tag as engaged", "point_type": "POINT_TYPE_SET_TAGS", "position": { "x": 480, "y": 120 }, "outputs": [ { "identity": { "key": "default", "order": 0 }, "info": { "title": "", "next_point_uuid": "ffffffff-1111-2222-3333-444444444444" } } ], "point_data": { "set_tags": { "application_code": "XXXXX-XXXXX", "tags": [ { "name": "engaged", "value": "true" } ] } }}JourneyComment
Anchor link to| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
id | string | কমেন্ট UUID। |
message | string | কমেন্টের লেখা। |
position | Position | ক্যানভাসের স্থানাঙ্ক। |
index | int | প্রদর্শনের ক্রম। |
created_at | string | তৈরির টাইমস্ট্যাম্প (ISO 8601)। |
deleted | bool | কমেন্টটি মুছে ফেলা হয়েছে কিনা। |
Enums
Anchor link toJourneyStatus enum
Anchor link toSTATUS_DRAFT, STATUS_RUNNING, STATUS_FINISHED, STATUS_ARCHIVED, STATUS_PAUSED, STATUS_UNKNOWN।
CampaignType enum
Anchor link toTriggerBased: ব্যবহারকারীরা একটি ইভেন্টে প্রবেশ করে।AudienceBased: ব্যবহারকারীরা একটি সেগমেন্ট থেকে প্রবেশ করে।APIBased: ব্যবহারকারীরা Start by API কলের মাধ্যমে প্রবেশ করে।Mixed: একাধিক এন্ট্রি টাইপ।Unknown: এন্ট্রি টাইপ নির্ধারিত নয়।
PointType enum
Anchor link toসম্পূর্ণ তালিকা এবং প্রতিটি point_data কী-এর জন্য উপরের পয়েন্টের প্রকার টেবিলটি দেখুন।
UserIDTrackChangePolicy enum
Anchor link toযখন কোনো ব্যবহারকারী Journey-এর মাঝপথে থাকে এবং তার User ID পরিবর্তন হয়, তখন কী ঘটবে তা নিয়ন্ত্রণ করে:
DEFAULT: ডিফল্ট আচরণ।TRACK: নতুন আইডির অধীনে ব্যবহারকারীকে ট্র্যাক করতে থাকুন।DROP: যখন ব্যবহারকারীর আইডি পরিবর্তন হয়, তখন তাকে Journey থেকে সরিয়ে দিন।