ข้ามไปยังเนื้อหา

ออบเจ็กต์ Journey

เมธอด lifecycle, create และ update ทั้งหมดจะส่งคืนออบเจ็กต์ Journey ที่มีรูปร่างระดับบนสุดเหมือนกัน:

Shape
{
"info": { ... }, // read-only metadata (responses only)
"params": { ... }, // journey-wide configuration (create / update)
"points": [ ... ], // canvas nodes and their connections
"comments": [ ... ] // canvas comments
}

เมื่อคุณ สร้าง (create) หรือ อัปเดต (update) Journey คุณจะส่ง title, params, points และ comments การตอบกลับจะส่งคืน info (ซึ่งมี params) พร้อมด้วย points และ comments

ข้อมูลเมตาของ Journey แบบอ่านอย่างเดียว (Read-only) ส่งคืนโดยทุกเมธอด v3 ไม่ใช่ส่วนหนึ่งของเนื้อหาคำขอ (request body)

ฟิลด์ประเภทคำอธิบาย
uuidstringJourney ID
titlestringชื่อ Journey
statusJourneyStatusสถานะปัจจุบัน
created_atstringการประทับเวลาที่สร้าง (ISO 8601)
updated_atstringการประทับเวลาที่อัปเดตล่าสุด (ISO 8601)
is_first_activatedboolระบุว่า Journey ได้เริ่มต้นอย่างน้อยหนึ่งครั้งหรือไม่
paramsJourneyParamsการกำหนดค่าทั่วทั้ง Journey
category_uuidstringUUID ของหมวดหมู่ หรือเว้นว่างไว้หากไม่มีหมวดหมู่
pointCountsmap<string, uint32>จำนวน point ตามประเภท
campaign_typeCampaignTypeวิธีที่ผู้ใช้เข้าสู่ Journey
stop_reasonstringเหตุผลที่ Journey หยุดทำงาน (ถ้ามี)
last_edited_byUserผู้ใช้ที่แก้ไข Journey ล่าสุด
dynamic_entryboolระบุว่าเปิดใช้งานการเข้าแบบไดนามิก (dynamic entry) หรือไม่

JourneyParams

Anchor link to

การกำหนดค่าทั่วทั้ง Journey ส่งเมื่อสร้าง/อัปเดต และส่งคืนภายใน info.params

ฟิลด์ประเภทคำอธิบาย
application_codestringApplication code ที่ Journey เป็นส่วนหนึ่ง จำเป็นต้องระบุเมื่อสร้าง
silent_hoursSilentHoursช่วงเวลาที่ข้อความจะถูกระงับต่อช่องทาง
cappingEntryCappingจำกัดความถี่ที่ผู้ใช้สามารถเข้าสู่ Journey ซ้ำได้
conversion_windowConversionWindowกรอบเวลาสำหรับการระบุ conversion ของเป้าหมาย
user_id_track_change_policyUserIDTrackChangePolicyวิธีจัดการเมื่อ ID ของผู้ใช้เปลี่ยนแปลงกลาง Journey

SilentHours

Anchor link to

ระงับการส่งในช่วงเวลาที่กำหนด (quiet hours) กำหนดค่า ต่อช่องทาง (per channel): แต่ละช่องทางใช้ SilentHoursParams ของตัวเอง:

ฟิลด์ประเภทคำอธิบาย
push_paramsSilentHoursParamsSilent hours สำหรับ push notifications
inapp_paramsSilentHoursParamsSilent hours สำหรับ in-app messages
email_paramsSilentHoursParamsSilent hours สำหรับอีเมล
sms_paramsSilentHoursParamsSilent hours สำหรับ SMS
whatsapp_paramsSilentHoursParamsSilent hours สำหรับ WhatsApp
line_paramsSilentHoursParamsSilent hours สำหรับ LINE

แต่ละ SilentHoursParams คือ:

ฟิลด์ประเภทคำอธิบาย
enabledboolระบุว่า silent hours มีผลกับช่องทางนี้หรือไม่
from_timeTimeเวลาเริ่มต้นของช่วงเวลาที่กำหนด: { "hour": 0–23, "minute": 0–59 }
to_timeTimeเวลาสิ้นสุดของช่วงเวลาที่กำหนด
week_daysbool[]ค่าบูลีนเจ็ดค่าสำหรับวันที่กรอบเวลามีผล (วันจันทร์ = index 0)
behaviorenumสิ่งที่ต้องทำเมื่อข้อความตกอยู่ในช่วง silent hours: WaitAndSend (พักไว้ แล้วส่งเมื่อสิ้นสุดช่วงเวลา), DropAndGo (ข้ามข้อความ แล้วดำเนิน Journey ต่อทันที) หรือ WaitAndDrop (รอจนสิ้นสุดช่วงเวลา แล้วดำเนินต่อโดยไม่ส่ง)

EntryCapping

Anchor link to

จำกัดความถี่ที่ผู้ใช้คนเดียวกันสามารถเข้าสู่ Journey ได้

ฟิลด์ประเภทคำอธิบาย
is_enabledboolระบุว่าเปิดใช้งานการจำกัดการเข้า (entry capping) หรือไม่
perioduint64จำนวนวินาทีขั้นต่ำระหว่างการเข้าของผู้ใช้แต่ละครั้ง

ConversionWindow

Anchor link to
ฟิลด์ประเภทคำอธิบาย
secondsuint64ระยะเวลาหลังจากเข้าสู่ Journey ที่การบรรลุเป้าหมายของผู้ใช้ยังคงนับเป็น conversion

Point คือโหนดบน Journey canvas: จุดเริ่มต้น (entry point), ข้อความ, การหน่วงเวลา (delay), ตัวแยก (splitter) และอื่นๆ

ฟิลด์ประเภทคำอธิบาย
uuidstringID ที่ไม่ซ้ำกันของ point ภายใน Journey ต้องเป็น UUID ตามมาตรฐาน RFC 4122: เลขฐานสิบหก 32 หลักในกลุ่ม 8-4-4-4-12
titlestringชื่อที่แสดงของ point
point_typePointTypeประเภทของโหนด
outputsarray of PointOutputการเชื่อมต่อไปยัง point ถัดไป
positionPositionพิกัดบน canvas
point_dataobjectคีย์ที่ซ้อนกันเพียงหนึ่งคีย์ ซึ่งตรงกับ point_type (ดูตาราง ประเภท point)

PointOutput

Anchor link to

Output ของ point คือสาขาขาออก คีย์ของมัน ไม่ใช่รูปแบบอิสระ ตัวตรวจสอบ (validator) คาดหวังชุดคีย์ที่แน่นอนสำหรับแต่ละประเภท point และจะปฏิเสธ Journey ที่มี point ที่มีจำนวน output ไม่ถูกต้องหรือมีคีย์ที่ไม่รู้จัก

ฟิลด์ประเภทคำอธิบาย
identity.keystringคีย์ของสาขา ต้องเป็นไปตาม กฎของคีย์ output ด้านล่าง
identity.orderintลำดับการแสดงผลของสาขา
info.titlestringป้ายกำกับสาขา (ไม่บังคับ)
info.next_point_uuidstringUUID ของ point ถัดไปที่สาขานี้เชื่อมต่อถึง ไม่บังคับ — การเว้นว่างไว้จะสิ้นสุด Journey สำหรับผู้ใช้ เช่นเดียวกับ point terminator ที่ระบุอย่างชัดเจน

Output keys

Anchor link to

สาขาเริ่มต้น (สาขาแรก) จะมีชื่อว่า "default" เสมอ สาขาเพิ่มเติมจะมีชื่อว่า "output1", "output2", … (คำนำหน้า output ตามด้วยดัชนีที่เริ่มจาก 1) มี point สองประเภทที่ฝ่าฝืนกฎนี้ ซึ่งระบุไว้ด้านล่าง

ประเภท pointคีย์ output ที่คาดหวัง
จุดเริ่มต้น (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ไม่มี (ไม่มี output)
FILTERdefault, output1
BOOLEAN_SPLITTERdefault จากนั้น output1outputN (หนึ่งสาขาเพิ่มเติมต่อเงื่อนไข การแยกแบบใช่/ไม่ใช่แบบง่ายคือ default + output1)
WAIT (delay)default การหน่วงเวลาแบบไดนามิกพร้อมการแยกสาขาจะเพิ่ม output1
WAIT_EVENTdefault คือสาขาที่ event-not-triggered (เหตุการณ์ไม่ถูกทริกเกอร์) output1 (หรือหนึ่งสาขาต่อเงื่อนไขด้วยสคริปต์เงื่อนไข) คือเส้นทางที่ถูกทริกเกอร์
SEND_PUSH พร้อมตัวแยกdefault, output1 (และ output2 เมื่อเปิดใช้งานทั้งตัวแยกข้อความและตัวแยกการจัดส่ง)
SEND_EMAIL / SEND_SMS / SEND_LINE / SEND_WHATSAPP พร้อมตัวแยกdefault, output1
SEND_WHATSAPP พร้อม preset การตอบกลับด่วนdefault พร้อมด้วยหนึ่งสาขาต่อการตอบกลับด่วน (quick reply) คีย์คือค่าของการตอบกลับด่วนนั้นเอง
AB_SPLITTERoutput0, output1, output2, … (หนึ่งรายการต่อแต่ละรูปแบบ ไม่มีสาขา default)
ฟิลด์ประเภทคำอธิบาย
xfloatพิกัดแนวนอนบน canvas
yfloatพิกัดแนวตั้งบน canvas

ประเภท point และ point_data

Anchor link to

point_data เป็นแบบ one-of: มันมีออบเจ็กต์ซ้อนกันเพียงหนึ่งรายการซึ่งคีย์ถูกกำหนดโดย point_type ของ point

point_typeคีย์ point_dataวัตถุประสงค์
POINT_TYPE_START_BY_SEGMENTstart_by_segmentการเข้า: ผู้ใช้ที่ตรงกับ segment
POINT_TYPE_EVENTmessage_busการเข้า: ผู้ใช้ที่ทริกเกอร์ event
POINT_TYPE_START_BY_APIstart_by_apiการเข้า: ผู้ใช้ที่ถูกเพิ่มผ่านการเรียก Start by API
POINT_TYPE_WAITdelayรอตามช่วงเวลาที่กำหนดหรือแบบไดนามิก
POINT_TYPE_WAIT_EVENTwait_eventรอจนกว่า event จะเกิดขึ้น
POINT_TYPE_SEND_PUSHsend_pushส่ง push notification
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ส่งข้อความข้อมูลแบบเงียบ (silent data message)
POINT_TYPE_INAPPinappแสดง in-app message
POINT_TYPE_BOOLEAN_SPLITTERboolean_splitterแยกผู้ใช้ตามเงื่อนไข (segment, tag หรือ event)
POINT_TYPE_AB_SPLITTERab_splitterแยกผู้ใช้เป็นกลุ่ม A/B
POINT_TYPE_FILTERfilterอนุญาตให้เฉพาะผู้ใช้ที่ตรงกับตัวกรอง (filter) ดำเนินการต่อ
POINT_TYPE_SET_TAGSset_tagsอัปเดต tag ของผู้ใช้
POINT_TYPE_WEBHOOKweb_hookส่งคำขอ HTTP ขาออก
POINT_TYPE_GOAL_EVENTgoal_eventติดตามเป้าหมาย conversion
POINT_TYPE_AUDIENCE_SYNCaudience_syncซิงค์ผู้ใช้กับ audience ภายนอก
POINT_TYPE_EXITterminatorออกจาก Journey

ตัวอย่าง point

Anchor link to

point “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
ฟิลด์ประเภทคำอธิบาย
idstringUUID ของความคิดเห็น
messagestringข้อความของความคิดเห็น
positionPositionพิกัดบน canvas
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: ผู้ใช้เข้าสู่ระบบเมื่อมี event
  • AudienceBased: ผู้ใช้เข้าสู่ระบบจาก segment
  • APIBased: ผู้ใช้เข้าสู่ระบบผ่านการเรียก Start by API
  • Mixed: มีประเภทการเข้ามากกว่าหนึ่งประเภท
  • Unknown: ไม่ได้กำหนดประเภทการเข้า

PointType enum

Anchor link to

ดูตาราง ประเภท point ด้านบนสำหรับรายการทั้งหมดและคีย์ point_data ที่แต่ละรายการแมปไป

UserIDTrackChangePolicy enum

Anchor link to

ควบคุมสิ่งที่เกิดขึ้นกับผู้ใช้ที่อยู่ระหว่าง Journey เมื่อ User ID ของพวกเขาเปลี่ยนแปลง:

  • DEFAULT: พฤติกรรมเริ่มต้น
  • TRACK: ติดตามผู้ใช้ต่อไปภายใต้ ID ใหม่
  • DROP: นำผู้ใช้ออกจาก Journey เมื่อ ID ของพวกเขาเปลี่ยนแปลง

ที่เกี่ยวข้อง

Anchor link to