跳到内容

Journey 对象

生命周期创建和更新 方法都会返回一个具有相同顶级结构的 Journey 对象:

结构
{
"info": { ... }, // 只读元数据(仅在响应中)
"params": { ... }, // Journey 范围的配置(创建/更新)
"points": [ ... ], // 画布节点及其连接
"comments": [ ... ] // 画布评论
}

当您 创建更新 一个 Journey 时,您需要发送 titleparamspointscomments。响应会返回 info(其中包含 params)以及 pointscomments

只读的 Journey 元数据。由每个 v3 方法返回。不属于请求正文的一部分。

字段类型描述
uuidstringJourney ID
titlestringJourney 名称。
statusJourneyStatus当前状态。
created_atstring创建时间戳 (ISO 8601)。
updated_atstring最后更新时间戳 (ISO 8601)。
is_first_activatedboolJourney 是否至少启动过一次。
paramsJourneyParamsJourney 范围的配置。
category_uuidstring类别的 UUID,如果未分类则为空。
pointCountsmap<string, uint32>按类型统计的 point 数量。
campaign_typeCampaignType用户进入 Journey 的方式。
stop_reasonstringJourney 停止的原因(如果适用)。
last_edited_byUser最后编辑此 Journey 的用户。
dynamic_entrybool是否启用了动态进入。

JourneyParams

Anchor link to

Journey 范围的配置。在创建/更新时发送,并在 info.params 内返回。

字段类型描述
application_codestringJourney 所属的 Application code。创建时必需。
silent_hoursSilentHours每个渠道的消息静默时段。
cappingEntryCapping对用户可以重新进入 Journey 的频率限制。
conversion_windowConversionWindow用于归因目标转化的时间窗口。
user_id_track_change_policyUserIDTrackChangePolicy如何处理用户在 Journey 中途 ID 发生变化的情况。

SilentHours

Anchor link to

在静默时段内抑制发送。按渠道 配置:每个渠道都有自己的 SilentHoursParams

字段类型描述
push_paramsSilentHoursParams推送通知的静默时段。
inapp_paramsSilentHoursParams应用内消息的静默时段。
email_paramsSilentHoursParams电子邮件的静默时段。
sms_paramsSilentHoursParams短信的静默时段。
whatsapp_paramsSilentHoursParamsWhatsApp 的静默时段。
line_paramsSilentHoursParamsLINE 的静默时段。

每个 SilentHoursParams 的结构如下:

字段类型描述
enabledbool静默时段是否适用于此渠道。
from_timeTime静默窗口的开始时间:{ "hour": 0–23, "minute": 0–59 }
to_timeTime静默窗口的结束时间。
week_daysbool[]七个布尔值,表示窗口适用的星期(星期一 = 索引 0)。
behaviorenum当消息落入静默时段时应采取的措施:WaitAndSend(暂存,窗口结束后发送)、DropAndGo(跳过消息,立即继续 Journey)或 WaitAndDrop(等待窗口结束,然后不发送消息继续 Journey)。

EntryCapping

Anchor link to

限制同一用户进入 Journey 的频率。

字段类型描述
is_enabledbool是否启用进入限制。
perioduint64用户两次进入之间的最小秒数。

ConversionWindow

Anchor link to
字段类型描述
secondsuint64用户进入 Journey 后,其目标完成仍被计为转化的时间长度。

Point 是 Journey 画布上的一个节点:入口点、消息、延迟、分割器等。

字段类型描述
uuidstringPoint 在 Journey 内的唯一 ID。必须是规范的 RFC 4122 UUID:32 个十六进制数字,分为 8-4-4-4-12 组。
titlestringPoint 的显示名称。
point_typePointType节点的种类。
outputsarray of PointOutput到下游 Point 的连接。
positionPosition画布坐标。
point_dataobject只有一个嵌套键,与 point_type 匹配(参见 point 类型 表)。

PointOutput

Anchor link to

一个 Point 的 output 是其传出的分支。它们的键 不是自由格式的。验证器期望每种 Point 类型都有一组确切的键,并会拒绝那些 Point 具有错误数量的 output 或无法识别的键的 Journey。

字段类型描述
identity.keystring分支键。必须遵循下面的 output 键规则
identity.orderint分支的显示顺序。
info.titlestring可选的分支标签。
info.next_point_uuidstring此分支连接到的下一个 Point 的 UUID。

Output 键

Anchor link to

默认(第一个)分支总是命名为 "default"。其他分支命名为 "output1""output2"……(前缀 output 后跟一个从 1 开始的索引)。有两种 Point 类型打破了此规则,如下所述。

Point 类型预期的 output 键
入口点 (START_BY_SEGMENT, START_BY_API, EVENT)、INAPPSET_TAGSWEBHOOKAUDIENCE_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事件未触发 分支。output1(或者,如果有条件脚本,则每个条件一个分支)是触发路径
SEND_PUSH 带有分割器default, output1(当消息和交付分割器都开启时,还有 output2
SEND_EMAIL / SEND_SMS / SEND_LINE / SEND_WHATSAPP 带有分割器default, output1
SEND_WHATSAPP 带有快速回复预设default,外加每个快速回复一个分支。键是快速回复值本身
AB_SPLITTERoutput0, output1, output2, …(每个变体一个。没有 default 分支
字段类型描述
xfloat画布上的水平坐标。
yfloat画布上的垂直坐标。

Point 类型和 point_data

Anchor link to

point_data 是一个 one-of 结构:它只包含一个嵌套对象,其键由 Point 的 point_type 决定。

point_typepoint_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发送推送通知。
POINT_TYPE_SEND_EMAILsend_email发送电子邮件。
POINT_TYPE_SEND_SMSsend_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按条件(Segment、Tag 或 Event)分割用户。
POINT_TYPE_AB_SPLITTERab_splitter将用户分为 A/B 组。
POINT_TYPE_FILTERfilter只允许匹配过滤器的用户继续。
POINT_TYPE_SET_TAGSset_tags更新用户 Tag。
POINT_TYPE_WEBHOOKweb_hook发送一个出站 HTTP 请求。
POINT_TYPE_GOAL_EVENTgoal_event跟踪一个转化目标。
POINT_TYPE_AUDIENCE_SYNCaudience_sync将用户同步到外部受众。
POINT_TYPE_EXITterminator退出 Journey。

Point 示例

Anchor link to

一个带有单个下游连接的“设置 Tag” Point:

{
"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 枚举

Anchor link to

STATUS_DRAFTSTATUS_RUNNINGSTATUS_FINISHEDSTATUS_ARCHIVEDSTATUS_PAUSEDSTATUS_UNKNOWN

CampaignType 枚举

Anchor link to
  • TriggerBased:用户因事件进入。
  • AudienceBased:用户从 Segment 进入。
  • APIBased:用户通过 Start by API 调用进入。
  • Mixed:多种进入类型。
  • Unknown:未确定进入类型。

PointType 枚举

Anchor link to

请参阅上面的 point 类型 表,了解完整列表以及每种类型映射到的 point_data 键。

UserIDTrackChangePolicy 枚举

Anchor link to

控制当用户的 User ID 在 Journey 中途发生变化时会发生什么:

  • DEFAULT:默认行为。
  • TRACK:在新 ID 下继续跟踪用户。
  • DROP:当用户 ID 改变时,将用户从 Journey 中移除。