บทความนี้จะแนะนำเกี่ยวกับการ Custom Response สำหรับใช้กับ Dialogflow ในส่วนของ Fulfillment
โดยส่วนใหญ่เหตุผลที่จะใช้ประโยนช์ส่วนของ Fulfillment มีประมาณนี้ครับ
- เพื่อสร้างการตอบสนองแบบไดนามิกตามข้อมูลที่ค้นหาจากฐานข้อมูล (Database)
- เพื่อวางคำสั่งซื้อผลิตภัณฑ์ ตามที่ลูกค้าต้องการ (Orders)
- เพื่อใช้กฎและเงื่อนไขการชนะ สำหรับเกม (Game)
สำหรับการ Custom Response เพื่อใช้กับฟีเจอร์ Fulfillment ก็สามารถทำเองได้ง่ายๆ 2 วิธีดังนี้
- ใช้ Cloud function for firebase
- สร้าง Webhook ด้วย Node.js
1. ใช้ Cloud function for firebase
แบบใช้ Cloud function for firebase สามารถแบ่งออกได้อีก 2 วิธี
- Dialogflow Inline Editor (แนะนำ)
- Firebase CLI
แบบที่ 1: Dialogflow Inline Editor (Recommended)
แบบนี้คือ เราทำการเขียน code เพิ่มเติมลงใน Editor ในหน้าเว็บได้เลย และสามารถกด Deploy ทันทีจากหน้าเว็บ วิธีนี้ค่อยข้างง่ายและสะดวก ถ้าไม่ชอบยุ่งยากแนะนำวิธีนี้ เรามาดูกันเลยดีกว่า ว่ามีวิธีการทำอย่างไรบ้าง ลุยยย++
- สร้าง Dialogflow Agent
- เลือกเมนู Fulfillment แล้วก็ Enable Inline Editor
- จากนั้นเราสามารถเขียนฟังก์ชั่นการทำงานหรือประมวลผลที่เราต้องการเพิ่มเติมเข้าไป เมื่อเสร็จก็ Deploy เป็นอันเรียร้อยจ้า+++ (รอระบบ deploy ประมาณ 2–3 นาที)
แบบที่ 2: Firebase CLI
- สร้าง Dialogflow Agent
- คัดลอก Source code ลงเครื่อง
$ git clone https://github.com/dialogflow/fulfillment-webhook-nodejs.git $ cd to the functions directory $ npm install
3. ติดตั้ง Firebase CLI
$ npm install -g firebase-tools
4. ล็อกอินข้าสู่ระบบด้วย Google Account
$ firebase login
7. เพิ่ม project to the sample with $ firebase use <project ID>
- In Dialogflow console under Settings ⚙ > General tab > copy Project ID.
8. Run firebase deploy --only functions:dialogflowFirebaseFulfillment
9. เมื่อ deploy เสร็จเรียบร้อยแล้ว ให้เข้าไปยังหน้า Firebase Console เลือกโปรเจค และจากนั้นคัดลอก Link URL ใต้คอลัมน์ ทริกเกอร์ (Events column)
รูปแบบตัวอย่าง Link URL:
https://us-central1-<PROJECTID>.cloudfunctions.net/<FUNCTIONNAME>
10. กลับมาที่หน้า Dialogflow Console แล้วนำ URL ที่คัดลอกมาจากขั้นตอนก่อนหน้า มาใส่ใน ช่อง URL* (ถ้า web service ของเรามีการตั้งค่า Basic Authen หรือ Headers ก็อย่าลืมใส่ด้วยน่ะ)
เสร็จแล้วก็กด Save เป็นอันเสร็จเรียบร้อย
สามารถติดตาม ตอนอื่นๆได้ที่
(ข้อมูลอาจมีข้อผิดพลาด ถ้าจะเอาบทความนี้ไปอ้างอิงที่อื่นให้ตรวจสอบให้ดีก่อนนะครับ ขอบคุณครับ)
สำหรับวันนี้ ต้องขอลาไปก่อน สวัสดีครับ NottDev :)