ตั้งค่าการส่ง Outbound Webhook
โรงแรมส่วนใหญ่ดำเนินการนี้เสร็จภายใน 5 ถึง 10 นาที
คู่มือนี้ช่วยให้คุณส่งเหตุการณ์ JSON guest_verified หลังการยืนยันผู้เข้าพักและการซิงค์ PMS
ไปที่: Settings → Outbound Webhook
การส่งทุกครั้งจะมี X-Vouch-Signature
ระบบรับของคุณควรตรวจสอบส่วนหัวนี้ก่อนเชื่อถือ payload
ทุกคนที่เข้าถึงหน้านี้จะเห็นค่าของ header ที่บันทึกไว้และ HMAC signing secret Delivery Logs จะแสดง payload ของคำขอฉบับเต็มและรายละเอียดการตอบกลับ บันทึกการเปลี่ยนแปลงในการตรวจสอบจะยังคงปกปิดค่าเหล่านี้ จำกัดการเข้าถึง Settings → Outbound Webhook และหลีกเลี่ยงการแชร์ภาพหน้าจอ
ข้อมูลอ้างอิงฉบับย่อ
| การตั้งค่า | ควบคุมอะไร | สิ่งที่คุณเห็น |
|---|---|---|
| Enabled | เปิดหรือปิดการส่ง outbound webhook | สวิตช์ยังเปิดอยู่หลังบันทึก |
| Webhook URL | URL ปลายทางสำหรับการส่ง | AVA ยอมรับ URL ของระบบรับของคุณ |
| Headers | header การยืนยันตัวตนแบบคงที่สำหรับระบบรับของคุณ | ค่าที่บันทึกไว้ยังมองเห็นได้หลังบันทึก |
| Payload Fields | ฟิลด์ผู้เข้าพักที่จะส่ง | การส่งจะแสดงเฉพาะฟิลด์ที่เลือกไว้ |
| Marketing consent | การใส่ marketingConsent ระดับบนสุด | การ์ดสถานะแสดง Included หรือ Omitted |
| Max attempts | จำนวนครั้งที่ลองใหม่สำหรับการส่งที่ล้มเหลว | ค่าจะอยู่ระหว่าง 1 ถึง 10 |
| HMAC signing secret | การเซ็น payload สำหรับการส่งแต่ละครั้ง | ค่าที่บันทึกไว้ยังมองเห็นได้ และจำเป็นเมื่อเปิดใช้หรือทดสอบ |
| Send Test | ส่งการส่งทดสอบหนึ่งครั้ง | การทดสอบล่าสุดปรากฏใน Delivery Logs |
| Delivery Logs | สถานะและ payload ของการส่งล่าสุด | คุณจะเห็น 10 รายการต่อหน้า พร้อมสถานะ จำนวนครั้ง HTTP status response body รายละเอียด payload และการนำทางระหว่างหน้า |
ก่อนเริ่มต้น
ตรวจสอบข้อมูลพื้นฐานต่อไปนี้:
- คุณมีสิทธิ์
settings:write - คุณทราบ URL ของระบบรับ
- คุณทราบ header การยืนยันตัวตนแบบคงที่ที่ต้องใช้
- คุณมี HMAC signing secret
- คุณทราบว่าระบบรับต้องการฟิลด์ผู้เข้าพักใดบ้าง
ค่าของ header ที่บันทึกไว้และ HMAC signing secret จะยังมองเห็นได้หลังบันทึก ป้อนค่าใหม่เมื่อคุณต้องการหมุนเวียน secret
ระบบจะส่งเมื่อใด
AVA จะส่ง webhook หลังการยืนยันผู้เข้าพักสำเร็จ
ชื่อเหตุการณ์คือ guest_verified
AVA จะไม่ส่ง webhook หากการซิงค์ PMS ล้มเหลว
คำขอใช้ JSON POST AVA จะใส่ header แบบคงที่ของคุณในการส่งทุกครั้ง
ตั้งค่า Webhook
เปิดใช้งาน
-
เปิด Enabled
-
ป้อน Webhook URL
-
คลิก Save
✓ AVA จะบันทึก endpoint ไว้สำหรับการส่งในอนาคต
เพิ่ม Custom Headers
ใช้ header เมื่อระบบรับของคุณคาดว่าจะได้รับการยืนยันตัวตนแบบคงที่
AVA จะส่ง header เหล่านี้ไปกับ JSON POST ทุกครั้ง
ตัวอย่างเช่น คุณสามารถส่ง Authorization: token api_key:api_secret
-
คลิก Add
-
ป้อนชื่อ header
-
ป้อนค่าของ header
-
เปิด Secret สำหรับค่าที่ละเอียดอ่อน
-
คลิก Save
✓ ค่าของ header ที่บันทึกไว้ยังมองเห็นได้หลังบันทึก
เลือก Payload Fields
เลือกฟิลด์ที่ระบบรับของคุณต้องการจากการ์ด Payload Fields แค็ตตาล็อกนี้รวมฟิลด์การจองและฟิลด์ทั้งหมดจาก Settings → Check-In → Registration Form Marketing consent ไม่ได้อยู่ในรายการเลือกนี้
-
เลือกฟิลด์แต่ละรายการที่ต้องการส่ง
-
ล้างการเลือกฟิลด์ที่ระบบรับไม่ต้องการ
-
คลิก Save
✓ การส่งในอนาคตจะแสดงเฉพาะฟิลด์ที่เลือกไว้
ฟิลด์ Payload ที่มีให้ใช้
| กลุ่ม | ฟิลด์ใน AVA | JSON property |
|---|---|---|
| Reservation | Confirmation number | reservation.confirmationNumber |
| Reservation | Arrival date | reservation.arrivalDate |
| Reservation | Departure date | reservation.departureDate |
| Guest | First name | guest.firstName |
| Guest | Last name | guest.lastName |
| Guest | guest.email | |
| Guest | Phone | guest.phone |
| Guest | Nationality | guest.nationality |
| Guest | Document number | guest.documentNumber |
| Guest | Date of birth | guest.birthDate |
| Guest | Postal code | guest.postalCode |
| Guest | Country of residence | guest.countryCode |
| Guest | Address | guest.addressLine |
| Guest | City | guest.cityName |
| Guest | State or province | guest.stateProv |
| Guest | Purpose of stay | guest.purposeOfStay |
| Guest | Estimated arrival time | guest.preCheckInTime |
| Guest | Gender | guest.gender |
| Guest | Occupation | guest.occupation |
| Guest | Place of departure | guest.placeOfDeparture |
| Guest | Next destination | guest.nextDestination |
| Guest | Departure time | guest.departureTime |
หากฟิลด์ที่เลือกไม่มีค่า AVA อาจไม่ใส่ property นั้นใน JSON Purpose of stay และ Estimated arrival time สามารถใช้ค่าการเช็กอินที่บันทึกไว้ AVA จะรวมส่วนต่าง ๆ ของที่อยู่สำหรับ Place of departure และ Next destination หากผู้เข้าพักเลือกที่อยู่ปัจจุบัน AVA จะใช้ที่อยู่นั้นเป็นปลายทาง
ตรวจสอบสถานะ Marketing Consent
การ์ด Marketing consent แสดงค่า 4 รายการ:
- Guest prompt — ผู้เข้าพักเห็นตัวเลือกยินยอมด้านการตลาดหรือไม่
- Collection setting — รูปแบบ consent ที่ PMS ของคุณใช้
- Registration field — มองเห็น Marketing consent หรือไม่
- Webhook payload — AVA ใส่
marketingConsentหรือไม่
รายการ Payload Fields ไม่เปลี่ยนค่าเหล่านี้
-
สำหรับ consent แบบละเอียด ให้เปิดใช้ Promotional Mailing List
-
สำหรับ consent แบบทั่วไป ให้เปิดใช้ Show marketing email opt-in during signature
-
ไปที่ Settings → Check-In → Registration Form
-
ตั้ง Show to เป็น All guests สำหรับ Marketing consent
-
บันทึกหน้าการตั้งค่าทั้งสองหน้า
✓ การ์ดสถานะแสดง Included เมื่อข้อกำหนดเบื้องต้นทั้งสองพร้อม ✓ AVA จะส่ง
trueหรือfalseตามตัวเลือกของผู้เข้าพัก
AVA จะไม่ใส่ marketingConsent เมื่อปิดตัวเลือก opt-in หรือซ่อนฟิลด์
การยินยอมให้ติดต่อทางโทรศัพท์และอีเมลเพียงอย่างเดียวไม่เปิดใช้ marketing consent
ตั้งค่าจำนวนครั้งที่ลองใหม่และ Signing Secret
ใช้การลองใหม่สำหรับการส่งที่ล้มเหลวชั่วคราว ตั้ง signing secret เพื่อให้ระบบรับตรวจสอบ payload แต่ละรายการได้
-
ป้อนค่าใน Max attempts
-
ใช้ค่าตั้งแต่ 1 ถึง 10
-
ป้อน HMAC signing secret
-
คลิก Save
✓ AVA จะลองใหม่เมื่อเกิดข้อผิดพลาด 429, 5xx และ timeout ✓ ข้อผิดพลาดด้าน validation และ authentication จะอยู่ใน log โดยไม่ลองใหม่
แทนที่ Secret ที่บันทึกไว้
ใช้ขั้นตอนนี้เมื่อมี header secret หรือ signing secret อยู่แล้ว ค่าที่บันทึกไว้ปัจจุบันจะแสดงโดยตรงในฟิลด์ของค่า secret
-
เลือกค่าปัจจุบันในฟิลด์ header หรือ HMAC
-
ป้อนค่าใหม่
-
คลิก Save
✓ ค่าใหม่จะแสดงหลังบันทึกและมีผลกับการส่งในอนาคต
ส่งการส่งทดสอบ
ใช้การส่งทดสอบหลังบันทึกการตั้งค่า การทดสอบจะใช้การตั้งค่าล่าสุดที่บันทึกไว้ และใช้ HMAC signing secret ที่บันทึกไว้ด้วย
-
คลิก Send Test
-
รอข้อความแจ้งว่าสำเร็จ
-
เปิด Delivery Logs เพื่อยืนยันว่ามีแถวใหม่ปรากฏ
✓ แถวล่าสุดจะแสดง test delivery
หากคุณเปลี่ยนแปลงสิ่งใดบนหน้า ให้บันทึกก่อนส่งการทดสอบ AVA จะปิดปุ่มทดสอบไว้จนกว่าจะล้างการเปลี่ยนแปลงที่บันทึกไม่เรียบร้อย
ตรวจสอบ Delivery Logs
Delivery Logs ช่วยให้คุณตรวจสอบความพยายามส่งล่าสุด แต่ละหน้าจะแสดง 10 แถว แต่ละแถวจะแสดงสถานะการส่ง เวลา จำนวนครั้ง HTTP status และรายละเอียด คุณยังสามารถเปิดดู request payload ฉบับเต็มและ response body ได้ ใช้ตัวควบคุมหน้าเพื่อเลื่อนไปดูการส่งที่เก่าหรือใหม่กว่า
| สถานะ | ความหมาย |
|---|---|
| delivered | ระบบรับยอมรับการส่งแล้ว |
| processing | AVA กำลังจัดการการส่งอยู่ |
| retrying | AVA จะลองส่งอีกครั้งภายหลัง |
| pending | AVA จัดคิวการส่งไว้แล้ว |
| failed | AVA หยุดลองส่งซ้ำแล้ว |
-
คลิก Refresh delivery logs เพื่อโหลดหน้าปัจจุบันใหม่
-
ใช้ First page, Previous, Next หรือ Last page เมื่อมีผลลัพธ์หลายหน้า
-
เปิดแถวเพื่อดูรายละเอียด response
-
ขยาย View request payload หากต้องการดู JSON ที่ส่ง
-
ขยาย View response เพื่อตรวจสอบ response body ที่ระบบรับส่งกลับมาแบบตรงตัว
✓ ตัวนับหน้าจะแสดง Page X of Y เมื่อมีหลายหน้า ✓ ตัวควบคุมจะยังใช้ได้จนกว่าจะถึงหน้าแรกหรือหน้าสุดท้าย
Delivery Logs จะแสดง payload ของคำขอฉบับจริงและ response body ที่ระบบรับส่งกลับมา payload อาจมีข้อมูลผู้เข้าพัก จึงควรขยายรายละเอียดเฉพาะเมื่อแก้ปัญหา
การแก้ปัญหา
หน้าไม่โหลด
สิ่งที่เห็น: คุณเห็น Unable to load outbound webhook settings
วิธีแก้:
- คลิก Retry
- รีเฟรชหน้า
- ยืนยันว่าคุณอยู่ใน property ที่ถูกต้อง
- หากจำเป็น ให้ลองอีกครั้งหลังลงชื่อเข้าใช้ใหม่
บันทึกไม่สำเร็จเมื่อเปิดใช้ webhook
สิ่งที่เห็น: การบันทึกล้มเหลวหลังเปิด Enabled
วิธีแก้:
- ป้อน HMAC signing secret
- บันทึกอีกครั้ง
- หากมีค่าอยู่แล้ว ให้แทนที่ค่าเดิมแทนการล้างค่า
Send Test ยังปิดใช้งานอยู่
สิ่งที่เห็น: Send Test ถูกปิดใช้งานหลังแก้ไขหน้า
วิธีแก้:
- คลิก Save ก่อน
- รอข้อความแจ้งว่าสำเร็จ
- ลอง Send Test อีกครั้ง
- ยืนยันว่าคุณมีสิทธิ์ในการตั้งค่า
Webhook URL ถูกปฏิเสธ
สิ่งที่เห็น: การบันทึกหรือการทดสอบล้มเหลวสำหรับ URL ปลายทางบางรายการ
วิธีแก้:
- ใช้ URL HTTPS สาธารณะ
- นำที่อยู่ private, reserved, loopback และ site-local ออก
- ลองอีกครั้งกับระบบรับที่เปิดให้สาธารณะเข้าถึง
Delivery Logs ยังว่างเปล่า
สิ่งที่เห็น: Delivery Logs ยังไม่แสดงแถว
วิธีแก้:
- คลิก Send Test
- รอเหตุการณ์การยืนยันผู้เข้าพัก
- คลิก Refresh delivery logs
- ตรวจสอบตัวนับหน้าและตัวควบคุมหน้า หากคาดว่าจะมีการส่งที่เก่ากว่า
- ตรวจสอบอีกครั้งหลังการเช็กอินครั้งถัดไปที่ตรงตามเงื่อนไข
- ใช้ Last page หากต้องการข้ามไปยังการส่งที่เก่ากว่าอย่างรวดเร็ว
ฟิลด์ Registration ใหม่ไม่ปรากฏ
สิ่งที่เห็น: ฟิลด์ Registration ไม่ปรากฏใน Payload Fields
วิธีแก้:
- รีเฟรช Settings → Outbound Webhook
- ยืนยันว่าหน้าโหลดโดยไม่มีข้อผิดพลาด
- ตรวจสอบฟิลด์กับตาราง Payload Fields Available ด้านบน
- เปิด Settings → Check-In → Registration Form
- ตั้ง Show to เป็น All guests หากผู้เข้าพักต้องระบุค่า
- บันทึก registration form แล้วโหลดหน้า webhook ใหม่
การควบคุมการมองเห็นจะกำหนดการเก็บข้อมูลผู้เข้าพัก แต่ไม่ได้กำหนดว่าฟิลด์จะปรากฏในแค็ตตาล็อก webhook หรือไม่
Marketing consent หายไปจาก payload
สิ่งที่เห็น: webhook ไม่มี marketingConsent
วิธีแก้:
- เปิด Settings → Check-In → Card & Consent
- เปิดใช้ตัวเลือก marketing opt-in ที่แสดงต่อผู้เข้าพักให้ถูกต้อง
- เปิด Settings → Check-In → Registration Form
- ตั้ง Show to เป็น All guests สำหรับ Marketing consent
- บันทึกหน้าการตั้งค่าทั้งสองหน้า
- ยืนยันว่าการ์ดสถานะแสดง Included
- ดำเนินการยืนยันผู้เข้าพักรายใหม่
AVA จะไม่ใส่ property นี้เมื่อผู้เข้าพักมองไม่เห็นตัวเลือก opt-in หรือฟิลด์ ติดต่อฝ่ายสนับสนุนหากมองเห็นการตั้งค่า แต่ property ยังคงหายไป
ยังแก้ปัญหาไม่ได้?
ติดต่อ success@vouch-technologies.com หาก:
- ❌ หน้ายังโหลดไม่ได้หลังลอง Retry แล้ว
- ❌ การบันทึกล้มเหลวหลังเพิ่ม HMAC signing secret
- ❌ การส่งทดสอบไม่ปรากฏใน log
แนบข้อมูลต่อไปนี้:
- URL ของระบบรับที่คุณกำลังใช้
- ชื่อ header ที่เพิ่มไว้
- ภาพหน้าจอการ์ด Delivery Logs ที่ปกปิด secret และข้อมูลผู้เข้าพักแล้ว