คลังข้อมูลบริการลูกค้า - Oho Chat help center /
สำหรับนักพัฒนา /
การใช้งานข้อความตอบกลับแชท (แชทบอท) ด้วย API
บน Oho Chat ผู้ใช้งานสามารถตั้งค่าข้อความตอบกลับแชท โดยให้ระบบไปดึงรูปแบบการตอบกลับจาก API ได้ โดยจะต้องมีรูปแบบข้อมูลตามที่ Oho Chat กำหนด
เนื้อหาในหน้านี้
- วิธีการตั้งค่า
- รูปแบบของไฟล์ JSON
- Messages payload
- รูปแบบ JSON body ของการตอบกลับรูปแบบข้อความ
- รูปแบบ JSON body ของการตอบกลับรูปแบบรูปภาพ, ไฟล์
- รูปแบบ JSON body ของการตอบกลับรูปแบบการ์ด carousel
- Quick replies payload
- รูปแบบ JSON body ของการตอบกลับรูปปุ่มข้อความ
- วิธีการคัดลอก ID ของข้อความตอบกลับแชท
- ตัวอย่างรูปแบบไฟล์ JSON
วิธีการตั้งค่า
- เข้าสู่หน้าข้อความตอบกลับแชทที่ต้องการตั้งค่า โดยการคลิกปุ่ม
แชทบอททางซ้ายมือ → เลือกแท็บตอบกลับแชท→ เลือกข้อความตอบกลับแชทที่ต้องการ - ตั้งค่าเงื่อนไขการทำงานและรูปแบบการตรวจจับ
- เลือกแท็บ
APIบริเวณการตอบกลับ แล้วคลิกปุ่มแก้ไข - กรอก URL ของ API ที่ต้องการให้ทาง Oho Chat ไปดึงข้อมูล *จำเป็น
- ในส่วนนี้ผู้ใช้งานสามารถแนบตัวแปรได้ดังนี้
- ข้อความจากลูกค้า → {{User message}}
- รหัสลูกค้าจาก Facebook หรือ LINE → {{Platform user id}}
- รหัสลูกค้า/ห้องแชทบน Oho Chat → {{Oho user id}}
- ชื่อลูกค้า → {{ชื่อลูกค้า}}
- ชื่อธุรกิจ → {{ชื่อธุรกิจ}}
- ชื่อบัญชีโซเซียลมีเดีย → {{ชื่อบัญชีโซเชียลมีเดีย}}
- เลือก Method ที่ต้องการใช้ดึงข้อมูล *จำเป็น
- กำหนด parameter ที่ต้องการแนบไปด้วย (ถ้ามี)
- กรอก Requests Body (ถ้ามี)
รูปแบบของไฟล์ JSON
Oho chat จะทำการแปลง JSON body ที่ได้รับจาก API เป็นข้อความ, รูปภาพ, การ์ด carousel และ ปุ่ม quick replies โดยจะต้องมีรูปแบบดังนี้
**URI ต้องเป็นภาษาอังกฤษทั้งหมด (encode URI)
Messages payload
ในส่วนของ Messages payload จะประกอบไปด้วยการตอบกลับในรูปแบบ ข้อความ, รูปภาพ, ไฟล์ โดยรวมกันแล้วจะต้องไม่เกิน 5 บับเบิ้ล
รูปแบบ JSON body ของการตอบกลับรูปแบบข้อความ
Key | Description | Type of value |
type | กรณีเป็นข้อความให้กำหนด value เป็น “text” | String |
text | ข้อความใน 1 บับเบิ้ล (ไม่เกิน 2,000 ตัวอักษร) | String |
รูปแบบ JSON body ของการตอบกลับรูปแบบรูปภาพ, ไฟล์
{
"type": "image",
"media_title": "know_oho_more",
"media_size": 100,
"media_content_type": "image",
"mediaUrl": "https://storage.googleapis.com/production.storage.oho.chat/files/6363a4379ad041ae8af1e543/6597a35bf24493fbeda38cf8.png",
}Key | Description | Type of value |
type | สามารถระบุประเภทได้ 2 ประเภทดังนี้
- รูปภาพ ให้กำหนด value เป็น “image”
- ไฟล์ ให้กำหนด value เป็น “file” | String |
media_title | ชื่อของรูปภาพ | String |
media_size | ขนาดของรูปภาพ (หน่วยเป็นเปอร์เซนต์ของรูปภาพ)
* แนะนำภาพอัตราส่วน 3:2 (600x400px) | Number |
media_content_type | สามารถระบุประเภทได้ 2 ประเภทดังนี้
- รูปภาพ ให้กำหนด value เป็น “image”
- ไฟล์ ให้กำหนด value เป็น “file” | String |
mediaUrl | Path ของรูปภาพหรือไฟล์ | String |
รูปแบบ JSON body ของการตอบกลับรูปแบบการ์ด carousel
Key | Description | Type of value |
type | กรณีเป็นการ์ดให้กำหนด value เป็น “carousel” | String |
items | ข้อมูลของการ์ดแต่ละใบ | array of objects |
order_index | ลำดับของการ์ด | Number |
title | ชื่อของการ์ด (ไม่เกิน 40 ตัวอักษร) | String |
description | คำอธิบายการ์ด (ไม่เกิน 40 ตัวอักษร) | String |
mediaType | ประเภทให้กำหนด Value เป็น “image” | String |
mediaUrl | Path ของรูปภาพในการ์ดที่จะให้แสดงในการ์ด | String |
actions | คำสั่งของแต่ละปุ่มในการ์ด (มีปุ่มได้มากสุด 3 ปุ่ม) | array of objects |
order_index | ลำดับของปุ่มในการ์ด | Number |
text | ชื่อของปุ่มในการ์ด | String |
type | คำสั่งของแต่ละปุ่ม โดยสามารถกำหนดได้ 3 คำสั่งดังนี้
- เปิดลิงก์ URL ให้กำหนด value เป็น “link”
- Web view app ให้กำหนด value เป็น “webview”
- ไปที่ข้อความตอบกลับอื่น ให้กำหนด value เป็น “postback” | String |
payload | id และชื่อของข้อความตอบกลับแชทที่ต้องลิงก์ไป โดยมีรูปแบบดังนี้
"art_id={id ของข้อความตอบกลับแชท}&label={encode ชื่อข้อความตอบกลับแชท}" | String |
uri | Path ของเว็บไซต์ที่ต้องการเปิด | String |
ข้อควรระวัง
- กรณีที่มีรูปภาพในการ์ด ทุกการ์ดจะต้องมีรูปภาพ
- กรณีที่มีปุ่มในการ์ด ทุกการ์ดจะต้องมีปุ่มเท่ากัน
- กรณีที่มีคำอธิบายการ์ด ทุกการ์ดจะต้องมีคำอธิบาย
Quick replies payload
Quick replies payload คือ ปุ่มข้อความที่ผู้ใช้งานสามารถกำหนดคำสั่งการทำงานให้ลิงก์ไปยังข้อความตอบกลับอื่นหรือเปิดเว็บไซต์ภายนอกได้ โดยมีได้มากสุด 13 ปุ่ม
รูปแบบ JSON body ของการตอบกลับรูปปุ่มข้อความ
Key | Description | Type of value |
order_index | ลำดับของปุ่ม | Number |
text | ชื่อของปุ่มในการ์ด (ไม่เกิน 20 ตัวอักษร) | String |
type | คำสั่งของแต่ละปุ่ม ซึ่งมีเพียง 1 คำสั่งนั้นคือ ไปที่ข้อความตอบกลับอื่น โดยให้ กำหนด value เป็น “postback” | String |
payload | id และชื่อของข้อความตอบกลับแชทที่ต้องลิงก์ไป โดยมีรูปแบบดังนี้
"art_id={id ของข้อความตอบกลับแชท}&label={encode ชื่อข้อความตอบกลับแชท}" | String |
วิธีการคัดลอก ID ของข้อความตอบกลับแชท
- เข้าสู่หน้าข้อความตอบกลับแชทที่ต้องการ โดยการคลิกปุ่ม
แชทบอททางซ้ายมือ → เลือกแท็บตอบกลับแชท→ เลือกข้อความตอบกลับแชทที่ต้องการ - คัดลอกรหัสข้อความตอบกลับแชทจาก URL
https://app.oho.chat/business/ID ธุรกิจ/auto-raeply/ID ของข้อความตอบกลับแชท