API 연계
Chat&Messenger API를 사용하면 외부 시스템, 프로그램과 쉽게 연동할 수 있습니다.
API 연동을 통해 다음과 같은 처리가 가능합니다.
- 사내 시스템과 협력하여 비즈니스 데이터를 대화방에 알립니다.
- 시스템 오류를 감지하고 당사자에게 통지
- 사내 그룹웨어에서 웹 회의 연계
- 스케줄 및 회의실 예약 정보를 취득하여 다른 시스템과 연계
API Token 및 API 인터페이스
관리 화면에서 API Token 얻기
API 연동을 수행하려면 먼저 API Token을 받으십시오.
얻은 apiToken / serverURL을 아래 "API 인터페이스"와 같이 JavaScript / curl에 전달하십시오.

API 인터페이스
API インターフェイスとして、JavaScript / curl コマンドライン / 任意のHTTPアクセスプログラムが利用できます。以下のサンプルは共に、会議室の登録情報をJSON形式で取得する事ができます。
정규 SSL 적용이 아닌 환경에서는 serverURL이 HTTP 8080 포트가 됩니다.
자바스크립트
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 샘플 화면
API 실행을 쉽게 시도할 수 있는 샘플 URL이 있습니다. 테스트로 이용하시는 경우, 문의로부터 연락 부탁드립니다.

Message 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
인수
send |
|
사용자 |
|
message |
|
seal |
|
sendMessages
json 파일에서 일괄 적으로 메시지를 보냅니다.
json 파일은 문자 코드 UTF8로 저장하십시오.
샘플
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"}
]
Call API
빠른 웹 회의 URL을 만듭니다.
createQuickCall
샘플
let response = await getAPIClient().createQuickCall(
1624368868714, // クイック会議の期限(UnixTimeミリ)
"password!", // クイック会議のパスワードを指定
);
인수
expiredDate | 빠른 회의 마감일(UnixTime 밀리) 지정 |
title | 会議画面に表示されるタイトルを設定 ※ ブランクの場合は、表示されない |
password | 빠른 회의 비밀번호 지정 ※ ブランクの場合は、パスワード無しの会議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 | 作成日時 |
expiredDate | 有効期限 |
participants | 現在の参加者数 |
inProgress | 会議が進行中の場合は true、そうでない場合は false |
User API
User API는 curl 명령만 제공합니다. 또한 실행하려면 관리자 권한이 필요합니다.
exportUsers
path로 지정된 위치에 사용자 정보를 CSV 형식으로 다운로드합니다.
샘플
curl -H "x-cam-apiToken:token******" -d "path=exportUsers.csv" ${serverURL}/exportUsers
updateUsersCSV
CSV 파일에서 일괄 적으로 사용자 정보를 업데이트합니다. ※ 참조 CSV 형식
샘플
curl -H "x-cam-apiToken:token******" -F "file=@updateUsers.csv" ${serverURL}/updateUsersCSV
ChatRoom API
updateChatRoom
채팅룸 만들기 및 업데이트
샘플
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"]);
인수
chatRoom |
|
Schedule API
getConferenceMaster
회의실의 마스터 목록을 가져옵니다.
샘플
let response = await getAPIClient().getConferenceMaster();
let errors = response['errors'];
if (errors) {
console.log(errors);
return;
}
console.log(response["conferenceRooms"]);
인수
없음
getConferenceRoomStatus
회의실 예약 상태 목록 얻기
샘플
let response = await getAPIClient().getConferenceRoomStatus("201908");
let errors = response['errors'];
if (errors) {
console.log(errors);
return;
}
console.log(response["conferenceRoomStatus"]);
인수
yyyyMMdd |
|
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 | 意味 | message |
---|---|---|
400 | クライアント側の不正なリクエスト | このリクエストは無効です。 |
405 | 存在しないグループ | – |
406 | グループ変更ができない | – |
451 | ユーザが登録されていない | ユーザが登録されていません。先にユーザ登録してください。 ※ユーザが自身で登録できる場合 |
452 | ユーザが登録されていない | ユーザが登録されていません。 |
490 | ログイン施行回数を超過した | パスワード試行回数の上限に達しためログインできません。しばらく時間をおいてから再度お試しください。 |
491 | リクエスト回数が多すぎる | – |
500 | 予期せぬサーバ起因のエラー | – |
503 | サービスが利用できない | – |
800 | 管理者専用機能のため利用できない | この機能は管理者しか利用できません。 |
802 | API専用機能のため利用できない | この操作はAPIのみで利用可能です。 |
805 | APIトークン不正 | APIトークンが正しくありません。 |