Call-me API全解析:轻松集成实时通话功能到你的应用
【免费下载链接】call-me🟢 WebRTC click-to-call platform for instant real-time communication in a persistent shared room with unlimited participants where users can join and call each other instantly. No signup or setup required.项目地址: https://gitcode.com/gh_mirrors/ca/call-me
Call-me是一个基于WebRTC技术的即时实时通信平台,允许用户在持久共享的房间内进行点击通话,支持无限参与者即时加入和互相呼叫,无需注册或设置。本文将全面解析Call-me API,帮助开发者轻松集成实时通话功能到自己的应用中。
为什么选择Call-me API?
Call-me API提供了一套完整的接口,让开发者能够快速将实时音视频通话功能集成到各种应用场景中。无论是在线教育、远程医疗、客户支持还是团队协作工具,Call-me API都能提供稳定、高效的实时通信体验。
Call-me实时视频通话界面展示,支持高清视频和音频传输
API基础信息
Call-me API基于REST架构设计,使用JSON格式进行数据交换。以下是API的基础信息:
- API版本:1.1.0
- 基础路径:/api/v1
- 支持协议:https, http
- 认证方式:API密钥(通过Authorization请求头传递)
API文档定义在app/api/swagger.yaml文件中,包含了所有接口的详细说明和参数定义。
核心API接口详解
1. 获取连接用户列表
接口路径:/users
请求方法:GET
功能描述:获取所有已连接的用户,可选择按房间筛选和请求详细描述符。
参数说明:
room(可选):房间名称,用于筛选特定房间内的用户details(可选):布尔值,当为"true"时返回详细描述符(房间、媒体状态、可用性、连接时间)
响应示例:
{ "users": [ { "username": "miro", "room": "public", "connectedAt": 1752796800000, "media": { "video": true, "audio": true, "screenSharing": false }, "inCall": false, "availability": "available" } ] }2. 获取可呼叫的连接用户
接口路径:/connected
请求方法:GET
功能描述:检索所有可呼叫的连接用户,链接范围限定在特定房间(默认为公共房间)。
参数说明:
user(必填):请求用户的用户名room(可选):房间名称,用户和生成的呼叫链接限定在该房间内
响应示例:
{ "connected": [ "https://your.domain/join?user=call-me&call=miro&room=public" ] }Call-me呼叫界面展示,用户可以轻松发起通话请求
3. 获取活跃房间列表
接口路径:/rooms
请求方法:GET
功能描述:列出活跃房间及其用户数量和活跃通话数量。
响应示例:
{ "rooms": [ { "room": "public", "userCount": 2, "activeCalls": 1, "users": ["call-me", "miro"] } ] }4. 获取活跃通话列表
接口路径:/calls
请求方法:GET
功能描述:列出活跃通话,可选择按房间筛选。
参数说明:
room(可选):房间名称,用于筛选特定房间内的活跃通话
响应示例:
{ "count": 1, "calls": [ { "room": "public", "caller": "call-me", "callee": "miro", "startedAt": 1752796800000, "durationSeconds": 42 } ] }5. 获取服务器统计信息
接口路径:/stats
请求方法:GET
功能描述:获取服务器聚合统计信息:版本、正常运行时间、总用户数、房间数和活跃通话数。
响应示例:
{ "version": "1.4.28", "startedAt": 1752796800000, "uptimeSeconds": 3600, "totalUsers": 5, "totalRooms": 2, "totalActiveCalls": 1, "rooms": [ { "room": "public", "userCount": 2, "activeCalls": 1, "users": ["call-me", "miro"] } ] }Call-me通话接受界面,用户可以选择接受或拒绝通话请求
API认证方式
Call-me API使用API密钥进行认证,具体方式如下:
- 安全定义:secretApiKey
- 类型:apiKey
- 名称:authorization
- 位置:header
- 格式:authorization: {API_KEY_SECRET}
所有需要认证的API接口在请求时都必须包含有效的Authorization请求头,否则将返回403 Unauthorized错误。
快速开始:集成Call-me API到你的应用
步骤1:获取API密钥
首先,你需要获取Call-me API的访问密钥。具体获取方式请参考项目的官方文档。
步骤2:安装依赖
根据你使用的编程语言,安装相应的HTTP客户端库,用于发送API请求。
步骤3:发送API请求
以下是一个使用JavaScript发送请求获取连接用户的示例:
const apiKey = 'your_api_key'; const apiUrl = 'https://your.call-me-server.com/api/v1/users'; fetch(apiUrl, { method: 'GET', headers: { 'authorization': apiKey, 'Content-Type': 'application/json' } }) .then(response => response.json()) .then(data => console.log('Connected users:', data.users)) .catch(error => console.error('Error:', error));步骤4:处理API响应
根据API返回的结果,在你的应用中展示用户列表、房间信息或通话状态,并实现相应的用户交互功能。
常见问题解答
Q: API调用频率有限制吗?
A: 目前Call-me API没有明确的调用频率限制,但建议合理使用API,避免过度请求影响服务器性能。
Q: 如何处理通话状态的实时更新?
A: 对于需要实时更新的场景,建议结合WebSocket技术,建立持久连接以获取实时通知。
Q: 是否支持Web Push通知?
A: 是的,Call-me API提供了获取VAPID公钥的接口(/vapidPublicKey),用于实现Web Push订阅功能。
总结
Call-me API提供了一套简单而强大的接口,让开发者能够轻松地将实时音视频通话功能集成到自己的应用中。无论是构建在线会议系统、远程协作工具还是客户支持平台,Call-me API都能提供可靠、高效的实时通信解决方案。
通过本文介绍的API接口和集成步骤,你可以快速开始使用Call-me API,并根据自己的需求扩展功能。如有更多问题,请参考项目的官方文档或查看API源代码app/api/获取更多技术细节。
Call-me登录界面,用户可以快速加入实时通话房间
【免费下载链接】call-me🟢 WebRTC click-to-call platform for instant real-time communication in a persistent shared room with unlimited participants where users can join and call each other instantly. No signup or setup required.项目地址: https://gitcode.com/gh_mirrors/ca/call-me
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考