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 실행은 Content-Type 을 application/x-www-form-urlencoded POST로 보내주세요.
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 | 웹 회의 ID |
| url | 웹 회의 URL |
| presenterPass | 시청 전용 모드의 회의를 생성한 경우 발표자가 필요한 비밀번호 |
자동 로그인
createQuickCall에서 생성한 회의 URL에 자동으로 로그인하려면 다음과 같이 URL 매개 변수에 userName, password를 연결하여 액세스합니다.
https://app.chat-messenger.com/share/{웹 회의 ID}?userName=타로&password=000
getCallStats
웹 회의의 현재 참가자 수와 같은 상태를 반환합니다.
샘플
let response = await getAPIClient().getCallStats(
8sQYFO2sPYHb7xSsibpVCKaqrFmTpCureVqKvwKgSZJs, // Web会議のID
);인수
| roomName | 웹 회의 ID를 지정하고 빠른 회의의 경우 SID |
응답
| roomName | 웹 회의 ID |
| title | 웹 회의 제목 |
| 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}/exportUsersupdateUsersCSV
CSV 파일에서 일괄 적으로 사용자 정보를 업데이트합니다. ※ 참조 CSV 형식
샘플
curl -H "x-cam-apiToken:token******" -F "file=@updateUsers.csv" ${serverURL}/updateUsersCSVChatRoom 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 토큰이 올바르지 않습니다. |
