ข้อมูลอ้างอิงพอยต์
ทุก point จะมีอ็อบเจกต์ point_data ที่มีคีย์ซ้อนกันเพียงหนึ่งคีย์ ซึ่งตรงกับ point_type ของพอยต์ (ดูที่ การจับคู่ point-type → key) หน้านี้จะอธิบายโครงสร้างภายใต้แต่ละคีย์
พอยต์เริ่มต้น (Entry points)
Anchor link toJourney จำเป็นต้องมีพอยต์เริ่มต้นอย่างน้อยหนึ่งพอยต์ พอยต์เริ่มต้นทั้งหมดมีเอาต์พุต default เพียงหนึ่งเดียว
start_by_segment
Anchor link toให้ผู้ใช้เข้าสู่ Journey เมื่อตรงกับเซกเมนต์ POINT_TYPE_START_BY_SEGMENT
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
application_code | string | รหัสแอปพลิเคชัน (Application code) |
filter_code | string | รหัสเซกเมนต์/ฟิลเตอร์ (Segment/filter code) ที่กำหนดกลุ่มเป้าหมาย |
repeat | SegmentRepeat | กำหนดการเข้าซ้ำที่เป็นทางเลือก (ดู SegmentRepeat) |
start_at | timestamp | อย่าประมวลผลก่อนเวลานี้ (ISO 8601) |
is_deactivated | bool | ระบุว่าพอยต์เริ่มต้นนี้ปิดอยู่หรือไม่ |
message_bus (การเข้าด้วยอีเวนต์)
Anchor link toให้ผู้ใช้เข้าสู่ Journey เมื่อพวกเขากระตุ้นอีเวนต์ POINT_TYPE_EVENT
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
event_name | string | ชื่ออีเวนต์ (Event name) ที่จะรอฟัง |
application_code | string | รหัสแอปพลิเคชัน (Application code) |
event_conditions | PointEventCondition[] | เงื่อนไขที่จับคู่กับแอตทริบิวต์ของอีเวนต์ |
active_period | Period | ช่วงเวลาที่ทริกเกอร์ทำงาน |
multi_entry | MultiEntry | วิธีที่ผู้ใช้สามารถเข้าได้มากกว่าหนึ่งครั้ง (ดู MultiEntry) |
attribute_entry | AttributeEntry | ลงทะเบียน User ID ที่อยู่ในแอตทริบิวต์ของอีเวนต์แทนที่จะเป็นผู้ใช้ที่กระตุ้นอีเวนต์ (ดู AttributeEntry) |
allow_reenter | bool | ระบุว่าผู้ใช้สามารถเข้าสู่ Journey ซ้ำได้หรือไม่ |
AttributeEntry
Anchor link toลงทะเบียน User ID ที่อยู่ในแอตทริบิวต์ของอีเวนต์ แทนที่จะเป็นผู้ใช้ที่กระตุ้นอีเวนต์ สะท้อนการทำงานของ Users from an event attribute ในตัวสร้าง Customer Journey
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
enabled | bool | ระบุว่าจะลงทะเบียนผู้ใช้ที่ระบุชื่อในแอตทริบิวต์ของอีเวนต์แทนที่จะเป็นผู้ใช้ที่กระตุ้นอีเวนต์หรือไม่ |
attribute_name | string | ชื่อของแอตทริบิวต์อีเวนต์ที่เก็บ User ID (หรือรายการ User ID) ที่จะลงทะเบียน |
start_by_api
Anchor link toพอยต์เริ่มต้นที่ได้รับข้อมูลจากการเรียก Start by API POINT_TYPE_START_BY_API
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
application_code | string | รหัสแอปพลิเคชัน (Application code) |
attributes | string[] | ชื่อของแอตทริบิวต์ที่กำหนดเองที่สามารถส่งผ่านใน attribute_values ของคำขอ Start by API |
is_deactivated | bool | ระบุว่าพอยต์เริ่มต้นนี้ปิดอยู่หรือไม่ |
พอยต์กำหนดเวลา (Timing points)
Anchor link todelay (wait)
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 | รอโดยอ้างอิงจากค่าจากแท็กหรืออีเวนต์ |
dynamic_time ที่มี split_branches: true จะเพิ่มสาขา 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[] | เปอร์เซ็นต์สำหรับแต่ละสาขา ต้องรวมกันได้ 100 ดัชนี 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 | รหัสแอปพลิเคชัน (Application code) |
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 | อ่านอย่างเดียว true เมื่อ Pushwoosh ปิดใช้งาน webhook โดยอัตโนมัติหลังจากเกิดข้อผิดพลาดซ้ำๆ |
reactivate | bool | เขียนอย่างเดียว ตั้งค่าเป็น true เพื่อเปิดใช้งาน webhook ที่ถูกปิดใช้งานอีกครั้ง |
พอยต์การแปลง
Anchor link togoal_event
Anchor link toติดตามเป้าหมายการแปลง POINT_TYPE_GOAL_EVENT ไม่มีเอาต์พุต
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
event_name | string | ชื่ออีเวนต์เป้าหมาย |
application_code | string | รหัสแอปพลิเคชัน (Application code) |
event_conditions | PointEventCondition[] | เงื่อนไขที่จับคู่กับแอตทริบิวต์ของอีเวนต์เป้าหมาย |
is_throw_out | bool | ระบุว่าจะลบผู้ใช้ออกจาก Journey เมื่อถึงเป้าหมายหรือไม่ |
is_cancel_event | bool | ระบุว่านี่เป็นเป้าหมายเชิงลบ (การยกเลิก) หรือไม่ |
พอยต์ทางออก
Anchor link toterminator
Anchor link toสิ้นสุด Journey สำหรับผู้ใช้ POINT_TYPE_EXIT เป็นอ็อบเจกต์ว่าง ({}) และไม่มีเอาต์พุต
{ "point_type": "POINT_TYPE_EXIT", "point_data": { "terminator": {} }, "outputs": [] }พอยต์ terminator เป็นทางเลือก การปล่อยให้ info.next_point_uuid ของเอาต์พุตว่างไว้จะสิ้นสุด Journey สำหรับผู้ใช้ในลักษณะเดียวกับ terminator ที่ระบุไว้อย่างชัดเจน — ทั้งสองกรณีจะถูกนับในลักษณะเดียวกันคือ Exits ไม่ใช่ข้อผิดพลาด
พอยต์การส่งข้อความ
Anchor link toพอยต์การส่งข้อความทั้งหมดจะส่งผ่านช่องทางและใช้รูปแบบร่วมกัน แต่ละพอยต์มีเอาต์พุต default เพียงหนึ่งเดียว เว้นแต่จะเปิดใช้งานตัวแยก (ดู คีย์เอาต์พุต)
ฟิลด์ทั่วไป:
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
application_code | string | รหัสแอปพลิเคชัน (Application code) |
preset_code | string | Preset (เทมเพลต) ที่จะส่ง inapp ใช้ richmedia_code แทน |
content / title | string | เนื้อหาข้อความแบบอินไลน์ เมื่อไม่ได้ใช้ preset (ขึ้นอยู่กับช่องทาง) |
campaign_code | string | รหัสแคมเปญ (Campaign code) สำหรับการติดตาม จะถูกสร้างขึ้นโดยอัตโนมัติหากไม่ระบุ |
split_params | BehaviorSplitter | ทางเลือก: รอการโต้ตอบและแยกสาขาตามการโต้ตอบนั้น |
message_type | enum | ประเภทข้อความ การตลาดเทียบกับธุรกรรม (ควบคุมการจัดการกลุ่มควบคุม) ไม่ได้ใช้โดย send_email ซึ่งมีคู่ email_type/email_category ของตัวเองด้านล่าง |
ประเภทพอยต์และฟิลด์พิเศษที่น่าสนใจ:
| ประเภทพอยต์ | คีย์ 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_type, email_category (ดูด้านล่าง) ดู Email API |
POINT_TYPE_SEND_SMS | send_sms | ดู SMS |
POINT_TYPE_SEND_WHATSAPP | send_whatsapp | preset การตอบกลับด่วนจะเพิ่มหนึ่งเอาต์พุตต่อการตอบกลับ (คีย์ = ค่าการตอบกลับ) ดู WhatsApp |
POINT_TYPE_SEND_TELEGRAM | send_telegram | ช่องทาง 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 | การกำหนดค่าเวลาของวัน |
อ็อบเจกต์เวลา (Time objects)
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ควบคุมจำนวนเซสชันที่ใช้งานพร้อมกันที่ผู้ใช้สามารถมีได้ใน Journey สะท้อนการทำงานของ Control how many sessions a user can have at the same time ในตัวสร้าง Customer Journey ใช้โดย พอยต์เริ่มต้นด้วยอีเวนต์ และ wait_event
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
enabled | bool | ระบุว่าผู้ใช้สามารถมีเซสชันที่ใช้งานหลายรายการพร้อมกันได้หรือไม่ false: หนึ่งเซสชันที่ใช้งานต่อผู้ใช้ true: หลายเซสชันที่ใช้งานต่อผู้ใช้ |
attribute_name | string | ทางเลือก แอตทริบิวต์อีเวนต์ที่กำหนดขอบเขตของแต่ละเซสชัน เมื่อตั้งค่า ผู้ใช้สามารถมีหนึ่งเซสชันที่ใช้งานต่อค่าที่แตกต่างกันของแอตทริบิวต์นี้ (ตัวอย่างเช่น หนึ่งรายการต่อ order_id) อีเวนต์ที่มีค่าเดียวกันจะใช้เซสชันร่วมกัน ปล่อยว่างไว้เพื่อกำหนดขอบเขตการเข้าทั้งหมดของผู้ใช้ร่วมกัน |