Hibira Chat API

백엔드를 만들지 않고 앱에 채팅을

Hibira가 모든 메시지를 저장하고 대화마다 순서를 지키며, 앱이 이미 쓰는 연결로 실시간 전달합니다. 누가 누구와 대화할지는 서버가 정하고, 사용자는 대화 기록과 읽음 확인, 자리를 비웠을 때의 푸시 알림을 받습니다.

대기자 명단 등록요금제 보기

Chat API는 현재 베타입니다. 대기자 명단에 등록하시면 모든 계정에 공개될 때 알려 드립니다.

채팅 기능에 필요한 모든 것

저장된 기록, 항상 순서대로

모든 메시지는 누구에게 알리기 전에 대화의 다음 번호를 받습니다. 오프라인이었던 휴대폰은 마지막으로 가진 번호 이후만 가져오면 되므로 빠지거나 두 번 보이는 메시지가 없습니다.

읽음 확인과 안 읽은 수

멤버가 어디까지 읽었는지 표시하면 대화의 모두가 볼 수 있고, 각 사용자의 받은편지함에는 대화 목록과 안 읽은 메시지 수가 표시됩니다.

입력 중, 수정, 삭제, 반응

누가 입력 중인지 보여 주고, 메시지를 고치거나 취소하고 이모지로 반응할 수 있습니다. 변경 사항은 모든 멤버에게 실시간으로 전달되고 메시지와 함께 저장됩니다.

자리를 비운 사람에게는 푸시

새 메시지는 연결되어 있지 않은 멤버에게 Hibira Push로 전달됩니다. 웹, iOS, Android를 지원하며 보낸 사람 이름과 본문 첫 줄을 보여 줍니다.

파일과 이미지

첨부 파일은 하나당 최대 25MB입니다. 짧은 유효기간의 링크로 저장소에 바로 업로드하므로 큰 파일이 서버를 거치지 않습니다.

기본 제공 모더레이션

중국어와 일본어에도 동작하는 금칙어 필터, 기한이 되면 저절로 풀리는 차단과 음소거, 멤버의 신고를 팀이 한 목록에서 확인합니다.

한중일을 이해하는 검색

단어의 일부로도 대화의 메시지를 검색할 수 있고 대소문자와 전각·반각 차이를 무시하므로 한국어, 중국어, 일본어, 영어 모두에서 동작합니다.

역할과 내부 메모

멤버에게 상담원이나 운영자 같은 역할을 줄 수 있습니다. 메모를 특정 역할에만 보이게 하면 그 멤버에게만 전달되고 다른 사람에게는 안 읽은 메시지로 세지지 않습니다.

작동 방식

  1. 서버가 대화와 멤버를 만듭니다. 서명된 요청으로, 서명 방식은 Hibira HTTP API의 다른 부분과 같습니다.
  2. 각 사용자가 로그인합니다. 앱이 원래 여는 실시간 연결을 쓰며, 채팅 이벤트는 사용자 자신의 채널로 오므로 대화마다 채널을 인증할 필요가 없습니다.
  3. 메시지는 실시간으로 전달되고 저장됩니다. 서버가 사용자 대신 보낼 수도 있고, 페이지에 짧은 유효기간의 사용자 토큰을 줘서 Chat API를 직접 호출하게 할 수도 있습니다.
Chat API로 만든 관리자 화면의 채팅 페이지: 대화 목록, 메시지, 온라인 상태.
Chat API로 만든 관리자 화면의 채팅 페이지: 대화 목록, 메시지, 온라인 상태.

화면은 @hibira-io/chat-ui로 바로 만들 수 있습니다. 읽음 표시, 반응, 파일, 내부 메모를 지원하는 대화 화면을 제공합니다:

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 웹훅을 호출할 수도 있습니다. 모든 요청, 이벤트, 한도는 레퍼런스에 있습니다.

요금제

무료

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개월 무료입니다. 한 달 동안 메시지를 보내거나 대화를 읽음으로 표시한 사용자를 활성 사용자로 보며, 모든 앱을 합쳐 셉니다. 메시지를 받기만 하는 사람은 세지 않습니다. 전체 요금을 확인하세요. 메시지 수에는 고정 한도가 없습니다. 요금제는 활성 사용자 1명당 월평균 약 500개 메시지를 기준으로 하며, 사용량이 이를 크게 넘으면 무엇이든 바꾸기 전에 먼저 연락드립니다. 파일 저장 공간이 가득 차면 오래된 대화를 삭제하거나 더 큰 요금제를 선택할 때까지 새 첨부 파일은 거부됩니다.

사용하는 스택에서

  • React와 순수 JavaScript: pusher-js 위에서 동작하는 @hibira-io/chat-ui의 대화 화면과 클라이언트.
  • Laravel과 Filament: 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가 있습니다.

데이터는 어디에 저장되나요?

메시지는 아시아에 저장되고, 30일이 지난 보관본은 홍콩에 저장됩니다. 대화를 삭제하면 그 메시지와 보관본도 함께 삭제됩니다.

Chat API 대기자 명단 등록

이메일과 만들고 있는 것을 알려 주세요. Chat API가 모두에게 공개되면 메일을 드리고, 그 전에 몇몇 팀을 베타에 초대합니다.

입력하신 정보는 문의에 답변하는 데에만 사용합니다. 자세한 내용은 개인정보 처리방침을 참조하세요.