Hibira Chat API

在 App 里加上聊天,不用自己写后端

Hibira 保存每一条消息,让每个会话保持顺序,并通过 App 已经在用的连接实时送达。谁能和谁聊由你的服务器决定;用户能看到历史消息和已读回执,离开时也能收到推送。

加入候补名单查看套餐

Chat API 目前是 beta。加入候补名单,开放给所有账号时我们会通知你。

聊天功能需要的都在这里

消息保存,始终有序

每条消息在通知任何人之前,都会先拿到会话里的下一个序号。离线的手机回来时,只需拉取它最后一个序号之后的消息,不会漏,也不会重复。

已读回执和未读数

成员标记读到哪里,会话里的每个人都能看到;每个用户的收件箱会列出他的会话和未读数。

正在输入、编辑、撤回和表情回应

显示谁正在输入,让用户修改或撤回消息,也能用表情回应。变更会实时送到每位成员,并随消息保存。

离开时也能收到推送

新消息会通过 Hibira Push 推送给没有连接的成员,支持网页、iOS 和 Android,内容是发送者名称和消息的第一行。

文件和图片

每个附件最大 25 MB,通过短时效链接直接上传到存储,大文件不会经过你的服务器。

内置内容审核

对中文和日文也有效的关键词过滤、会自动到期的封禁和禁言,以及成员举报,全部汇总到同一个列表给你的团队处理。

懂中日韩文的搜索

可以用词的任意一部分搜索会话里的消息,不区分大小写和全角半角,中文、日文、韩文和英文都适用。

角色和内部备注

可以给成员设置角色,比如客服或管理员。备注可以只给某个角色看:只有这些成员收得到,对其他人也不会算作未读。

工作方式

  1. 你的服务器创建会话和成员,使用签名请求,签名方式和 Hibira HTTP API 其他部分相同。
  2. 每个用户登录 App 本来就会打开的实时连接。聊天事件发到用户自己的频道,不需要为每个会话授权频道。
  3. 消息实时发出并保存。 你的服务器可以代用户发送,也可以给页面发短时效的用户 Token,让页面直接调用 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 补齐的消息、已读标记、带未读数的用户收件箱、搜索、附件、用户 Token、内容审核和本月用量。每条新消息也可以触发你的 chat_message Webhook。所有请求、事件和限制见参考文档。

套餐

免费

0 美元
  • 每月活跃用户 500
  • 文件空间 1 GB
  • 适合 开发并上线聊天功能

Chat 1K

每月 49 美元
  • 每月活跃用户 1,000
  • 文件空间 5 GB
  • 适合 成长中的社区或交易平台

Chat 5K

每月 149 美元
  • 每月活跃用户 5,000
  • 文件空间 25 GB
  • 适合 每天都在聊天的 App

Chat 20K

每月 349 美元
  • 每月活跃用户 20,000
  • 文件空间 100 GB
  • 适合 大型社区和客服团队

Chat 60K

每月 799 美元
  • 每月活跃用户 60,000
  • 文件空间 300 GB
  • 适合 大规模聊天

每个账号不论实时套餐都含每月 500 位活跃用户,Chat 附加包与套餐分开计费。按年付费可免 2 个月。用户在一个月内发送消息或标记已读就算活跃,跨你所有 App 合计;只接收消息的人不计入。查看全部价格。消息数量没有硬性上限:套餐按平均每位活跃用户每月约 500 条消息规划,若用量远高于此,我们会先与你联系再做任何调整。文件空间用满后,新附件会被拒绝,直到删除旧会话或改选更大的套餐。

适配你的技术栈

  • React 和原生 JavaScript:@hibira-io/chat-ui 的会话界面和客户端,基于 pusher-js。
  • Laravel 和 Filament:Filament 插件提供现成的聊天页和在线状态。
  • 任何后端:请求的签名方式和 Hibira HTTP API 其他部分相同,任何 Pusher 服务端库的签名代码都能用。
  • iOS、Android 和 Flutter:用实时 SDK 接收事件,App 关闭时的消息由 Hibira Push 送达。

常见问题

什么算每月活跃用户?

在一个自然月(UTC)内发送消息或标记会话已读的用户,跨你所有 App 只算一次。只接收消息、或打开 App 但没有读的人不计入。

用到套餐的用户上限会怎样?

本月已计入的用户照常使用。会超出套餐的新用户,在发送和读取时会收到错误,直到下个月,或你改选更大的附加包,改选后立即生效。

消息保存多久?

最近 30 天一定保留。有付费套餐或 Chat 附加包时,更早的消息会归档,API 照样能读到;免费套餐且没有附加包时,30 天后删除。

一定要有 Hibira 实时套餐吗?

不用。每个账号都有每月 500 位活跃用户,免费套餐也一样。Chat API 和你的实时功能共用同一个账号、App 和连接。

可以用自己的聊天界面吗?

可以。API 返回普通的 JSON、发送普通的事件,任何界面都能用。想要现成的,可以用 @hibira-io/chat-ui。

数据存在哪里?

消息存放在亚洲,超过 30 天的归档存放在香港。删除会话会一并删除它的消息和归档。

加入 Chat API 候补名单

留下邮箱,告诉我们你在做什么。Chat API 开放给所有人时我们会给你发邮件,在那之前也会邀请一些团队先加入 beta。

这些信息仅用于回复您的咨询;详见隐私政策。