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

การใช้ข้อมูลการตอบกลับของ webhook ใน journey ของคุณ

ภาพรวม

Anchor link to

เมื่อคุณแมปค่าจากการตอบกลับของ webhook Pushwoosh จะจัดเก็บค่าเหล่านั้นเป็นตัวแปรที่คุณสามารถใช้ในภายหลังใน journey ใน Update user profile, Time Delay และการปรับแต่งเนื้อหาในแบบส่วนตัว เช่นเดียวกับที่คุณใช้ Event attribute ข้อยกเว้นหนึ่งคือ Condition split: ไม่สามารถแยกสาขาตามตัวแปร webhook ได้โดยตรง เนื่องจากต้องการค่าที่มีการประกาศประเภท (Tag หรือ Event attribute) และค่า webhook ที่แมปไว้ไม่มีประเภท ดูที่ เปรียบเทียบค่า webhook ใน Condition split ด้านล่าง

บันทึกค่า webhook เป็น Tag ด้วย Update user profile

Anchor link to

Webhook สามารถส่งคืนข้อมูลจากระบบภายนอก เช่น CRM user ID หรือสถานะการสมัครสมาชิก ซึ่ง Pushwoosh ยังไม่ได้จัดเก็บไว้ในโปรไฟล์ผู้ใช้ Update user profile จะบันทึกค่าที่แมปไว้เป็น Tags เพื่อให้คุณสามารถใช้ใน segments dynamic content และขั้นตอน journey ในภายหลัง

ตัวอย่าง: บันทึก CRM user ID เป็น Tag

Anchor link to

ผู้ใช้ใหม่ลงทะเบียนในแอปของคุณ และ journey จะสร้างระเบียนที่ตรงกันใน CRM ของคุณ การบันทึก CRM user ID ที่ส่งคืนมาเป็น Tag ช่วยให้คุณสามารถอ้างอิงหรืออัปเดตระเบียน CRM เดียวกันได้ในภายหลัง เช่น จาก journey อื่นหรือการเรียก Webhook ติดตามผล แทนที่จะสร้างระเบียนซ้ำทุกครั้งที่ผู้ใช้เข้าสู่ journey อีกครั้ง

โฟลว์ของ Journey: Trigger-based Entry → Webhook → Update user profile → สิ้นสุดสาขา

  1. สร้าง journey ด้วย Trigger-based Entry บน event SignUp
  2. เพิ่มองค์ประกอบ Webhook หลังจากขั้นตอนการเข้าสู่ระบบ ตั้งชื่อ (เช่น Create user in CRM) และตั้งค่า URL คำขอไปยัง endpoint สร้างผู้ใช้ของ CRM ของคุณ
  3. ใน Response mapping ตั้งค่า Path เป็นฟิลด์ ID ในการตอบกลับ (เช่น data.user.id) และ Attribute เป็น crm_user_id
การแมปการตอบกลับของ Webhook ด้วย Path data.user.id และ Attribute crm_user_id
  1. เพิ่มองค์ประกอบ Update user profile หลังจากขั้นตอน Webhook

  2. ใน Dynamic Tag Value คลิก + Dynamic Value ใน Tag เลือก Tag ที่จัดเก็บ CRM ID (สร้างไว้ล่วงหน้าหากจำเป็น) ใน Event เลือกขั้นตอน webhook ตามชื่อที่คุณตั้งไว้ (Create user in CRM) ใน Dynamic Value เลือก crm_user_id

Dynamic Tag Value ที่มี Tag สำหรับ CRM ID, ขั้นตอน Event Webhook และ Dynamic Value crm_user_id
  1. สิ้นสุดสาขา — เพิ่มองค์ประกอบ Exit หรือปล่อยไว้โดยไม่มีการเชื่อมต่อขาออก
สาขา Journey สิ้นสุดด้วย Exit หลังจากขั้นตอน Update user profile

กำหนดเวลาหน่วงจากค่า webhook ด้วย Time Delay

Anchor link to

วันที่เข้าชม กำหนดเวลาต่ออายุ และช่วงเวลาจัดส่งมักจะอยู่ในระบบการจองหรือการเรียกเก็บเงินภายนอก หลังจาก Webhook แมปวันที่จากการตอบกลับของ API แล้ว Time Delay สามารถหยุด journey ชั่วคราวจนถึงช่วงเวลานั้นได้ เช่น 2 วันก่อนการนัดหมาย เพื่อให้ข้อความถัดไปส่งออกไปตรงเวลา

ตัวอย่าง: กำหนดเวลาการแจ้งเตือนจากวันที่ในการตอบกลับ

Anchor link to

ผู้ใช้จองการนัดหมายในแอปของคุณ journey จะดึงวันที่เข้าชมจากระบบการจองของคุณและส่งการแจ้งเตือนแบบพุช 2 วันก่อนการเข้าชม

  1. สร้าง journey ด้วย Trigger-based Entry บน event AppointmentBooked
  2. เพิ่มองค์ประกอบ Webhook หลังจากขั้นตอนการเข้าสู่ระบบ ตั้งชื่อ (เช่น Get appointment details) และตั้งค่า URL คำขอไปยัง API ของระบบการจองของคุณ
  3. ใน Response mapping ตั้งค่า Path เป็นฟิลด์วันที่ในการตอบกลับ (เช่น appointment.date) และ Attribute เป็น visit_date
ขั้นตอน Webhook พร้อมการแมปการตอบกลับสำหรับ appointment.date ไปยัง visit_date
  1. เพิ่มองค์ประกอบ Time Delay หลังจากขั้นตอน Webhook เลือก Based on user/event data ตั้งค่า Get date from เป็น Event ตั้งค่า Event เป็นขั้นตอน webhook ตามชื่อที่คุณตั้งไว้ (Get appointment details) ตั้งค่า Event value เป็น visit_date และตั้งค่าการหน่วงเวลาเป็น Before 2 Days
Time Delay ที่กำหนดค่าจาก webhook visit_date พร้อมออฟเซ็ต Before 2 Days
  1. หากผู้ใช้สามารถจองน้อยกว่า 2 วันก่อนการเข้าชม ให้เปิดใช้งาน Split to branches if the date’s in the past or date is empty บนองค์ประกอบ Time Delay ซึ่งจะสร้างสองสาขาคือ In the past และ In the future ดูที่ Split branches when the date is in the past or empty
  2. เพิ่มขั้นตอน Push พร้อมข้อความเตือนของคุณ หากเปิดใช้งานการแยกสาขา ให้เพิ่ม Push นี้ในทั้งสองสาขา: In the past (ส่งทันที) และ In the future (หลังจาก Time Delay)
  3. สิ้นสุดแต่ละสาขา — เพิ่มองค์ประกอบ Exit หรือปล่อยไว้โดยไม่มีการเชื่อมต่อขาออก
Time Delay แบ่งออกเป็นสาขา In the past และ In the future โดยแต่ละสาขามีขั้นตอน Push และ Exit

เปรียบเทียบค่า webhook ใน Condition split

Anchor link to

Condition split แยกสาขาตาม Segment, Tag หรือ Event attribute ที่มีการประกาศประเภท ค่าที่แมปจากการตอบกลับของ webhook ไม่มีประเภท ดังนั้นจึงไม่ปรากฏในเมนูแบบเลื่อนลงของ Condition split และไม่สามารถเปรียบเทียบได้โดยตรง

หากต้องการแยกสาขาตามค่า webhook ก่อนอื่นให้บันทึกเป็น Tag ของประเภทที่ตรงกันด้วย Update user profile จากนั้นเปรียบเทียบ Tag นั้นใน Condition split

ตัวอย่าง: แยกสาขาตามยอดคงเหลือของ webhook เทียบกับจำนวนเงินของ event ที่ทริกเกอร์

Anchor link to

ผู้ใช้ร้องขอการซื้อ และ journey จะตรวจสอบว่ายอดคงเหลือใน CRM ของพวกเขาครอบคลุมราคาจาก event ที่ทริกเกอร์หรือไม่ก่อนที่จะดำเนินการต่อ

โฟลว์ของ Journey: Trigger-based Entry → Webhook → Update user profile → Condition split

  1. สร้าง journey ด้วย Trigger-based Entry บน event PurchaseRequested พร้อม attribute ตัวเลข required_amount
  2. เพิ่มองค์ประกอบ Webhook หลังจากขั้นตอนการเข้าสู่ระบบ ใน Response mapping ตั้งค่า Path เป็นฟิลด์ยอดคงเหลือในการตอบกลับ (เช่น current_balance) และ Attribute เป็น current_balance
  3. เพิ่มองค์ประกอบ Update user profile หลังจากขั้นตอน Webhook ใน Dynamic Tag Value ตั้งค่า Tag เป็น Tag ตัวเลขประเภท Integer หรือ Price (สร้างไว้ล่วงหน้าหากจำเป็น เช่น Current_balance) Event เป็นขั้นตอน webhook และ Dynamic Value เป็น current_balance
  4. เพิ่มองค์ประกอบ Condition split หลังจาก Update user profile ตั้งค่าเงื่อนไขเป็น Tag Current_balance ตัวดำเนินการ greater or equals และสำหรับค่าให้เลือก Event attribute → event การเข้าสู่ระบบ → required_amount แทนค่าคงที่
  5. เชื่อมต่อแต่ละสาขาไปยังขั้นตอนถัดไป

ข้อควรจำ

Anchor link to
  • ไวยากรณ์ของ Path: ใช้เส้นทางที่คั่นด้วยจุด (เช่น data.user.id) หรือส่วน * เพื่อแมปทุกองค์ประกอบของอาร์เรย์ ไม่รองรับตัวกรอง ดู Map every element of an array สำหรับรายละเอียด
  • ขนาดการตอบกลับ: การตอบกลับที่ใหญ่กว่า 64 KB จะไม่ถูกประมวลผลสำหรับการแมป
  • Condition split: ค่า webhook ที่แมปไว้ไม่มีประเภทและไม่สามารถใช้ได้โดยตรง ให้บันทึกเป็น Tag ก่อน ดู เปรียบเทียบค่า webhook ใน Condition split
  • การทดสอบ: เรียกใช้ Test webhook ในองค์ประกอบ Webhook ก่อนที่คุณจะใช้ค่าที่แมปไว้ใน journey ที่ใช้งานจริง ยืนยันว่าคำขอสำเร็จ จากนั้นตรวจสอบเนื้อหาการตอบกลับเทียบกับแต่ละ Path ในแท็บ Calls log หากค่าดูไม่ถูกต้องสำหรับผู้เดินทางคนใดคนหนึ่งเมื่อ journey ใช้งานจริง ให้ตรวจสอบแถวของผู้เดินทางคนนั้นใน Calls log
  • รายการในการตอบกลับ: ใช้ * ใน Path เพื่อแมปทุกรายการ เลือก item_{n} สำหรับ attribute แยกต่างหาก หรือชื่อที่ไม่มี {n} สำหรับสตริงที่คั่นด้วยจุลภาคหนึ่งสตริง ดัชนี Path เริ่มต้นที่ 0 ชื่อ {n} เริ่มต้นที่ 1 จะมีการแมปองค์ประกอบสูงสุด 50 รายการแรก ดู Map every element of an array