# Chat API สำหรับแชทในแอป พร้อมเก็บประวัติข้อความ

> เพิ่มแชทตัวต่อตัวและแชทกลุ่มในแอปโดยไม่ต้องสร้างระบบเก็บข้อความเอง มีประวัติข้อความ สถานะอ่านแล้ว จำนวนที่ยังไม่อ่าน พุชถึงผู้ใช้ที่ออฟไลน์ และการกลั่นกรองเนื้อหา ฟรีสำหรับผู้ใช้งานรายเดือน 500 คน จากนั้นเริ่มต้น 49 ดอลลาร์ต่อเดือน

Source: https://hibira.io/th/chat

## ทุกอย่างที่ฟีเจอร์แชทต้องมี

### เก็บประวัติไว้ เรียงลำดับเสมอ

ทุกข้อความจะได้หมายเลขถัดไปของบทสนทนาก่อนแจ้งใคร โทรศัพท์ที่เคยออฟไลน์แค่ขอทุกอย่างหลังหมายเลขสุดท้ายที่มี จึงไม่มีข้อความหายหรือแสดงซ้ำ

### สถานะอ่านแล้วและจำนวนที่ยังไม่อ่าน

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

### กำลังพิมพ์ แก้ไข ลบ และแสดงความรู้สึก

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

### พุชถึงคนที่ไม่ได้อยู่หน้าแอป

ข้อความใหม่จะพุชผ่าน Hibira Push ถึงสมาชิกที่ไม่ได้เชื่อมต่อ ทั้งบนเว็บ iOS และ Android พร้อมชื่อผู้ส่งและบรรทัดแรกของข้อความ

### ไฟล์และรูปภาพ

แนบไฟล์ได้ไฟล์ละไม่เกิน 25 MB โดยอัปโหลดตรงไปยังที่เก็บด้วยลิงก์อายุสั้น ไฟล์ใหญ่จึงไม่ต้องผ่านเซิร์ฟเวอร์ของคุณ

### มีระบบกลั่นกรองในตัว

ตัวกรองคำที่ใช้ได้กับภาษาจีนและญี่ปุ่นด้วย การแบนและปิดเสียงที่หมดอายุเอง และการรายงานจากสมาชิกที่รวมอยู่ในรายการเดียวให้ทีมของคุณ

### ค้นหาที่เข้าใจภาษาจีน ญี่ปุ่น เกาหลี

ค้นหาข้อความในบทสนทนาด้วยส่วนใดของคำก็ได้ ไม่สนตัวพิมพ์เล็กใหญ่หรืออักขระเต็มความกว้าง จึงใช้ได้กับภาษาจีน ญี่ปุ่น เกาหลี และอังกฤษ

### บทบาทและโน้ตภายใน

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

## ทำงานอย่างไร

1. **เซิร์ฟเวอร์ของคุณสร้างบทสนทนา**และสมาชิกด้วยคำขอที่ลงลายเซ็น แบบเดียวกับส่วนอื่นของ Hibira HTTP API
2. **ผู้ใช้แต่ละคนลงชื่อเข้าใช้**บนการเชื่อมต่อเรียลไทม์ที่แอปเปิดอยู่แล้ว เหตุการณ์แชทมาที่ช่องของผู้ใช้เอง จึงไม่ต้องอนุญาตช่องทีละบทสนทนา
3. **ข้อความส่งออกแบบเรียลไทม์และถูกเก็บไว้** เซิร์ฟเวอร์ส่งแทนผู้ใช้ได้ หรือให้โทเคนผู้ใช้อายุสั้นแก่หน้าเว็บเพื่อเรียก Chat API โดยตรง

![หน้าแชทในแผงผู้ดูแลที่สร้างด้วย Chat API: รายการบทสนทนา ข้อความ และสถานะออนไลน์](https://hibira.io/portal/articles/filament-chat-th-light.webp)

สำหรับหน้าเว็บ [@hibira-io/chat-ui](https://hibira.io/th/guides/chat-ui) มีหน้าจอบทสนทนาพร้อมใช้ รองรับสถานะอ่านแล้ว อีโมจิ ไฟล์ และโน้ตภายใน:

```js
import { createChatClient } from '@hibira-io/chat-ui/hibira';
import { Chat, useChatConversation } from '@hibira-io/chat-ui/react';

const client = createChatClient({ appId: 'your-app-id', tokenUrl: '/hibira/token' });
const conversation = useChatConversation(client, 'trip-1', { pusher, me: userId });
return <Chat conversation={conversation} me={userId} />;
```

API อยู่ที่ `/apps/{app_id}/chat`: บทสนทนาและสมาชิก ข้อความพร้อม `after` สำหรับตามให้ทัน สถานะอ่านแล้ว กล่องข้อความของผู้ใช้พร้อมจำนวนที่ยังไม่อ่าน การค้นหา ไฟล์แนบ โทเคนผู้ใช้ การกลั่นกรอง และการใช้งานเดือนนี้ ทุกข้อความใหม่เรียกเว็บฮุก `chat_message` ของคุณได้ด้วย ดูคำขอ อีเวนต์ และขีดจำกัดทั้งหมดได้ใน[เอกสารอ้างอิง](https://hibira.io/th/chat-api)

## แพ็กเกจ

| แพ็กเกจ | ราคา | ผู้ใช้งานรายเดือน | พื้นที่เก็บไฟล์ | เหมาะกับ |
| --- | --- | --- | --- | --- |
| ฟรี | 0 ดอลลาร์ | 500 | 1 GB | พัฒนาและเปิดตัวฟีเจอร์แชท |
| Chat 1K | 49 ดอลลาร์ต่อเดือน | 1,000 | 5 GB | ชุมชนหรือมาร์เก็ตเพลสที่กำลังโต |
| Chat 5K | 149 ดอลลาร์ต่อเดือน | 5,000 | 25 GB | แอปที่ผู้ใช้แชททุกวัน |
| Chat 20K | 349 ดอลลาร์ต่อเดือน | 20,000 | 100 GB | ชุมชนขนาดใหญ่และทีมซัพพอร์ต |
| Chat 60K | 799 ดอลลาร์ต่อเดือน | 60,000 | 300 GB | แชทขนาดใหญ่ |

ทุกบัญชีมีผู้ใช้งานรายเดือน 500 คนรวมอยู่ ไม่ว่าจะใช้แพ็กเกจเรียลไทม์ใด และส่วนเสริม Chat คิดค่าบริการแยกต่างหาก จ่ายรายปีฟรี 2 เดือน ผู้ใช้นับว่าใช้งานในเดือนนั้นเมื่อส่งข้อความหรือทำเครื่องหมายว่าอ่านแล้ว นับรวมทุกแอปของคุณ คนที่รับข้อความอย่างเดียวไม่ถูกนับ ดู[ราคาทั้งหมด](https://hibira.io/th/pricing#chat-api) ไม่มีขีดจำกัดจำนวนข้อความแบบตายตัว แพ็กเกจออกแบบไว้สำหรับเฉลี่ยราว 500 ข้อความต่อผู้ใช้งานต่อเดือน หากใช้งานสูงกว่านั้นมาก เราจะติดต่อคุณก่อนเปลี่ยนแปลงใด ๆ เมื่อพื้นที่เก็บไฟล์เต็ม ไฟล์แนบใหม่จะถูกปฏิเสธจนกว่าคุณจะลบบทสนทนาเก่าหรือเลือกแพ็กเกจที่ใหญ่ขึ้น

## ใช้ได้กับสแตกของคุณ

- **React และ JavaScript ทั่วไป**: หน้าจอบทสนทนาและไคลเอนต์ใน [@hibira-io/chat-ui](https://hibira.io/th/guides/chat-ui) ทำงานบน pusher-js
- **Laravel และ Filament**: หน้าแชทพร้อมสถานะออนไลน์ใน[ปลั๊กอิน Filament](https://hibira.io/th/use-cases/filament)
- **แบ็กเอนด์ใดก็ได้**: คำขอลงลายเซ็นแบบเดียวกับส่วนอื่นของ Hibira HTTP API โค้ดลงลายเซ็นของไลบรารีเซิร์ฟเวอร์ Pusher ใดก็ใช้ได้
- **iOS, Android และ Flutter**: SDK เรียลไทม์สำหรับเหตุการณ์ และ Hibira Push สำหรับข้อความที่มาตอนปิดแอป

## คำถามที่พบบ่อย

### ผู้ใช้งานรายเดือนนับอย่างไร?

ผู้ใช้ที่ส่งข้อความหรือทำเครื่องหมายบทสนทนาว่าอ่านแล้วภายในเดือนปฏิทิน (UTC) นับครั้งเดียวรวมทุกแอปของคุณ คนที่รับข้อความอย่างเดียวหรือเปิดแอปแต่ไม่ได้อ่านจะไม่ถูกนับ

### ถ้าผู้ใช้ถึงขีดจำกัดของแพ็กเกจจะเป็นอย่างไร?

ผู้ใช้ที่นับแล้วในเดือนนี้ใช้งานต่อได้ตามปกติ ผู้ใช้ใหม่ที่จะทำให้เกินแพ็กเกจจะได้รับข้อผิดพลาดเมื่อส่งหรืออ่าน จนถึงเดือนถัดไปหรือจนกว่าคุณจะเลือกส่วนเสริมที่ใหญ่ขึ้น ซึ่งมีผลทันที

### ข้อความถูกเก็บไว้นานแค่ไหน?

30 วันล่าสุดเก็บไว้เสมอ หากมีแพ็กเกจแบบชำระเงินหรือส่วนเสริม Chat ข้อความที่เก่ากว่าจะถูกจัดเก็บถาวรและ API ยังอ่านได้ตามเดิม ส่วนแพ็กเกจฟรีที่ไม่มีส่วนเสริมจะลบหลัง 30 วัน

### ต้องมีแพ็กเกจเรียลไทม์ของ Hibira ไหม?

ไม่ต้อง ทุกบัญชีรวมถึงแพ็กเกจฟรีได้ผู้ใช้งานรายเดือน 500 คน Chat API ใช้บัญชี แอป และการเชื่อมต่อเดียวกับฟีเจอร์เรียลไทม์ของคุณ

### ใช้หน้าจอแชทของตัวเองได้ไหม?

ได้ API ส่งกลับ JSON ธรรมดาและส่งเหตุการณ์ธรรมดา จึงใช้กับหน้าจอใดก็ได้ ถ้าอยากได้แบบพร้อมใช้ก็มี [@hibira-io/chat-ui](https://hibira.io/th/guides/chat-ui)

### ข้อมูลถูกเก็บที่ไหน?

ข้อความถูกเก็บในเอเชีย และข้อมูลจัดเก็บถาวรที่เก่ากว่า 30 วันเก็บในฮ่องกง การลบบทสนทนาจะลบข้อความและข้อมูลจัดเก็บถาวรของบทสนทนานั้นด้วย
