ศูนย์ช่วยเหลือ Easyrobin / สำหรับนักพัฒนา /
ให้แชทบอทตอบลูกค้าด้วยข้อมูลจาก API
ชุดข้อความตอบกลับแต่ละชุดใน Easyrobin เลือกได้ว่าจะตอบด้วยข้อความที่บันทึกไว้ หรือให้ระบบเรียก API ของคุณแล้วนำคำตอบมาส่งให้ลูกค้า คำตอบจาก API ต้องเป็น JSON ตามโครงสร้างที่อธิบายไว้ในหน้านี้
ขั้นตอนตั้งค่า
- เปิดเมนู
แชทบอทที่แถบด้านซ้าย แล้วเข้าชุดข้อความตอบกลับและกดเข้าไปในชุดข้อความที่จะให้ตอบด้วย API - กำหนดเงื่อนไขและคำที่ใช้จับข้อความของลูกค้าให้เรียบร้อย
- ในส่วนการตอบกลับ กดแท็บ
APIจากนั้นกดแก้ไข - ใส่ URL ของ API ที่ระบบจะเรียก (ต้องเป็น https) *จำเป็น
- ใน URL และ Request Body ใส่ตัวแปรเหล่านี้ได้ ระบบจะแทนค่าให้ทุกครั้งที่เรียก
- ข้อความที่ลูกค้าพิมพ์มา → {{User message}}
- รหัสของลูกค้าบนแพลตฟอร์มแชท เช่น Facebook หรือ LINE → {{Platform user id}}
- รหัสห้องแชทใน Easyrobin → {{Easyrobin user id}}
- ชื่อของลูกค้า → {{ชื่อลูกค้า}}
- ชื่อธุรกิจของคุณ → {{ชื่อธุรกิจ}}
- ชื่อบัญชีโซเชียลมีเดียที่ลูกค้าทักเข้ามา → {{ชื่อบัญชีโซเชียลมีเดีย}}
- ใน URL และ Request Body ใส่ตัวแปรเหล่านี้ได้ ระบบจะแทนค่าให้ทุกครั้งที่เรียก
- เลือก Method เป็น GET หรือ POST *จำเป็น
- เพิ่ม Headers เป็นคู่ Key และ Value ได้สูงสุด 10 คู่ (ไม่บังคับ)
- ใส่ Request Body เป็น JSON (ไม่บังคับ ใช้ได้กับ POST เท่านั้น) แล้วกด ยืนยัน

โครงสร้าง JSON ที่ API ต้องส่งกลับ
เมื่อ API ตอบกลับมา ระบบจะอ่าน JSON แล้วสร้างเป็นข้อความ รูปภาพ การ์ด carousel และปุ่มข้อความให้ลูกค้า โครงสร้างที่ต้องใช้มีดังนี้
ลิงก์และค่าที่เป็น URI ทุกตัวต้อง encode ให้เหลือแต่ตัวอักษรภาษาอังกฤษก่อนส่ง
Messages payload
Messages payload คือรายการข้อความที่จะส่งให้ลูกค้า ใส่ได้ทั้งข้อความ รูปภาพ และการ์ด รวมกันไม่เกิน 5 บับเบิ้ล ถ้าเกินระบบจะส่งเฉพาะ 5 รายการแรก
JSON สำหรับข้อความ
Key | Description | Type of value |
type | สำหรับข้อความ ใส่ค่า “text” | String |
text | ข้อความที่จะแสดงใน 1 บับเบิ้ล ยาวได้ไม่เกิน 2,000 ตัวอักษร | String |

JSON สำหรับรูปภาพ
{
"type": "image",
"media_title": "know_easyrobin_more",
"media_size": 100,
"media_content_type": "image",
"mediaUrl": "https://example.com/files/6363a4379ad041ae8af1e543/6597a35bf24493fbeda38cf8.png",
}Key | Description | Type of value |
type | ชนิดของสื่อ
- รูปภาพ ใส่ค่า “image”
- ระบบยังไม่ส่งไฟล์ทางแชท รายการที่ใส่ค่า “file” จะถูกข้ามไป | String |
media_title | ชื่อรูปภาพ (ระบบไม่ได้ใช้ค่านี้ จะใส่หรือไม่ใส่ก็ได้) | String |
media_size | ขนาดรูปภาพเป็นเปอร์เซ็นต์ (ระบบไม่ได้ใช้ค่านี้ จะใส่หรือไม่ใส่ก็ได้) | Number |
media_content_type | ชนิดของไฟล์ (ระบบไม่ได้ใช้ค่านี้)
- รูปภาพ ใส่ค่า “image”
- ไฟล์ ใส่ค่า “file” | String |
mediaUrl | ลิงก์ของรูปภาพ ต้องขึ้นต้นด้วย https | String |

JSON สำหรับการ์ด carousel
Key | Description | Type of value |
type | สำหรับการ์ด ใส่ค่า “carousel” | String |
items | รายการการ์ด ใบละ 1 object | array of objects |
order_index | ลำดับที่การ์ดใบนี้จะแสดง | Number |
title | หัวข้อการ์ด ยาวได้ไม่เกิน 40 ตัวอักษร | String |
description | ข้อความใต้หัวข้อการ์ด ยาวได้ไม่เกิน 40 ตัวอักษร | String |
mediaType | ชนิดของสื่อในการ์ด ใส่ค่า “image” | String |
mediaUrl | ลิงก์รูปภาพที่จะแสดงบนการ์ด ต้องขึ้นต้นด้วย https | String |
actions | ปุ่มบนการ์ด ใส่ได้ไม่เกิน 3 ปุ่มต่อการ์ด | array of objects |
order_index | ลำดับที่ปุ่มนี้จะแสดงบนการ์ด | Number |
text | ข้อความบนปุ่ม ยาวได้ไม่เกิน 20 ตัวอักษร | String |
type | สิ่งที่เกิดขึ้นเมื่อลูกค้ากดปุ่ม เลือกได้ 3 แบบ
- เปิดลิงก์ ใส่ค่า “link”
- เปิดลิงก์แบบ Webview app ใส่ค่า “webview”
- ตอบต่อด้วยชุดข้อความตอบกลับชุดอื่น ใส่ค่า “postback” | String |
payload | ID และชื่อของชุดข้อความตอบกลับชุดปลายทาง (ใช้กับ postback) เขียนแบบนี้
"art_id={id ของชุดข้อความตอบกลับ}&label={encode ชื่อชุดข้อความตอบกลับ}" | String |
uri | ลิงก์เว็บไซต์ที่จะเปิด (ใช้กับ link และ webview) | String |

สิ่งที่ควรรู้
- ถ้าจะใส่รูป ต้องใส่ให้ครบทุกการ์ด หากมีการ์ดใบใดไม่มีรูป ระบบจะส่งการ์ดทั้งชุดโดยไม่มีรูป
- การ์ดทุกใบควรมีปุ่มจำนวนเท่ากัน ถ้าไม่เท่า ระบบจะตัดให้ทุกใบเหลือเท่ากับการ์ดที่มีปุ่มน้อยที่สุด
- การ์ดทุกใบต้องมีหัวข้อและมีปุ่มอย่างน้อย 1 ปุ่ม การ์ดที่ขาดอย่างใดอย่างหนึ่งจะไม่ถูกส่ง
Quick replies payload
Quick replies payload คือปุ่มข้อความที่แสดงต่อท้ายข้อความสุดท้าย เมื่อลูกค้ากด ระบบจะตอบต่อด้วยชุดข้อความตอบกลับชุดที่กำหนด ใส่ได้ไม่เกิน 13 ปุ่ม
JSON สำหรับปุ่มข้อความ
Key | Description | Type of value |
order_index | ลำดับที่ปุ่มนี้จะแสดง | Number |
text | ข้อความบนปุ่ม ยาวได้ไม่เกิน 20 ตัวอักษร | String |
type | ปุ่มข้อความมีแบบเดียว คือตอบต่อด้วยชุดข้อความตอบกลับชุดอื่น ใส่ค่า “postback” | String |
payload | ID และชื่อของชุดข้อความตอบกลับชุดปลายทาง เขียนแบบนี้
"art_id={id ของชุดข้อความตอบกลับ}&label={encode ชื่อชุดข้อความตอบกลับ}" | String |

หา ID ของชุดข้อความตอบกลับ
- เปิดเมนู
แชทบอทที่แถบด้านซ้าย แล้วเข้าชุดข้อความตอบกลับและกดเข้าไปในชุดข้อความที่ต้องการ - ID ของชุดข้อความคือส่วนท้ายของ URL บนแถบที่อยู่ของเบราว์เซอร์
/business/
ID ธุรกิจ/auto-reply/ID ของชุดข้อความตอบกลับ
ตัวอย่าง JSON แบบครบชุด

แพ็กเกจที่ใช้ได้ API / Webhook
การตอบด้วย API ใช้ได้กับแพ็กเกจที่มีรายการ API / Webhook
ควรรู้:
- ถ้าแพ็กเกจของธุรกิจยังไม่มี แท็บ API จะขึ้นรูปกุญแจและแก้ไขไม่ได้
- ดูราคาและรายการในแต่ละแพ็กเกจได้ที่หน้าแพ็กเกจ
- ถ้าเรียก API ไม่สำเร็จ หรือคำตอบไม่มีข้อความที่ส่งได้ แชทบอทจะส่งข้อความเมื่อบอทตอบไม่ได้แทน