API合作
透過使用Chat&Messenger API,您可以輕鬆地與外部系統和程式連結。
API 整合支援以下處理。
- 與內部系統連結,將業務資料通知聊天室
- 偵測系統錯誤並通知相關方
- 來自內部組件的網路會議鏈接
- 獲取日程和會議室預訂資訊並與其他系統鏈接
API令牌和API介面
從管理畫面取得 API Token
進行API整合時,請先取得API Token。
請將獲得的 apiToken / serverURL 傳遞給 JavaScript /curl,如下面「API 介面」所述。

API介面
API インターフェイスとして、JavaScript / curl コマンドライン / 任意のHTTPアクセスプログラムが利用できます。以下のサンプルは共に、会議室の登録情報をJSON形式で取得する事ができます。
在不應用常規 SSL 的環境中,serverURL 將是 HTTP 8080 連接埠。
JavaScript
let config = {
"apiToken": "QIQVOSvRJHrQElDwj20x******",
"serverURL": "https://*****************"
}
let client = new CAMAPIClient(config);
let response = await client.getConferenceRooms();
捲曲命令列
curl -H "x-cam-apiToken:token******" ${serverURL}/getConferenceRooms
任何HTTP訪問程序
任意のHTTPアクセスプログラムでも連携可能です。API実行は Content-Type
的 application/x-www-form-urlencoded
とし、POSTで送信してください。
API 範例螢幕
有一個範例 URL,您可以在其中輕鬆嘗試 API 執行。如果您想使用它進行測試,請透過查詢表與我們聯絡。

訊息 API
傳訊息
發送一個訊息。
樣本
透過在 Messenger 中指定使用者 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
爭論
傳送 |
|
使用者 |
|
資訊 |
|
海豹 |
|
傳送訊息
從 json 檔案批次發送訊息。
請以字元編碼UTF8儲存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!", // クイック会議のパスワードを指定
);
爭論
過期日期 | 指定快速會議的截止日期(UnixTime 毫米) |
title | 会議画面に表示されるタイトルを設定 ※ ブランクの場合は、表示されない |
密碼 | 指定快速會議密碼 ※ ブランクの場合は、パスワード無しの会議URLが作成される |
レスポンス
sid | Web会議ID |
url | Web会議URL |
presenterPass | 視聴のみモードの会議を生成した場合に、プレゼンターが必要になるパスワード |
自動ログイン
createQuickCall で生成した会議URLに自動でログインするには、次のようにURLパラメータに userName、password を連結してアクセスしてください。
https://app.chat-messenger.com/share/{Web会議ID}?userName=太郎&password=000
getCallStats
Web会議の現在の参加者数などステータスを返却します。
樣本
let response = await getAPIClient().getCallStats(
8sQYFO2sPYHb7xSsibpVCKaqrFmTpCureVqKvwKgSZJs, // Web会議のID
);
爭論
roomName | Web会議のIDを指定、クイック会議の場合はSID |
レスポンス
roomName | Web会議ID |
title | Web会議件名 |
creationDate | 作成日時 |
過期日期 | 有効期限 |
participants | 現在の参加者数 |
inProgress | 会議が進行中の場合は true、そうでない場合は false |
使用者 API
用戶 API 僅提供 curl 命令。您還需要管理員權限才能運行它。
匯出用戶
使用者資訊將以CSV格式下載到路徑指定的位置。
樣本
curl -H "x-cam-apiToken:token******" -d "path=exportUsers.csv" ${serverURL}/exportUsers
更新用戶CSV
從 CSV 檔案批次更新使用者資訊。 ※ 參考 CSV 格式
樣本
curl -H "x-cam-apiToken:token******" -F "file=@updateUsers.csv" ${serverURL}/updateUsersCSV
聊天室 API
更新聊天室
建立/更新聊天室
樣本
let chatRoom = {
"id":"1564831284702237059",
"name":"秘密会議"
"createUserId":"11u1pu9d32p8vuvjoZdd",
"adminUserId":"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"]);
爭論
聊天室 |
|
規劃 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"]);
爭論
年月日 |
|
API のエラー判定
API のエラー判定は、次の通り判定してください。
HTTPステータスが200以外
HTTPステータスが200以外の場合は、例外なくエラーです。
HTTPステータスが200だが、サーバでエラー
APIトークンが不正や、対象データが存在しない場合などは、HTTPステータスそのものは200で返却され、レスポンス中の status が 520 で判定可能です。また errors にはエラー原因の code と message が配列で格納されます。
{"status":520, "errors":[{"code":"805","message":"APIトークンが正しくありません"}]}
code の意味と、同時に返却される message の詳細は以下です。
code | 意味 | 資訊 |
---|---|---|
400 | クライアント側の不正なリクエスト | このリクエストは無効です。 |
405 | 存在しないグループ | – |
406 | グループ変更ができない | – |
451 | ユーザが登録されていない | ユーザが登録されていません。先にユーザ登録してください。 ※ユーザが自身で登録できる場合 |
452 | ユーザが登録されていない | ユーザが登録されていません。 |
490 | ログイン施行回数を超過した | パスワード試行回数の上限に達しためログインできません。しばらく時間をおいてから再度お試しください。 |
491 | リクエスト回数が多すぎる | – |
500 | 予期せぬサーバ起因のエラー | – |
503 | サービスが利用できない | – |
800 | 管理者専用機能のため利用できない | この機能は管理者しか利用できません。 |
802 | API専用機能のため利用できない | この操作はAPIのみで利用可能です。 |
805 | APIトークン不正 | APIトークンが正しくありません。 |