การอ้างอิง Point
ทุกๆ point จะมีอ็อบเจกต์ point_data ที่มี key ซ้อนกันเพียงหนึ่งเดียว ซึ่งตรงกับ point_type ของ point นั้น (ดู การจับคู่ point-type → key) หน้านี้จะอธิบายโครงสร้างภายใต้แต่ละ key
Entry points
Anchor link toJourney ต้องการ entry point อย่างน้อยหนึ่งจุด entry point ทั้งหมดมี output default เพียงหนึ่งเดียว
start_by_segment
Anchor link toให้ผู้ใช้ที่ตรงกับ segment เข้ามา POINT_TYPE_START_BY_SEGMENT
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
application_code | string | รหัสแอปพลิเคชัน |
filter_code | string | รหัส Segment/filter ที่กำหนดกลุ่มเป้าหมาย |
repeat | SegmentRepeat | กำหนดการเข้าซ้ำที่เป็นทางเลือก (ดู SegmentRepeat) |
start_at | timestamp | ห้ามประมวลผลก่อนเวลานี้ (ISO 8601) |
is_deactivated | bool | ระบุว่า entry point นี้ปิดอยู่หรือไม่ |
message_bus (event entry)
Anchor link toให้ผู้ใช้เข้ามาเมื่อพวกเขากระตุ้น event POINT_TYPE_EVENT
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
event_name | string | ชื่อ Event ที่จะรอฟัง |
application_code | string | รหัสแอปพลิเคชัน |
event_conditions | PointEventCondition[] | เงื่อนไขที่จับคู่กับ attribute ของ event |
active_period | Period | ช่วงเวลาที่ trigger ทำงาน |
multi_entry | MultiEntry | วิธีที่ผู้ใช้สามารถเข้าได้มากกว่าหนึ่งครั้ง (ดู MultiEntry) |
attribute_entry | AttributeEntry | ลงทะเบียน User ID ที่อยู่ใน attribute ของ event แทนผู้ใช้ที่กระตุ้น event (ดู AttributeEntry) |
allow_reenter | bool | ระบุว่าผู้ใช้สามารถเข้า journey ซ้ำได้หรือไม่ |
AttributeEntry
Anchor link toลงทะเบียน User IDs ที่อยู่ใน attribute ของ event แทนผู้ใช้ที่กระตุ้น event จำลองมาจาก Users from an event attribute ใน Customer Journey builder
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
enabled | bool | ระบุว่าจะลงทะเบียนผู้ใช้ที่ระบุใน attribute ของ event แทนผู้ใช้ที่กระตุ้น event หรือไม่ |
attribute_name | string | ชื่อของ attribute ของ event ที่เก็บ User ID (หรือรายการของ User ID) ที่จะลงทะเบียน |
start_by_api
Anchor link toEntry point ที่ป้อนข้อมูลโดยการเรียก Start by API POINT_TYPE_START_BY_API
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
application_code | string | รหัสแอปพลิเคชัน |
attributes | string[] | ชื่อของ custom attribute ที่สามารถส่งผ่านใน attribute_values ของคำขอ Start by API |
is_deactivated | bool | ระบุว่า entry point นี้ปิดอยู่หรือไม่ |
Timing points
Anchor link todelay (wait)
Anchor link toหยุดผู้ใช้แต่ละคนชั่วคราวตามช่วงเวลาที่กำหนดหรือคำนวณได้ POINT_TYPE_WAIT อ็อบเจกต์ point_data.delay จะตั้งค่า key ช่วงเวลาต่อไปนี้เพียงหนึ่งเดียว:
| Interval key | ประเภท | คำอธิบาย |
|---|---|---|
sec | uint64 | รอเป็นจำนวนวินาทีที่กำหนด |
exact_time | ExactTime | รอจนถึงเวลาของวัน (hour, minute) |
exact_date_time | ExactDateTime | รอจนถึงวันที่และเวลาที่แน่นอน |
exact_week_days_time | ExactWeekDaysTime | รอจนถึงเวลาที่ระบุในวันของสัปดาห์ที่ระบุ (map ของวัน 0=จันทร์ … 6=อาทิตย์ → ExactTime) |
dynamic_time | DynamicTime | รอโดยอ้างอิงจากค่าจาก tag หรือ event |
dynamic_time ที่มี split_branches: true จะเพิ่มสาขา output1 (ดู output keys)
DynamicTime
Anchor link to| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
from | enum DynamicTimeFrom | ระบุว่าเวลาพื้นฐานมาจาก tag หรือ event |
direction | enum DynamicTimeDirection | การชดเชยเวลาก่อนหรือหลังเวลาพื้นฐาน |
duration | uint64 | ขนาดของการชดเชยเวลา |
unit | enum DynamicTimeUnit | หน่วยของ duration (นาที, ชั่วโมง, วัน, …) |
split_branches | bool | แยกผู้ใช้ออกเป็นสาขาต่างๆ เมื่อเวลาที่คำนวณได้แตกต่างกัน |
tag_name | string | Tag ที่เก็บเวลาพื้นฐาน (เมื่อ from เป็น tag) |
event_name / event_attribute / point_id | string | แหล่งที่มาของ event ของเวลาพื้นฐาน (เมื่อ from เป็น event) |
wait_event
Anchor link toรอจนกว่าผู้ใช้จะกระตุ้น event (หรือหมดเวลา) POINT_TYPE_WAIT_EVENT output default คือเส้นทาง ไม่ถูกกระตุ้น เส้นทางที่ถูกกระตุ้นคือ output1 หรือหากมีสคริปต์ จะเป็นหนึ่งสาขาต่อเงื่อนไข
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
events | PointWaitEventInfo[] | Event ที่จะรอ |
conditions_script | string | สคริปต์ทางเลือกสำหรับตรรกะหลาย event ที่ซับซ้อน ชื่อเงื่อนไขที่แยกวิเคราะห์ได้จะกลายเป็น output key |
multi_entry | MultiEntry | พฤติกรรมการเข้าซ้ำ |
Splitting and filtering points
Anchor link toboolean_splitter
Anchor link toส่งผู้ใช้ไปยังสาขาต่างๆ ตามเงื่อนไข POINT_TYPE_BOOLEAN_SPLITTER
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
application_code | string | รหัสแอปพลิเคชัน |
split_strategy | enum | SPLIT_FILTER (ตาม segment), SPLIT_TAGS (ตามเงื่อนไข tag), หรือ SPLIT_EVENTS (ตามเงื่อนไข event) |
load_policy | enum | ALL (อุปกรณ์ใดๆ ของผู้ใช้อาจตรงกัน) หรือ FILTER (เฉพาะอุปกรณ์ปัจจุบัน) |
filter_code | string | รหัส Segment เมื่อ split_strategy คือ SPLIT_FILTER |
filter_expressions | FilterExpression[] | เงื่อนไข Tag เมื่อ split_strategy คือ SPLIT_TAGS: เพิ่มสาขา output หนึ่งสาขาต่อ expression |
event | BooleanSplitterEventInfo | เงื่อนไข Event เมื่อ split_strategy คือ SPLIT_EVENTS: เพิ่มสาขา output หนึ่งสาขาต่อเงื่อนไข |
ab_splitter
Anchor link toสุ่มแบ่งผู้ใช้ออกเป็นกลุ่มต่างๆ ตามน้ำหนัก POINT_TYPE_AB_SPLITTER output key คือ output0, output1, … (หนึ่งรายการต่อ entry ใน split โดยเริ่มจาก 0 ไม่มี default)
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
split | uint32[] | เปอร์เซ็นต์สำหรับแต่ละสาขา ต้องรวมกันได้ 100 ดัชนี i จะจับคู่กับ output key output{i} |
auto_select_winner | bool | ระบุว่าจะเลือกสาขาที่ชนะโดยอัตโนมัติหรือไม่ |
winner_strategy | enum | ANY_GOAL หรือ SPECIFIC_GOAL |
goal_uuid | string | Goal ที่ใช้ในการตัดสินผู้ชนะ (กับ 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 แบบกำหนดเอง เมื่อ filter คือ CUSTOM |
Action points
Anchor link toset_tags
Anchor link toอัปเดต tag ของผู้ใช้ POINT_TYPE_SET_TAGS
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
application_code | string | รหัสแอปพลิเคชัน |
tags | Tag[] | Tag ที่จะเขียน |
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
name | string | ชื่อ Tag |
type | enum TagType | ประเภทข้อมูลและการดำเนินการ: TYPE_STRING, TYPE_INTEGER, TYPE_DATE, TYPE_BOOLEAN, TYPE_LIST, TYPE_LIST_APPEND, TYPE_LIST_REMOVE, TYPE_DYNAMIC, … |
| value | oneof | key ค่าหนึ่งเดียวที่ตรงกับ type: str, int, bool, date, price, version, timezone, list, หรือ dynamic |
web_hook
Anchor link toส่งคำขอ HTTP ขาออก POINT_TYPE_WEBHOOK มี output 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 ที่ถูกปิดใช้งานอีกครั้ง |
Conversion points
Anchor link togoal_event
Anchor link toติดตาม conversion goal POINT_TYPE_GOAL_EVENT ไม่มี output
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
event_name | string | ชื่อ event ของ goal |
application_code | string | รหัสแอปพลิเคชัน |
event_conditions | PointEventCondition[] | เงื่อนไขที่จับคู่กับ attribute ของ goal event |
is_throw_out | bool | ระบุว่าจะลบผู้ใช้ออกจาก journey เมื่อบรรลุ goal หรือไม่ |
is_cancel_event | bool | ระบุว่านี่เป็น goal เชิงลบ (การยกเลิก) หรือไม่ |
Exit points
Anchor link toterminator
Anchor link toสิ้นสุด journey สำหรับผู้ใช้ POINT_TYPE_EXIT อ็อบเจกต์ว่าง ({}) และไม่มี output
{ "point_type": "POINT_TYPE_EXIT", "point_data": { "terminator": {} }, "outputs": [] }Messaging points
Anchor link tomessaging point ทั้งหมดจะส่งผ่าน channel และใช้ envelope ร่วมกัน แต่ละจุดมี output default เพียงหนึ่งเดียว เว้นแต่จะเปิดใช้งาน splitter (ดู output keys)
ฟิลด์ทั่วไป:
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
application_code | string | รหัสแอปพลิเคชัน |
preset_code | string | Preset (เทมเพลต) ที่จะส่ง inapp ใช้ richmedia_code แทน |
content / title | string | เนื้อหาข้อความแบบอินไลน์ เมื่อไม่ได้ใช้ preset (ขึ้นอยู่กับ channel) |
campaign_code | string | รหัสแคมเปญ สำหรับการติดตาม จะถูกสร้างขึ้นโดยอัตโนมัติหากไม่ระบุ |
split_params | BehaviorSplitter | เป็นทางเลือก: รอการโต้ตอบและแยกสาขาตามนั้น |
message_type | enum | ประเภทข้อความ Marketing vs transactional (ควบคุมการจัดการ control-group) |
ประเภท Point และฟิลด์พิเศษที่น่าสนใจ:
| ประเภท Point | point_data key | หมายเหตุ |
|---|---|---|
POINT_TYPE_SEND_PUSH | send_push | split_params (พฤติกรรม) บวกกับ delivery splitter สามารถสร้าง output ได้สูงสุดสามรายการ 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 | preset การตอบกลับด่วนจะเพิ่ม output หนึ่งรายการต่อการตอบกลับ (key = ค่าการตอบกลับ) ดู 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 |
Shared types
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ควบคุมจำนวน session ที่ใช้งานอยู่ที่ผู้ใช้สามารถมีได้ใน journey ในเวลาเดียวกัน จำลองมาจาก ควบคุมจำนวน session ที่ผู้ใช้สามารถมีได้ในเวลาเดียวกัน ใน Customer Journey builder ใช้โดย event entry point และ wait_event
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
enabled | bool | ระบุว่าผู้ใช้สามารถมี session ที่ใช้งานอยู่หลายรายการในเวลาเดียวกันได้หรือไม่ false: หนึ่ง session ที่ใช้งานอยู่ต่อผู้ใช้ true: หลาย session ที่ใช้งานอยู่ต่อผู้ใช้ |
attribute_name | string | เป็นทางเลือก attribute ของ event ที่กำหนดขอบเขตของแต่ละ session เมื่อตั้งค่าแล้ว ผู้ใช้สามารถมี session ที่ใช้งานอยู่หนึ่งรายการต่อค่าที่แตกต่างกันของ attribute นี้ (ตัวอย่างเช่น หนึ่งรายการต่อ order_id) event ที่มีค่าเดียวกันจะใช้ session ร่วมกัน ปล่อยว่างไว้เพื่อกำหนดขอบเขตรายการเข้าทั้งหมดของผู้ใช้ไว้ด้วยกัน |