Webhook
Webhook ช่วยให้คุณสามารถส่งข้อมูล Journey ไปยังบริการภายนอก เช่น ระบบวิเคราะห์, ระบบ CRM และเครื่องมือทางการตลาด คุณสามารถ:
- แจ้งเตือนระบบภายนอกเมื่อลูกค้าดำเนินการบางอย่างใน Journey
- ส่งข้อมูลลูกค้าไปยังเครื่องมือวิเคราะห์
- ทริกเกอร์อีเมล, SMS หรือ WhatsApp ของบุคคลที่สามตามเหตุการณ์เฉพาะใน Journey
วิธีตั้งค่าองค์ประกอบ Webhook
Anchor link toเพิ่มองค์ประกอบ Webhook
Anchor link toลากและวางองค์ประกอบ Webhook ไปยัง canvas วาง Webhook ไว้ที่ใดก็ได้ที่คุณต้องการ โดยคำนึงถึงข้อมูล Journey ที่คุณจะส่งไปยังบริการของบุคคลที่สาม

ตั้งชื่อขั้นตอน Webhook และระบุ URL และประเภทของคำขอ
Anchor link toในช่อง STEP NAME ให้ป้อนชื่อสำหรับ Webhook การตั้งชื่อ Webhook ตามบริการที่ส่งข้อมูลไปหรือตามกรณีการใช้งานอาจเป็นประโยชน์
ถัดไป ในช่อง URL ให้ระบุ URL ของคำขอที่จะส่งข้อมูลไป ถัดจากช่อง URL ให้เลือกประเภทของคำขอจากเมนูแบบเลื่อนลง REQUEST TYPE: GET หรือ POST

กำหนดค่า Headers
Anchor link toในส่วน HEADERS ให้ตั้งค่าประเภทของเนื้อหา
โดยค่าเริ่มต้น ประเภทของเนื้อหาคือ application/json หากบริการที่คุณส่ง Webhook ไปต้องการประเภทเนื้อหาอื่น ให้ป้อนประเภทที่เหมาะสมในค่า Header ของ Content-Type
ตัวอย่างของประเภทเนื้อหาได้แก่:
x-www-form-urlencodedtext/plaintext/xml
เพิ่ม Header เพิ่มเติมหากจำเป็นโดยคลิก + ADD HEADER คุณสามารถลบ Header ใดๆ ได้โดยคลิกไอคอน ‘x’ ที่อยู่ถัดไป
เพิ่ม Header การยืนยันตัวตนใดๆ ที่ Endpoint ของคุณต้องการ ตัวอย่างเช่น:
Authorization: Bearer <token>X-Api-Key: <key>Authorization: Basic <base64(user:pass)>
รองรับเฉพาะ Secret แบบคงที่ใน Header เท่านั้น ไม่รองรับขั้นตอนการแลกเปลี่ยนโทเค็น OAuth2, mTLS และการลงนามคำขอบนฝั่ง Pushwoosh คุณยังสามารถจำกัด Endpoint ให้เข้าถึงได้เฉพาะจากที่อยู่ IP ของ Pushwoosh แทนหรือเพิ่มเติมจาก Header Secret ได้อีกด้วย ดู ที่อยู่ IP ของ Pushwoosh
สำหรับการยืนยันตัวตนแบบ HTTP Basic โดยเฉพาะ ให้ทำดังต่อไปนี้:
- เปิดโปรแกรมแก้ไขข้อความธรรมดาแล้วพิมพ์ชื่อผู้ใช้และรหัสผ่านของคุณโดยไม่มีเว้นวรรค คั่นด้วยเครื่องหมายโคลอน ตัวอย่างเช่น:
myuser:mypass - เข้ารหัสสตริงนี้เป็น Base64
- คัดลอกสตริง Base64 ที่ได้ (ตัวอย่างเช่น
bXl1c2VyOm15cGFzcw==) - ในการตั้งค่า Webhook ให้เพิ่ม Header Authorization พร้อมค่า:
Basic <YOUR BASE64 STRING>ตรวจสอบให้แน่ใจว่ามีเว้นวรรคหลังคำว่า “Basic”

เพิ่มเนื้อหาคำขอ JSON
Anchor link toในส่วน DATA ให้ป้อนเนื้อหาคำขอ JSON ของคุณ ตรวจสอบให้แน่ใจว่าเนื้อหาคำขออยู่ในรูปแบบ JSON ที่ถูกต้อง
ตัวอย่าง:
{ "hwid": "{{device:hwid}}"}ใช้ข้อมูลไดนามิกและมาโคร
Anchor link toแผง DATA BUILDER ช่วยให้คุณสามารถแทรกข้อมูลไดนามิก (เช่น ข้อมูลผู้ใช้, อุปกรณ์, Tag หรือเหตุการณ์) ลงในเนื้อหาคำขอ JSON ของคุณได้โดยตรง ด้วย Dynamic Data คุณสามารถรวมค่าเฉพาะสำหรับผู้ใช้แต่ละรายที่กำลังดำเนินไปใน Journey ได้
สำหรับสิ่งนี้:
- เลือก หมวดหมู่ คุณสามารถดึงข้อมูลจากสามหมวดหมู่:
-
Device: ใช้ข้อมูลอุปกรณ์เมื่อคุณต้องการข้อมูลทางเทคนิคที่ผูกกับอุปกรณ์ของผู้ใช้
-
Tag: ใช้ข้อมูล Tag เมื่อคุณต้องการส่งข้อมูลที่จัดเก็บไว้ในโปรไฟล์ผู้ใช้
-
Event: ใช้ข้อมูลเหตุการณ์เมื่อ Webhook ควรส่งค่าจากเหตุการณ์ที่ทริกเกอร์ Journey
- เลือก พารามิเตอร์ (ตัวอย่างเช่น HWID, หมวดหมู่โปรด ฯลฯ)
- Pushwoosh จะสร้างมาโครที่มีลักษณะดังนี้:
{{tag:Language}}- คัดลอกมาโครและวางลงในเนื้อหา JSON ของคุณในส่วน DATA
เมื่อ Webhook ทำงานใน Journey ที่ใช้งานจริง Pushwoosh จะแทนที่มาโครด้วยค่าจริงสำหรับผู้ใช้นั้นโดยอัตโนมัติ

แมปข้อมูลการตอบกลับของ Webhook กับตัวแปร
Anchor link toนอกจากการส่งข้อมูลออกไปแล้ว องค์ประกอบ Webhook ยังสามารถจับข้อมูลจากการตอบกลับที่ได้รับและเปลี่ยนเป็นตัวแปรได้อีกด้วย จากนั้นตัวแปรเหล่านี้สามารถนำไปใช้ในภายหลังใน Journey ได้ ตัวอย่างเช่น ตั้งค่า Tag ด้วย อัปเดตโปรไฟล์ผู้ใช้ หรือกำหนดเวลา Time Delay ตามค่าที่ส่งกลับมาจากบริการภายนอก สำหรับตัวอย่าง Journey แบบเต็ม โปรดดูที่ การใช้ข้อมูลการตอบกลับของ Webhook ใน Journey ของคุณ
ในส่วน RESPONSE MAPPING ให้คลิก + ADD MAPPING และกรอกข้อมูลในสองช่องสำหรับแต่ละค่าที่คุณต้องการจับ:
- Path: ตำแหน่งของค่าภายในเนื้อหา JSON ของการตอบกลับ
- Attribute: ชื่อที่คุณใช้อ้างอิงถึงค่านี้ในภายหลังใน Journey

ตัวอย่างเช่น หาก CRM ของคุณตอบกลับด้วย:
{ "data": { "user": { "id": "789xyz" } }}ตั้งค่า Path เป็น data.user.id และ Attribute เป็น crm_user_id เพื่อจับ ID นั้น
การหมดเวลา, การลองใหม่ และคำขอที่ล้มเหลว
Anchor link toPushwoosh จะรอการตอบกลับนานสูงสุด 10 วินาที ขั้นตอน Webhook ทั้งหมด รวมถึงการส่งคำขอและการประมวลผลการตอบกลับ ถูกจำกัดไว้ที่ 30 วินาที ผู้เดินทางแต่ละคนจะทริกเกอร์คำขอหนึ่งครั้ง และไม่มีการลองใหม่อัตโนมัติ
สิ่งนี้ครอบคลุมเฉพาะตัวคำขอที่ไม่สามารถดำเนินการให้เสร็จสิ้นได้เท่านั้น การตอบกลับที่มาถึงแต่ไม่สามารถแมปได้อย่างสมบูรณ์ เช่น JSON ที่ไม่ถูกต้อง, Path ที่ไม่สามารถแก้ไขได้ หรือเนื้อหาที่เกิน 64 KB จะไม่ทำให้ผู้เดินทางออกจาก Journey ดูหมายเหตุใต้ การแมปการตอบกลับ ด้านบน
ทดสอบ Webhook
Anchor link toคลิก Test webhook เพื่อตรวจสอบว่าการกำหนดค่า Webhook ของคุณถูกต้องและคำขอถูกส่งสำเร็จ
บันทึกการกำหนดค่าของคุณ
Anchor link toคลิก Apply เพื่อบันทึกการกำหนดค่า Webhook ของคุณ