菜单

通过API集成实现内部业务流程自动化。

目录

API集成

通过使用 Chat&Messenger API,您可以轻松地与外部系统和程序集成。
API集成支持以下流程:

  • 它与内部系统集成,并将业务数据通知聊天室。
  • 检测系统错误并通知相关方。
  • 从内部群件集成网络会议
  • 获取日程安排和会议室预订信息,并与其他系统集成。
API 集成需要云企业版/本地部署终极版或更高级别的套餐。

API令牌和API接口

从管理面板获取 API 令牌。

与 API 集成时,必须先获取 API 令牌。

请按照以下“API接口”中的说明,将获取到的apiToken/serverURL传递给JavaScript/curl。

请像保管密码一样妥善保管您的 API 令牌。

API接口

可以使用 JavaScript、curl 命令行或任何 HTTP 访问程序作为 API 接口。以下两个示例均可检索 JSON 格式的会议室注册信息。

在没有适当 SSL 加密的环境中,服务器 URL 将位于 HTTP 端口 8080 上。

JavaScript

let config = {
	"apiToken": "QIQVOSvRJHrQElDwj20x******",
	"serverURL": "https://*****************"
}
let client = new CAMAPIClient(config);
let response = await client.getConferenceRooms();

curl 命令行

curl -H "x-cam-apiToken:token******" ${serverURL}/getConferenceRooms

任何HTTP访问程序

它还可以与任何HTTP访问程序集成。API执行是 内容类型application/x-www-form-urlencoded 请通过邮寄方式寄送。

API 示例屏幕

我们提供了一个示例 URL,方便您轻松试用 API。如果您想使用它进行测试,请通过咨询表单联系我们。

消息 API

SendMessage

发送消息。

样本

在即时通讯软件中指定用户ID即可发送。
let response = await getAPIClient().sendMessage(
	"messenger", 	// messenger を指定したダイレクトメッセージを指定
	"Hello!",  	// 送信するメッセージ
	false,   	// 封書は off 
	["user1@xxx.com", "user2@xxx.com"]	// 宛先 Email アドレス 
	);
curl -H "x-cam-apiToken:token******" -d message="{\"panelName\":\"messenger\",\"message\":\"Hello\",\"isOpened\":false,\"generalPurposes\":{\"users\":\"user1@xxx.com,user2@xxx.com\"}}" ${serverURL}/sendMessage
发送时请指定聊天室。
let response = await getAPIClient().sendMessage(
	"ルーム名", 
	"Hello!", 
	false,
        ["user1@xxx.com", "user2@xxx.com"]	// メンションとして Email アドレス指定 
);
curl -H "x-cam-apiToken:token******" -d message="{\"panelName\":\"ルーム名\",\"message\":\"Hello\",\"isOpened\":false,\"generalPurposes\":{\"users\":\"user1@xxx.com,user2@xxx.com\"}}" ${serverURL}/sendMessage

争论

发送
  • 指定收件人
  • 对于即时通讯应用,请指定“即时通讯”;对于聊天应用,请指定房间名称。
用户
  • 如果发送的是即时通讯消息,则会发送给指定接收用户。如果发送的是聊天室消息,则会与所有人共享,然后系统会发送一条提及通知。
  • 通过电子邮件地址搜索用户
  • 发送多封电子邮件时,请指定逗号 (,) 作为分隔符。
信息
  • 请指定要发送的消息。
  • 要在文本中插入换行符,请插入换行符代码 \n。
海豹
  • 请指定是/否。发送已读回执。

发送消息

从JSON文件批量发送消息。

请使用 UTF-8 字符编码保存 JSON 文件。

样本

curl -H "x-cam-apiToken:token******" -d @messages.json ${serverURL}/sendMessages 
messages=[
 {"message":"こんにちは 1","property":{"users":"user1@test.com,user2@test.com"}},
 {"message":"こんにちは 2","property":{"users":"user1@test.com,user2@test.com"}},
 {"message":"こんにちは 3","property":{"users":"user1@test.com,user2@test.com"}},
 {"message":"こんにちは 4","property":{"users":"user1@test.com,user2@test.com"}},
]
messages=[
  {"send": "test", "message":"テスト 1"}
]

调用 API

快速网络会议 创建网址。

创建快速呼叫

样本

let response = await getAPIClient().createQuickCall(
	1624368868714, 	// クイック会議の期限(UnixTimeミリ)
	"password!",  	// クイック会議のパスワードを指定
	);

争论

过期日期请指定快速会议的截止时间(以 Unix 时间毫秒为单位)。
标题设置会议屏幕上显示的标题。
* 如果留空,则不会显示。
密码请指定快速会议的密码。
* 如果留空,则会创建一个没有密码的会议 URL。

回复

网络会议 ID
URL网络会议网址
演示者通行证创建仅供查看的会议时,演示者需要密码。

自动登录

要自动登录到 createQuickCall 生成的会议 URL,请将用户名和密码作为 URL 参数连接起来访问它,如下所示。

https://app.chat-messenger.com/share/{Web会議ID}用户名=Taro&密码=000

获取通话统计信息

该函数返回网络会议的状态,包括当前参与者人数。

样本

let response = await getAPIClient().getCallStats(
	8sQYFO2sPYHb7xSsibpVCKaqrFmTpCureVqKvwKgSZJs, 	// Web会議のID
	);

争论

房间名称指定网络会议的 ID,或快速会议的 SID。

回复

房间名称网络会议 ID
标题网络会议主题
项目日期创建日期
过期日期到期日期
当前参与者人数
进行中会议进行中时为真,否则为假。

用户 API

用户 API 仅提供 curl 命令,且需要管理员权限才能执行该命令。

导出用户

用户信息将以 CSV 格式下载到 `path` 指定的位置。

样本

curl -H "x-cam-apiToken:token******" -d "path=exportUsers.csv" ${serverURL}/exportUsers

更新用户数据

从 CSV 文件批量更新用户信息。*参见参考资料* CSV格式

样本

curl -H "x-cam-apiToken:token******" -F "file=@updateUsers.csv" ${serverURL}/updateUsersCSV

聊天室 API

更新聊天室

创建和更新聊天室

样本

let chatRoom = { 
   "id":"1564831284702237059",
   "name":"秘密会議"
   "createUserId":"11u1pu9d32p8vuvjoZdd",
   "isPublic":false,
   "memberUids":{ 
      "11u1pu9d32p8vuvjoZdd":true,
      "1lmn7hoh3s1ja26fsazw":true,
      "hhx10sfdv1jyou4la1ny":true,
      "3400w9rfvs504c35dt99":true,
      "309d32p8vuvjo5euuuwx":true
   },
}
let response = await getAPIClient().updateChatRoom(chatRoom);
let errors = response['errors'];
if (errors) {
	console.log(errors);
	return;
}
console.log(response["chatRoom"]);

争论

聊天室
  • 使用 JSON 创建和更新聊天室。
  • 新账户无需提供身份证件。

调度 API

获取会议主控

获取会议室总列表。

样本

let response = await getAPIClient().getConferenceMaster();
let errors = response['errors'];
if (errors) {
	console.log(errors);
	return;
}
console.log(response["conferenceRooms"]);

争论

没有任何

获取会议室状态

获取会议室预订状态列表。

样本

let response = await getAPIClient().getConferenceRoomStatus("201908");
let errors = response['errors'];
if (errors) {
	console.log(errors);
	return;
}
console.log(response["conferenceRoomStatus"]);

争论

yyyyMMdd
  • 如果没有指定任何参数,则会检索会议室总列表。
  • 通过在参数 yyyyMMdd 中指定月份或日期,您可以检索相应会议室的预订状态。例如:201908 或 20190801
  • 预订状态存储在 conferenceRooms.reservedSchedules 中。

API错误检测

API错误应按以下方式判定:

HTTP 状态码不是 200

如果 HTTP 状态码不是 200,则无一例外地判定为错误。

HTTP 状态码为 200,但服务器出现错误。

如果 API 令牌无效或目标数据不存在,HTTP 状态码本身将返回 200,响应中的状态码为 520。此外,错误字段将包含一个数组,其中包含错误代码和错误消息。

{"status":520, "errors":[{"code":"805","message":"APIトークンが正しくありません"}]}

该代码的含义以及同时返回的消息详情如下:

代码意义信息
400客户端无效请求此请求无效。
405不存在的团体
406无法更改组
451该用户未注册。目前还没有用户注册。请先注册。
*用户可以自行注册时
452该用户未注册。尚未有用户注册。
490登录尝试次数已超过限制。您已达到密码尝试次数上限,无法登录。请稍后再试。
491请求过多
500意外的服务器相关错误
503该服务不可用。
800此功能仅限管理员使用,目前不可用。此功能仅对管理员可用。
802此功能仅提供 API 版本,因此无法使用。此操作仅可通过 API 实现。
805API 令牌欺诈API令牌不正确。
  • URLをコピーしました!
目录