বিষয়বস্তুতে যান

Journey অবজেক্ট

লাইফসাইকেল, তৈরি এবং আপডেট মেথডগুলো একই টপ-লেভেল শেপের একটি Journey অবজেক্ট রিটার্ন করে:

Shape
{
"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 মেথড দ্বারা এটি ফেরত দেওয়া হয়। এটি রিকোয়েস্ট বডির অংশ নয়।

ফিল্ডটাইপবিবরণ
uuidstringJourney ID।
titlestringJourney-এর নাম।
statusJourneyStatusবর্তমান অবস্থা।
created_atstringতৈরির টাইমস্ট্যাম্প (ISO 8601)।
updated_atstringশেষ আপডেটের টাইমস্ট্যাম্প (ISO 8601)।
is_first_activatedboolJourney অন্তত একবার শুরু হয়েছে কিনা।
paramsJourneyParamsJourney-ব্যাপী কনফিগারেশন।
category_uuidstringক্যাটাগরির UUID, অথবা যদি কোনো ক্যাটাগরিতে না থাকে তবে খালি।
pointCountsmap<string, uint32>প্রকার অনুযায়ী পয়েন্টের সংখ্যা।
campaign_typeCampaignTypeব্যবহারকারীরা কীভাবে Journey-তে প্রবেশ করে।
stop_reasonstringJourney কেন থেমে গেছে, যদি প্রযোজ্য হয়।
last_edited_byUserযে ব্যবহারকারী শেষবার Journey সম্পাদনা করেছেন।
dynamic_entryboolডাইনামিক এন্ট্রি সক্রিয় আছে কিনা।

JourneyParams

Anchor link to

Journey-ব্যাপী কনফিগারেশন। তৈরি/আপডেট করার সময় পাঠানো হয় এবং info.params-এর ভিতরে ফেরত আসে।

ফিল্ডটাইপবিবরণ
application_codestringঅ্যাপ্লিকেশন কোড যার অন্তর্গত Journey। তৈরি করার সময় আবশ্যক।
silent_hoursSilentHoursযে সময়গুলিতে বার্তা পাঠানো বন্ধ থাকে, প্রতি চ্যানেল অনুযায়ী।
cappingEntryCappingএকজন ব্যবহারকারী কতবার Journey-তে পুনরায় প্রবেশ করতে পারবে তার সীমা।
conversion_windowConversionWindowলক্ষ্য কনভার্সন অ্যাট্রিবিউট করার জন্য উইন্ডো।
user_id_track_change_policyUserIDTrackChangePolicyJourney-এর মাঝপথে ব্যবহারকারীর আইডি পরিবর্তন হলে কীভাবে তা সামলানো হবে।

SilentHours

Anchor link to

শান্ত সময়ে বার্তা পাঠানো দমন করে। প্রতি চ্যানেল অনুযায়ী কনফিগার করা হয়: প্রতিটি চ্যানেল নিজস্ব SilentHoursParams নেয়:

ফিল্ডটাইপবিবরণ
push_paramsSilentHoursParamsপুশ নোটিফিকেশনের জন্য সাইলেন্ট আওয়ার্স।
inapp_paramsSilentHoursParamsইন-অ্যাপ মেসেজের জন্য সাইলেন্ট আওয়ার্স।
email_paramsSilentHoursParamsইমেইলের জন্য সাইলেন্ট আওয়ার্স।
sms_paramsSilentHoursParamsSMS-এর জন্য সাইলেন্ট আওয়ার্স।
whatsapp_paramsSilentHoursParamsWhatsApp-এর জন্য সাইলেন্ট আওয়ার্স।
line_paramsSilentHoursParamsLINE-এর জন্য সাইলেন্ট আওয়ার্স।

প্রতিটি SilentHoursParams হলো:

ফিল্ডটাইপবিবরণ
enabledboolএই চ্যানেলের জন্য সাইলেন্ট আওয়ার্স প্রযোজ্য কিনা।
from_timeTimeশান্ত উইন্ডোর শুরু: { "hour": 0–23, "minute": 0–59 }।
to_timeTimeশান্ত উইন্ডোর শেষ।
week_daysbool[]সপ্তাহের যে দিনগুলিতে উইন্ডো প্রযোজ্য তার জন্য সাতটি বুলিয়ান (সোমবার = ইনডেক্স 0)।
behaviorenumযখন কোনো বার্তা সাইলেন্ট আওয়ার্সের মধ্যে পড়ে তখন কী করতে হবে: WaitAndSend (ধরে রাখুন, তারপর উইন্ডো শেষ হলে পাঠান), DropAndGo (বার্তাটি এড়িয়ে যান, Journey অবিলম্বে চালিয়ে যান), অথবা WaitAndDrop (উইন্ডো শেষ হওয়া পর্যন্ত অপেক্ষা করুন, তারপর না পাঠিয়ে চালিয়ে যান)।

EntryCapping

Anchor link to

একই ব্যবহারকারী কতবার Journey-তে প্রবেশ করতে পারবে তা সীমিত করে।

ফিল্ডটাইপবিবরণ
is_enabledboolএন্ট্রি ক্যাপিং চালু আছে কিনা।
perioduint64একজন ব্যবহারকারীর প্রবেশের মধ্যে ন্যূনতম মিনিটের সংখ্যা। 0 মানে ব্যবহারকারী জীবনে মাত্র একবার প্রবেশ করতে পারবে।

ব্যবহারকারী Journey-তে প্রবেশ করার মুহূর্ত থেকে সীমা গণনা করা হয়, এবং এটি প্রতি ইউজার আইডি অনুযায়ী ট্র্যাক করা হয়, তাই একজন ব্যবহারকারীর সমস্ত ডিভাইস একটি একক এন্ট্রি শেয়ার করে। সময়কাল চলাকালীন, এন্ট্রি পয়েন্ট আরও প্রবেশের প্রচেষ্টা প্রত্যাখ্যান করে এবং সেগুলিকে ট্র্যাভেলার তৈরি করার পরিবর্তে ত্রুটি হিসাবে গণনা করে।

আপনি যখন এই সেটিংস পরিবর্তন করেন তখন তিনটি আচরণের কথা মনে রাখতে হবে:

  • Journey আগে ছেড়ে গেলে সীমা মুক্তি পায় না। ব্যবহারকারী একটি এক্সিট পয়েন্টে পৌঁছানোর পরেও পুরো সময়কাল অপেক্ষা করে।
  • একটি পরিবর্তিত period আপডেটের পরে করা এন্ট্রিগুলির জন্য প্রযোজ্য। যে ব্যবহারকারীরা আগে প্রবেশ করেছিল তারা প্রবেশের সময় কার্যকর থাকা সময়কাল বজায় রাখে।
  • is_enabled কে false সেট করলে অবিলম্বে প্রতিটি ব্যবহারকারীর জন্য সীমা তুলে নেওয়া হয়।

ConversionWindow

Anchor link to
ফিল্ডটাইপবিবরণ
secondsuint64একটি Journey-তে প্রবেশের কতক্ষণ পর পর্যন্ত ব্যবহারকারীর লক্ষ্য পূরণকে কনভার্সন হিসেবে গণনা করা হবে।

পয়েন্ট

Anchor link to

একটি পয়েন্ট হলো Journey ক্যানভাসের একটি নোড: একটি এন্ট্রি পয়েন্ট, একটি বার্তা, একটি ডিলে, একটি স্প্লিটার, ইত্যাদি।

ফিল্ডটাইপবিবরণ
uuidstringJourney-এর মধ্যে পয়েন্টের অনন্য ID। অবশ্যই একটি ক্যানোনিকাল RFC 4122 UUID হতে হবে: 8-4-4-4-12 গ্রুপে 32 হেক্স ডিজিট।
titlestringপয়েন্টের প্রদর্শনের নাম।
point_typePointTypeনোডের প্রকার।
outputsarray of PointOutputডাউনস্ট্রিম পয়েন্টগুলোর সাথে সংযোগ।
positionPositionক্যানভাসের স্থানাঙ্ক।
point_dataobjectঠিক একটি নেস্টেড কী, যা point_type-এর সাথে মেলে (পয়েন্টের প্রকার এবং point_data টেবিলটি দেখুন)।

PointOutput

Anchor link to

একটি পয়েন্টের আউটপুট হলো তার বহির্গামী শাখা। তাদের কীগুলো ফ্রি-ফর্ম নয়। ভ্যালিডেটর প্রতিটি পয়েন্ট টাইপের জন্য একটি নির্দিষ্ট সেট কী আশা করে, এবং এমন কোনো Journey প্রত্যাখ্যান করে যার পয়েন্টে ভুল সংখ্যক আউটপুট বা এমন কোনো কী আছে যা এটি চেনে না।

ফিল্ডটাইপবিবরণ
identity.keystringব্রাঞ্চ কী। অবশ্যই নিচের আউটপুট কী নিয়ম অনুসরণ করতে হবে।
identity.orderintব্রাঞ্চের প্রদর্শনের ক্রম।
info.titlestringঐচ্ছিক ব্রাঞ্চ লেবেল।
info.next_point_uuidstringএই ব্রাঞ্চটি পরবর্তী যে পয়েন্টের সাথে সংযুক্ত তার 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কোনোটিই নয় (কোনো আউটপুট নেই)
FILTERdefault, output1
BOOLEAN_SPLITTERdefault, তারপর output1 … outputN (প্রতিটি কন্ডিশনের জন্য একটি অতিরিক্ত ব্রাঞ্চ। একটি সাধারণ হ্যাঁ/না বিভাজনের জন্য default + output1)
WAIT (delay)default। ব্রাঞ্চ স্প্লিটিং সহ একটি ডাইনামিক ডিলে output1 যোগ করে
WAIT_EVENTdefault হলো ইভেন্ট-নট-ট্রিগারড ব্রাঞ্চ। output1 (অথবা, একটি কন্ডিশন স্ক্রিপ্ট সহ, প্রতিটি কন্ডিশনের জন্য একটি ব্রাঞ্চ) হলো ট্রিগারড পথ
একটি স্প্লিটার সহ SEND_PUSHdefault, output1 (এবং output2 যখন মেসেজ এবং ডেলিভারি উভয় স্প্লিটার চালু থাকে)
একটি স্প্লিটার সহ SEND_EMAIL / SEND_SMS / SEND_LINE / SEND_WHATSAPPdefault, output1
একটি কুইক-রিপ্লাই প্রিসেট সহ SEND_WHATSAPPdefault, এবং প্রতি কুইক-রিপ্লাইয়ের জন্য একটি ব্রাঞ্চ। কী হলো কুইক-রিপ্লাইয়ের মান নিজেই
AB_SPLITTERoutput0, output1, output2, … (প্রতি ভ্যারিয়েন্টের জন্য একটি। কোনো default ব্রাঞ্চ নেই)

পজিশন

Anchor link to
ফিল্ডটাইপবিবরণ
xfloatক্যানভাসে অনুভূমিক স্থানাঙ্ক।
yfloatক্যানভাসে উল্লম্ব স্থানাঙ্ক।

পয়েন্টের প্রকার এবং point_data

Anchor link to

point_data একটি one-of: এটি ঠিক একটি নেস্টেড অবজেক্ট বহন করে যার কী পয়েন্টের point_type দ্বারা নির্ধারিত হয়।

point_typepoint_data কীউদ্দেশ্য
POINT_TYPE_START_BY_SEGMENTstart_by_segmentপ্রবেশ: একটি সেগমেন্টের সাথে মিলে যাওয়া ব্যবহারকারী।
POINT_TYPE_EVENTmessage_busপ্রবেশ: একটি ইভেন্ট ট্রিগার করা ব্যবহারকারী।
POINT_TYPE_START_BY_APIstart_by_apiপ্রবেশ: Start by API কলের মাধ্যমে ইনজেক্ট করা ব্যবহারকারী।
POINT_TYPE_WAITdelayএকটি নির্দিষ্ট বা ডাইনামিক বিরতির জন্য অপেক্ষা করুন।
POINT_TYPE_WAIT_EVENTwait_eventএকটি ইভেন্ট ঘটা পর্যন্ত অপেক্ষা করুন।
POINT_TYPE_SEND_PUSHsend_pushএকটি পুশ নোটিফিকেশন পাঠান।
POINT_TYPE_SEND_EMAILsend_emailএকটি ইমেইল পাঠান।
POINT_TYPE_SEND_SMSsend_smsএকটি SMS পাঠান।
POINT_TYPE_SEND_WHATSAPPsend_whatsappএকটি WhatsApp মেসেজ পাঠান।
POINT_TYPE_SEND_TELEGRAMsend_telegramএকটি Telegram মেসেজ পাঠান।
POINT_TYPE_SEND_KAKAOsend_kakaoএকটি Kakao মেসেজ পাঠান।
POINT_TYPE_SEND_LINEsend_lineএকটি LINE মেসেজ পাঠান।
POINT_TYPE_SEND_DATAsend_dataএকটি সাইলেন্ট ডেটা মেসেজ পাঠান।
POINT_TYPE_INAPPinappএকটি ইন-অ্যাপ মেসেজ দেখান।
POINT_TYPE_BOOLEAN_SPLITTERboolean_splitterএকটি শর্ত (সেগমেন্ট, ট্যাগ, বা ইভেন্ট) দ্বারা ব্যবহারকারীদের বিভক্ত করুন।
POINT_TYPE_AB_SPLITTERab_splitterব্যবহারকারীদের A/B গ্রুপে বিভক্ত করুন।
POINT_TYPE_FILTERfilterশুধুমাত্র একটি ফিল্টারের সাথে মিলে যাওয়া ব্যবহারকারীদের চালিয়ে যাওয়ার অনুমতি দিন।
POINT_TYPE_SET_TAGSset_tagsব্যবহারকারীর ট্যাগ আপডেট করুন।
POINT_TYPE_WEBHOOKweb_hookএকটি আউটবাউন্ড HTTP রিকোয়েস্ট পাঠান।
POINT_TYPE_GOAL_EVENTgoal_eventএকটি কনভার্সন লক্ষ্য ট্র্যাক করুন।
POINT_TYPE_AUDIENCE_SYNCaudience_syncব্যবহারকারীদের একটি এক্সটার্নাল অডিয়েন্সের সাথে সিঙ্ক করুন।
POINT_TYPE_EXITterminatorJourney থেকে প্রস্থান করুন।

উদাহরণ পয়েন্ট

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
ফিল্ডটাইপবিবরণ
idstringকমেন্ট UUID।
messagestringকমেন্টের লেখা।
positionPositionক্যানভাসের স্থানাঙ্ক।
indexintপ্রদর্শনের ক্রম।
created_atstringতৈরির টাইমস্ট্যাম্প (ISO 8601)।
deletedboolকমেন্টটি মুছে ফেলা হয়েছে কিনা।

JourneyStatus enum

Anchor link to

STATUS_DRAFT, STATUS_RUNNING, STATUS_FINISHED, STATUS_ARCHIVED, STATUS_PAUSED, STATUS_UNKNOWN।

CampaignType enum

Anchor link to
  • TriggerBased: ব্যবহারকারীরা একটি ইভেন্টে প্রবেশ করে।
  • 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 থেকে সরিয়ে দিন।

সম্পর্কিত

Anchor link to