ทักคับ นักพัฒนา

เริ่มต้นใช้งาน

ตอบอัตโนมัติด้วย AI

หน้านี้พาทำบอทที่อ่านแชตย้อนหลังแล้วให้ AI ตอบลูกค้า ใช้ AI เจ้าไหนก็ได้

ภาพรวมการทำงาน#

  1. ลูกค้าส่งข้อความหาออฟฟิศ
  2. ทักคับส่ง Webhook มาที่เซิร์ฟเวอร์ของคุณ
  3. เซิร์ฟเวอร์ตรวจลายเซ็น แล้วตอบ 200 ทันที
  4. เซิร์ฟเวอร์อ่านข้อความย้อนหลังจาก API
  5. ส่งประวัติให้ AI และรับคำตอบ
  6. ส่งคำตอบกลับด้วย API ลูกค้าเห็นเป็นข้อความจากออฟฟิศ

ขั้นตอนที่ 1: เตรียมค่า#

สร้างคีย์ที่มีสิทธิ์ read และ reply และตั้ง Webhook ในเมนู นักพัฒนา แล้วเก็บเป็นตัวแปรสภาพแวดล้อม

bash
TAKKUB_API_KEY=tk_xxxxxxxx
TAKKUB_WEBHOOK_SECRET=whsec_xxxxxxxx

ขั้นตอนที่ 2: อ่านประวัติแล้วแปลงให้ AI#

ข้อความจาก API มีช่อง from เป็น customer หรือ office แปลงเป็นบทบาทผู้ใช้กับผู้ช่วยได้ตรง ๆ

async function loadHistory(threadId) {
  const response = await fetch(`${BASE}/threads/${threadId}/messages?limit=30`, { headers: AUTH });
  const { data } = await response.json();
  return data.messages
    .filter((message) => message.text)
    .map((message) => ({
      role: message.from === 'customer' ? 'user' : 'assistant',
      content: message.text,
    }));
}

ขั้นตอนที่ 3: ตอบกลับ#

ใส่ client_id ทุกครั้ง ถ้าเรียกซ้ำเพราะเน็ตหลุด ลูกค้าจะได้ข้อความครั้งเดียว ใช้รหัสเหตุการณ์จาก Webhook เป็นค่านี้ได้

await fetch(`${BASE}/threads/${threadId}/messages`, {
  method: 'POST',
  headers: { ...AUTH, 'Content-Type': 'application/json' },
  body: JSON.stringify({ text: answer, client_id: `reply-${event.id}` }),
});

ดูโค้ดเต็มที่ ตัวอย่าง Node.js และ ตัวอย่าง Python

ข้อควรระวังเรื่อง AI#

  • อย่าให้ AI เข้าถึงข้อมูลลูกค้าคนอื่น หรือคีย์ที่ไม่จำเป็น
  • ราคา โปรโมชัน และการคืนเงิน ควรดึงจากระบบของคุณ ไม่ใช่ให้ AI คิดเอง
  • ถ้า AI ไม่มั่นใจ ให้ตั้งสถานะ working แล้วส่งต่อให้คนตอบ
  • บอกลูกค้าว่ากำลังคุยกับระบบอัตโนมัติ และแจ้งว่าข้อความถูกส่งให้บริการ AI ภายนอก ตามกฎหมายคุ้มครองข้อมูลส่วนบุคคล
  • ตรวจสถานะแชตก่อนตอบ ถ้าคนในร้านกำลังดูแลอยู่ บอทควรหยุด

ให้บอทหยุดเมื่อคนเข้ามาตอบ#

ก่อนตอบ เรียก ข้อมูลแชต แล้วข้ามถ้า state เป็น working เจ้าของร้านกดปุ่ม กำลังดำเนินการ บนเว็บเมื่อจะตอบเอง บอทก็จะหยุดทันที