跳到内容

在 Journey 中使用 Webhook 响应数据

当您从 Webhook 响应中映射值时,Pushwoosh 会将它们存储为变量,您可以在 Journey 的后续步骤中使用这些变量,就像使用事件属性 (Event attribute)一样。

使用“更新用户个人资料”将 Webhook 值保存为标签

Anchor link to

Webhook 可以从外部系统返回数据,例如 CRM 用户 ID 或订阅状态,而这些数据 Pushwoosh 尚未存储在用户个人资料中。更新用户个人资料 (Update user profile) 会将映射的值保存为标签 (Tags),以便您可以在细分 (segments)动态内容 (dynamic content) 和后续的 Journey 步骤中使用它们。

示例:将 CRM 用户 ID 保存为标签

Anchor link to

新用户在您的应用中注册后,Journey 会在您的 CRM 中创建一个匹配的记录。将返回的 CRM 用户 ID 保存为标签 (Tag),可以让您稍后(例如从另一个 Journey 或后续的 Webhook 调用中)引用或更新同一个 CRM 记录,而不是在用户每次重新进入 Journey 时都创建一个重复的记录。

Journey 流程: 基于触发器的入口 (Trigger-based Entry) → Webhook → 更新用户个人资料 (Update user profile) → 结束分支

  1. 创建一个 Journey,使用 SignUp 事件作为基于触发器的入口 (Trigger-based Entry)
  2. 在入口步骤后添加一个 Webhook 元素。为其命名(例如,在 CRM 中创建用户),并将请求 URL 设置为您的 CRM 创建用户端点。
  3. 响应映射 (Response mapping)中,将路径 (Path) 设置为响应中的 ID 字段(例如,data.user.id),并将属性 (Attribute) 设置为 crm_user_id
Webhook 响应映射,路径为 data.user.id,属性为 crm_user_id
  1. Webhook 步骤后添加一个更新用户个人资料 (Update user profile) 元素。

  2. 在**动态标签值 (Dynamic Tag Value)中,点击 + 动态值 (+ Dynamic Value)。在标签 (Tag)中,选择存储 CRM ID 的标签(如果需要,请提前创建)。在事件 (Event)中,通过您为其指定的名称(在 CRM 中创建用户)选择 Webhook 步骤。在动态值 (Dynamic Value)**中,选择 crm_user_id

动态标签值,标签为 CRM ID,事件为 Webhook 步骤,动态值为 crm_user_id
  1. 结束分支 — 添加一个退出 (Exit) 元素或不设置传出连接。
在“更新用户个人资料”步骤后以“退出”结束的 Journey 分支

使用“时间延迟”根据 Webhook 值安排延迟

Anchor link to

访问日期、续订截止日期和交付窗口通常存在于外部预订或计费系统中。在 Webhook 从 API 响应中映射日期后,时间延迟 (Time Delay) 可以暂停 Journey 直到那一刻,例如在预约前 2 天,以便下一条消息能准时发出。

示例:根据响应中的日期安排提醒

Anchor link to

用户在您的应用中预约。Journey 从您的预订系统中获取访问日期,并在访问前 2 天发送推送提醒。

  1. 创建一个 Journey,使用 AppointmentBooked 事件作为基于触发器的入口 (Trigger-based Entry)
  2. 在入口步骤后添加一个 Webhook 元素。为其命名(例如,获取预约详情),并将请求 URL 设置为您的预订系统 API。
  3. 响应映射 (Response mapping)中,将路径 (Path) 设置为响应中的日期字段(例如,appointment.date),并将属性 (Attribute) 设置为 visit_date
带有响应映射的 Webhook 步骤,将 appointment.date 映射到 visit_date
  1. Webhook 步骤后添加一个时间延迟 (Time Delay) 元素。选择基于用户/事件数据 (Based on user/event data),将从…获取日期 (Get date from) 设置为事件 (Event),将事件 (Event) 设置为您为其指定的名称(获取预约详情)的 Webhook 步骤,将事件值 (Event value) 设置为 visit_date,并将延迟设置为之前 (Before) 2 天 (Days)
根据 Webhook 的 visit_date 配置的时间延迟,偏移量为“之前 2 天”
  1. 如果用户可以在访问前不到 2 天进行预订,请在时间延迟 (Time Delay) 元素上启用如果日期在过去或日期为空则拆分为分支 (Split to branches if the date’s in the past or date is empty)。这将创建两个分支:在过去 (In the past)在将来 (In the future)。请参阅当日期在过去或为空时拆分分支
  2. 添加一个包含提醒消息的推送 (Push) 步骤。如果启用了拆分,请在两个分支中都添加此推送 (Push)在过去 (In the past)(立即发送)和在将来 (In the future)(在时间延迟 (Time Delay) 之后)。
  3. 结束每个分支 — 添加一个退出 (Exit) 元素或不设置传出连接。
时间延迟拆分为“在过去”和“在将来”分支,每个分支都有推送和退出步骤

注意事项

Anchor link to
  • 路径语法 (Path syntax): 使用点分隔的路径(例如,data.user.id)。不支持通配符和过滤器。有关详细信息,请参阅 Webhook 响应映射
  • 响应大小 (Response size): 大于 64 KB 的响应不会被处理以进行映射。
  • 测试 (Testing): 在实时 Journey 中使用映射值之前,请在 Webhook 元素中运行测试 Webhook (Test webhook)