Journey অবজেক্ট
lifecycle, create, and update মেথডগুলো সবগুলোই একই টপ-লেভেল শেপ সহ একটি journey অবজেক্ট রিটার্ন করে:
{ "info": { ... }, // শুধুমাত্র পঠনযোগ্য মেটাডেটা (শুধুমাত্র প্রতিক্রিয়া) "params": { ... }, // journey-ব্যাপী কনফিগারেশন (তৈরি / আপডেট) "points": [ ... ], // ক্যানভাস নোড এবং তাদের সংযোগ "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 | Application code যার অন্তর্গত journey-টি। তৈরির সময় আবশ্যক। |
silent_hours | SilentHours | যে সময়গুলিতে চ্যানেল অনুযায়ী মেসেজ পাঠানো বন্ধ থাকে। |
capping | EntryCapping | একজন ব্যবহারকারী কত ঘন ঘন journey-তে পুনরায় প্রবেশ করতে পারবে তার সীমা। |
conversion_window | ConversionWindow | লক্ষ্য কনভার্সন অ্যাট্রিবিউট করার জন্য উইন্ডো। |
user_id_track_change_policy | UserIDTrackChangePolicy | journey-এর মাঝপথে কোনো ব্যবহারকারীর ID পরিবর্তন হলে কীভাবে তা পরিচালনা করা হবে। |
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 | একজন ব্যবহারকারীর প্রবেশের মধ্যে ন্যূনতম সেকেন্ডের সংখ্যা। |
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-এর সাথে মেলে (দেখুন পয়েন্ট টাইপ টেবিল)। |
PointOutput
Anchor link toএকটি পয়েন্টের আউটপুট হলো তার বহির্গামী শাখা। তাদের কী-গুলো ফ্রি-ফর্ম নয়। ভ্যালিডেটর প্রতিটি পয়েন্ট টাইপের জন্য একটি নির্দিষ্ট সেট কী আশা করে, এবং এমন journey প্রত্যাখ্যান করে যার পয়েন্টে ভুল সংখ্যক আউটপুট বা এমন কী আছে যা এটি চেনে না।
| ফিল্ড | টাইপ | বর্ণনা |
|---|---|---|
identity.key | string | শাখার কী। নীচের আউটপুট কী নিয়ম অনুসরণ করতে হবে। |
identity.order | int | শাখার প্রদর্শনের ক্রম। |
info.title | string | ঐচ্ছিক শাখা লেবেল। |
info.next_point_uuid | string | পরবর্তী পয়েন্টের UUID যার সাথে এই শাখাটি সংযোগ করে। ঐচ্ছিক — এটি সেট না করলে ব্যবহারকারীর জন্য journey শেষ হয়ে যায়, যা একটি সুস্পষ্ট terminator পয়েন্টের মতোই। |
আউটপুট কী
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 tojourney-এর মাঝপথে থাকা কোনো ব্যবহারকারীর User ID পরিবর্তন হলে কী হবে তা নিয়ন্ত্রণ করে:
DEFAULT: ডিফল্ট আচরণ।TRACK: নতুন ID-এর অধীনে ব্যবহারকারীকে ট্র্যাক করতে থাকুন।DROP: ব্যবহারকারীর ID পরিবর্তন হলে তাকে journey থেকে সরিয়ে দিন।