สำหรับบทความนี้จะสร้าง Web Service for Webhook ด้วย Node.js เนื่องจากมี library ที่ให้เราสามารถใช้งานได้ค่อยข้างสะดวก นั้นคือ Dialogflow Fulfillment Library
สามารถติดตั้ง Dialogflow Fulfillment Library ด้วยคำสั่ง
$ npm install dialogflow-fulfillment
สำหรับ index.js ก็ติดตั้ง express.js สำหรับเป็น web server (สำหรับรายละเอียดไม่ขอพูดในบทความนี้น่ะครับ) ซึ่งส่วนสำคัญคือ การสร้าง Route สำหรับรับ POST Request ผ่าน Webhook URL จาก Dialogflow จากนั้นเราก็สามารถเรียกใช้ WebhookClient เพื่อดึงค่าต่างๆจาก Dialogflow (Request Body) เช่น agentVersion, intent, locale, query หรือ session เป็นต้น ซึ่งเราสามารถนำค่าเหล่านี้มาใช้ประมวลผลต่อไปตามที่ต้องการ และสามารถ Response ค่าจากการคำนวณหรือประมวลจากระบบ ไปยัง Dialogflow เพื่อแสดงที่ผู้ใช้ต่อไปได้ครับ
โดยตัวอย่างที่เขียน คือ เมื่อผู้ใช้ถามเกี่ยวกับ “ที่ตั้ง” ก็จะเข้า intent “Location” จากนั้น Dialogflow ก็ triggle ทำการส่ง POST Request มายัง URL Webhook และเข้ามายัง route POST /Webhook จากนั้นก็สั่งให้ Response กลับไปว่า “Welcome to Thailand.”
ตัวอย่าง Code ของ index.js
Source Code on Github
References:
(ข้อมูลอาจมีข้อผิดพลาด ถ้าจะเอาบทความนี้ไปอ้างอิงที่อื่นให้ตรวจสอบให้ดีก่อนนะครับ ขอบคุณครับ)
สำหรับวันนี้ ต้องขอลาไปก่อน สวัสดีครับ NottDev :)