การอ้างอิง Point
ทุก point จะมีอ็อบเจกต์ point_data ที่มีคีย์ซ้อนกันเพียงหนึ่งคีย์ ซึ่งตรงกับ point_type ของ point นั้น (ดู การจับคู่ point-type → key) หน้านี้จะอธิบายโครงสร้างภายใต้แต่ละคีย์
จุดเริ่มต้น (Entry points)
Anchor link toJourney หนึ่งต้องมีจุดเริ่มต้นอย่างน้อยหนึ่งจุด ทุกจุดเริ่มต้นจะมี output เริ่มต้นเพียงหนึ่งเดียว
start_by_segment
Anchor link toให้ผู้ใช้ที่ตรงกับ segment เข้ามา POINT_TYPE_START_BY_SEGMENT
| Field | Type | Description |
|---|---|---|
application_code | string | Application code |
filter_code | string | Segment/filter code ที่กำหนดกลุ่มเป้าหมาย |
repeat | SegmentRepeat | ตารางการเข้าซ้ำที่เป็นทางเลือก (ดู SegmentRepeat) |
start_at | timestamp | ห้ามประมวลผลก่อนเวลานี้ (ISO 8601) |
is_deactivated | bool | ระบุว่าจุดเริ่มต้นนี้ปิดอยู่หรือไม่ |
message_bus (การเข้าด้วย event)
Anchor link toให้ผู้ใช้เข้ามาเมื่อพวกเขากระตุ้น event POINT_TYPE_EVENT
| Field | Type | Description |
|---|---|---|
event_name | string | ชื่อ Event ที่จะรอรับฟัง |
application_code | string | Application code |
event_conditions | PointEventCondition[] | เงื่อนไขที่จับคู่กับ attribute ของ event |
active_period | Period | ช่วงเวลาที่ทริกเกอร์ทำงาน |
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
| Field | Type | Description |
|---|---|---|
enabled | bool | ระบุว่าจะลงทะเบียนผู้ใช้ที่ระบุชื่อใน attribute ของ event แทนผู้ใช้ที่กระตุ้น event หรือไม่ |
attribute_name | string | ชื่อของ attribute ของ event ที่เก็บ User ID (หรือรายการ User ID) ที่จะลงทะเบียน |
start_by_api
Anchor link toจุดเริ่มต้นที่ได้รับข้อมูลจากการเรียก Start by API POINT_TYPE_START_BY_API
| Field | Type | Description |
|---|---|---|
application_code | string | Application code |
attributes | string[] | ชื่อของ custom attribute ที่สามารถส่งผ่านใน attribute_values ของคำขอ Start by API |
is_deactivated | bool | ระบุว่าจุดเริ่มต้นนี้ปิดอยู่หรือไม่ |
จุดตั้งเวลา (Timing points)
Anchor link todelay (รอ)
Anchor link toหยุดผู้ใช้แต่ละคนชั่วคราวตามช่วงเวลาที่กำหนดหรือคำนวณได้ POINT_TYPE_WAIT อ็อบเจกต์ point_data.delay จะตั้งค่าคีย์ช่วงเวลาต่อไปนี้เพียงหนึ่งคีย์:
| Interval key | Type | Description |
|---|---|---|
sec | uint64 | รอเป็นจำนวนวินาทีที่กำหนด |
exact_time | ExactTime | รอจนถึงเวลาของวัน (hour, minute) |
exact_date_time | ExactDateTime | รอจนถึงวันที่และเวลาที่แน่นอน |
exact_week_days_time | ExactWeekDaysTime | รอจนถึงเวลาที่ระบุในวันของสัปดาห์ที่ระบุ (แผนที่ของวัน 0=จันทร์ … 6=อาทิตย์ → ExactTime) |
dynamic_time | DynamicTime | รอโดยอิงตามค่าจาก tag หรือ event |
dynamic_time ที่มี split_branches: true จะเพิ่มสาขา output1 (ดู คีย์ output)
DynamicTime
Anchor link to| Field | Type | Description |
|---|---|---|
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 เริ่มต้นคือเส้นทางที่ ไม่ถูกกระตุ้น เส้นทางที่ถูกกระตุ้นคือ output1 หรือหากมีสคริปต์ จะเป็นหนึ่งสาขาต่อหนึ่งเงื่อนไข
| Field | Type | Description |
|---|---|---|
events | PointWaitEventInfo[] | Event ที่จะรอ |
conditions_script | string | สคริปต์ทางเลือกสำหรับตรรกะหลาย event ที่ซับซ้อน ชื่อเงื่อนไขที่ถูกแยกวิเคราะห์จะกลายเป็นคีย์ output |
multi_entry | MultiEntry | พฤติกรรมการเข้าซ้ำ |
จุดแยกและกรอง (Splitting and filtering points)
Anchor link toboolean_splitter
Anchor link toส่งผู้ใช้ไปยังสาขาต่างๆ ตามเงื่อนไข POINT_TYPE_BOOLEAN_SPLITTER
| Field | Type | Description |
|---|---|---|
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 เพิ่มขึ้นหนึ่งสาขาต่อนิพจน์ |
event | BooleanSplitterEventInfo | เงื่อนไข Event เมื่อ split_strategy เป็น SPLIT_EVENTS: จะมีสาขา output เพิ่มขึ้นหนึ่งสาขาต่อเงื่อนไข |
ab_splitter
Anchor link toสุ่มแยกผู้ใช้ไปยังตัวแปรต่างๆ ที่มีน้ำหนัก POINT_TYPE_AB_SPLITTER คีย์ output คือ output0, output1, … (หนึ่งคีย์ต่อหนึ่งรายการใน split โดยเริ่มจากดัชนี 0 ไม่มี default)
| Field | Type | Description |
|---|---|---|
split | uint32[] | เปอร์เซ็นต์สำหรับแต่ละสาขา ต้องรวมกันได้ 100 ดัชนี i จะจับคู่กับคีย์ output 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
| Field | Type | Description |
|---|---|---|
filter | enum Filter | การตรวจสอบที่กำหนดไว้ล่วงหน้า: EMAIL_EXISTS, PUSH_TOKEN_EXISTS, SMS_TOKEN_EXISTS, WHATSAPP_TOKEN_EXISTS, LINE_TOKEN_EXISTS หรือ CUSTOM |
filter_raw | string | นิพจน์ตัวกรองที่กำหนดเอง เมื่อ filter เป็น CUSTOM |
จุดกระทำ (Action points)
Anchor link toset_tags
Anchor link toอัปเดต tag ของผู้ใช้ POINT_TYPE_SET_TAGS
| Field | Type | Description |
|---|---|---|
application_code | string | Application code |
tags | Tag[] | Tag ที่จะเขียน |
| Field | Type | Description |
|---|---|---|
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 | คีย์ค่าที่ตรงกับ type เพียงหนึ่งคีย์: str, int, bool, date, price, version, timezone, list หรือ dynamic |
web_hook
Anchor link toส่งคำขอ HTTP ขาออก POINT_TYPE_WEBHOOK มี output เริ่มต้นเพียงหนึ่งเดียว
| Field | Type | Description |
|---|---|---|
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
Anchor link togoal_event
Anchor link toติดตามเป้าหมาย conversion POINT_TYPE_GOAL_EVENT ไม่มี output
| Field | Type | Description |
|---|---|---|
event_name | string | ชื่อ event ของ Goal |
application_code | string | Application code |
event_conditions | PointEventCondition[] | เงื่อนไขที่จับคู่กับ attribute ของ event ของ goal |
is_throw_out | bool | ระบุว่าจะลบผู้ใช้ออกจาก journey หรือไม่เมื่อบรรลุเป้าหมายแล้ว |
is_cancel_event | bool | ระบุว่านี่เป็นเป้าหมายเชิงลบ (การยกเลิก) หรือไม่ |
จุดออก (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 toจุดส่งข้อความทั้งหมดจะส่งผ่านช่องทางและใช้ซองจดหมายร่วมกัน แต่ละจุดมี output เริ่มต้นเพียงหนึ่งเดียว เว้นแต่จะเปิดใช้งานตัวแยก (ดู คีย์ output)
ฟิลด์ทั่วไป:
| Field | Type | Description |
|---|---|---|
application_code | string | Application code |
preset_code | string | Preset (เทมเพลต) ที่จะส่ง inapp จะใช้ richmedia_code แทน |
content / title | string | เนื้อหาข้อความในบรรทัด เมื่อไม่ได้ใช้ preset (ขึ้นอยู่กับช่องทาง) |
campaign_code | string | รหัสแคมเปญ สำหรับการติดตาม จะถูกสร้างขึ้นโดยอัตโนมัติหากละไว้ |
split_params | BehaviorSplitter | ทางเลือก: รอการโต้ตอบและแยกสาขาตามนั้น |
message_type | enum | ประเภทข้อความ การตลาดเทียบกับการทำธุรกรรม (ควบคุมการจัดการกลุ่มควบคุม) |
ประเภทของ Point และฟิลด์พิเศษที่น่าสนใจ:
| Point type | point_data key | Notes |
|---|---|---|
POINT_TYPE_SEND_PUSH | send_push | split_params (พฤติกรรม) บวกกับตัวแยกการจัดส่งสามารถสร้าง 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 ต่อหนึ่งการตอบกลับ (คีย์ = ค่าการตอบกลับ) ดู 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| Field | Type | Description |
|---|---|---|
enabled | bool | ระบุว่าการเข้าซ้ำเปิดอยู่หรือไม่ |
frequency | string | daily, weekly, monthly หรือ dates |
every | uint32 | ทำซ้ำทุก N ช่วงเวลา |
dates | string[] | วันที่ระบุ เมื่อ frequency เป็น dates |
time | SegmentRepeatTime | การกำหนดค่าเวลาของวัน |
อ็อบเจกต์เวลา
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| Field | Type | Description |
|---|---|---|
enabled | bool | ระบุว่าจะรอการโต้ตอบและแยกสาขาตามนั้นหรือไม่ |
interval | uint64 | จำนวนวินาทีที่จะรอการโต้ตอบ |
MultiEntry
Anchor link toควบคุมจำนวนเซสชันที่ใช้งานอยู่ที่ผู้ใช้สามารถมีได้ใน journey ในเวลาเดียวกัน สะท้อนการทำงานของ ควบคุมจำนวนเซสชันที่ผู้ใช้สามารถมีได้ในเวลาเดียวกัน ในเครื่องมือสร้าง Customer Journey ใช้โดย จุดเริ่มต้น event และ wait_event
| Field | Type | Description |
|---|---|---|
enabled | bool | ระบุว่าผู้ใช้สามารถมีเซสชันที่ใช้งานอยู่หลายรายการในเวลาเดียวกันได้หรือไม่ false: หนึ่งเซสชันที่ใช้งานอยู่ต่อผู้ใช้ true: หลายเซสชันที่ใช้งานอยู่ต่อผู้ใช้ |
attribute_name | string | ทางเลือก attribute ของ event ที่กำหนดขอบเขตของแต่ละเซสชัน เมื่อตั้งค่าแล้ว ผู้ใช้สามารถมีหนึ่งเซสชันที่ใช้งานอยู่ต่อหนึ่งค่าที่แตกต่างกันของ attribute นี้ (ตัวอย่างเช่น หนึ่งเซสชันต่อ order_id) event ที่มีค่าเดียวกันจะใช้เซสชันร่วมกัน เว้นว่างไว้เพื่อกำหนดขอบเขตรายการทั้งหมดของผู้ใช้ไว้ด้วยกัน |