สร้างบอทที่คุยกับผู้ใช้ HeloSChat ได้จริง

Messaging API และ Webhook สำหรับแชทส่วนตัว กลุ่ม และเซิร์ฟเวอร์ ทุกบอทผ่านการตรวจสิทธิ์ และติดตามได้จาก Console เดียว

import crypto from "node:crypto";
import express from "express";

const app = express();
app.use(express.raw({ type: "application/json" }));

app.post("/webhook", async (req, res) => {
  const sig = "sha256=" + crypto
    .createHmac("sha256", process.env.WEBHOOK_SECRET)
    .update(req.body).digest("hex");
  if (sig !== req.get("X-Helos-Bot-Signature")) return res.sendStatus(401);

  const { event } = JSON.parse(req.body);
  res.sendStatus(200);

  if (event.type === "message.create") {
    await fetch("https://bots.gugarhices.com/v1/messages/reply", {
      method: "POST",
      headers: {
        "Authorization": "Bearer " + process.env.BOT_TOKEN,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        replyToken: event.reply_token,
        messages: [{ type: "text", text: "Hello" }],
      }),
    });
  }
});

ทุกอย่างที่ต้องใช้ในการสร้างบอท

ตั้งแต่ส่งข้อความแรกไปจนถึงดูแลบอทในระบบจริง ด้วยเครื่องมือชุดเดียวกัน

Messaging API

ส่งข้อความได้ 4 แบบ รองรับ 10 ประเภท ตั้งแต่ข้อความธรรมดาไปจนถึง Flex

  • POST /v1/messages/replyตอบด้วย reply token
  • POST /v1/messages/pushส่งหาผู้ใช้หรือห้อง
  • POST /v1/messages/multicastส่งหลายคนในครั้งเดียว
  • POST /v1/messages/broadcastประกาศถึงทุกคนที่เพิ่มบอท
textimagevideoaudiofilestickerlocationcardflexembed

Webhook

ทุก event ลงลายเซ็นด้วย secret ของบอทแต่ละตัว ถ้าเซิร์ฟเวอร์ไม่ตอบ ระบบส่งซ้ำให้อีก 5 ครั้ง

X-Helos-Bot-Signature: sha256=…
  1. 10 วิ
  2. 1 นาที
  3. 5 นาที
  4. 30 นาที
  5. 2 ชม.

Service Cards

การ์ดที่ผู้ใช้กดตอบได้ในแชท แล้วบอทรับผลเป็น event

eventpolltaskhelp

Bot QR

สแกนได้ในแอป HeloSChat เท่านั้น บอทรู้ทันทีว่าใครสแกน

ภาพรวมบอทใน Console: ข้อความเดือนนี้ Webhook สำเร็จ และสิทธิ์ที่ใช้ได้

Developer Console

สร้างบอท ออก token ใหม่ ตั้งและทดสอบ Webhook ดูประวัติการส่ง

3
บอทต่อบัญชี
1,000
ข้อความต่อเดือนต่อบอท
60
คำขอต่อนาที
แท็บสิทธิ์ของบอทใน Console

สิทธิ์และการตรวจสอบ

สิทธิ์พื้นฐานใช้ได้ทันทีหลังอนุมัติบัญชี ส่วนสิทธิ์ที่เข้าถึงผู้ใช้วงกว้างต้องขออนุมัติรายบอท

พื้นฐานdmmessages.readmessages.sendmessages.components
ต้องอนุมัติgroupservercards.createqr.create
บอททำงานอย่างไร

ข้อความเดินทางจากผู้ใช้ถึงบอทของคุณ

เลือกสถานการณ์เพื่อดูว่าข้อมูลผ่านส่วนไหนบ้าง และแต่ละขั้นมีการตรวจอะไร

ผู้ใช้แอป HeloSChatHTTPSHeloSChatกรุงเทพฯตรวจสิทธิ์Bot Platformสิงคโปร์ลงลายเซ็นเซิร์ฟเวอร์ของคุณURL ที่ตั้งไว้Webhookข้อความ
รับและตอบข้อความ · ขั้นที่ 1 จาก 5

ผู้ใช้ส่งข้อความ

ข้อความเดินทางผ่าน HTTPS ไปถึง HeloSChat ที่กรุงเทพฯ ทั้งแชทส่วนตัว กลุ่ม และเซิร์ฟเวอร์

ผู้ใช้ → HeloSChatข้อความ
{ "content": "เช็คสถานะคำสั่งซื้อ #1042" }

เริ่มด้วยบัญชี HeloSChat ที่มีอยู่แล้ว

ไม่ต้องสมัครสมาชิกใหม่ ภาพด้านล่างคือหน้าจริงของ Console

หน้ายืนยันตัวตนด้วยรหัส 6 หลักจาก HeloSMail
โครงสร้างระบบและข้อมูล

รู้ว่าข้อมูลอยู่ที่ไหน

HeloSChat ทำงานในประเทศไทย ส่วน Bot Platform ทำงานที่สิงคโปร์ใกล้ผู้ใช้ในภูมิภาค

HeloSChatกรุงเทพฯ ประเทศไทยBot Platformสิงคโปร์ · AWS

HeloSChat · กรุงเทพฯ ประเทศไทย

ผู้ใช้เชื่อมต่อผ่าน Cloudflare edge กรุงเทพฯ

  • บัญชีผู้ใช้ ห้องแชท และข้อความทั้งหมด เก็บในศูนย์ข้อมูลในประเทศไทย
  • ส่งต่อให้บอทเฉพาะ event ของห้องที่บอทได้รับสิทธิ์เท่านั้น

Bot Platform · สิงคโปร์

Amazon Web Services ภูมิภาค ap-southeast-1

  • บัญชี Developer รหัสผ่านเก็บแบบ bcrypt และ Bot token เก็บเป็น hash ไม่เก็บค่าจริง
  • ประวัติ Webhook เก็บไว้เพื่อส่งซ้ำ: ส่งสำเร็จ 7 วัน · ล้มเหลว 30 วัน แล้วลบอัตโนมัติ
  • เซิร์ฟเวอร์ของคุณอยู่ที่ไหนก็ได้ ข้อความถึงบอทเดินทางจาก HeloSChat ผ่านแพลตฟอร์มไปยัง URL ที่คุณกำหนดเท่านั้น
ความปลอดภัยและการตรวจสอบ

เปิดให้ใช้งาน โดยมีข้อกำหนดชัดเจน

API ของ HeloSChat เปิดให้นักพัฒนาภายนอก แต่ทุกขั้นที่เข้าถึงผู้ใช้ผ่านการตรวจสอบก่อนเสมอ

  • ตรวจบัญชี Developer ระบุจุดประสงค์ กลุ่มผู้ใช้ และการจัดการข้อมูลตั้งแต่สมัคร
  • อนุมัติสิทธิ์รายบอท กลุ่ม เซิร์ฟเวอร์ Service Card และ QR ใช้ได้หลังได้รับอนุมัติ
  • ลายเซ็นแยกต่อบอท ทุก Webhook ตรวจได้ว่ามาจาก HeloSChat จริง
  • โควตาและการจำกัดอัตรา 60 คำขอต่อนาทีต่อบอท ป้องกันการส่งเกินจำเป็น

พร้อมสร้างบอทตัวแรกแล้วหรือยัง

เข้าสู่ระบบด้วยบัญชี HeloSChat แล้วยื่นใบสมัครใน Console ทีมงานแจ้งผลในหน้าเดียวกัน