목차
API 연계
Chat&Messenger API를 사용하면 외부 시스템, 프로그램과 쉽게 연동할 수 있습니다.
API 연동을 통해 다음과 같은 처리가 가능합니다.
- 사내 시스템과 협력하여 비즈니스 데이터를 대화방에 알립니다.
- 시스템 오류를 감지하고 당사자에게 통지
- 사내 그룹웨어에서 웹 회의 연계
- 스케줄 및 회의실 예약 정보를 취득하여 다른 시스템과 연계
API 연계는 클라우드/온프레미스 모두 Enterprise 이상의 계획이 필요합니다.
API Token 및 API 인터페이스
관리 화면에서 API Token 얻기
API 연동을 수행하려면 먼저 API Token을 받으십시오.
API Token은 비밀번호와 동일하므로 취급에 유의하십시오.
얻은 apiToken / serverURL을 아래 "API 인터페이스"와 같이 JavaScript / curl에 전달하십시오.
API 인터페이스
API 인터페이스로 JavaScript / curl 명령줄을 사용할 수 있습니다. 다음 샘플은 모두 회의실 등록 정보를 JSON 형식으로 얻을 수 있습니다.
자바스크립트
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
※ 온프레미스 환경의 serverURL은 HTTP 8080 포트가 됩니다.
모든 HTTP 액세스 프로그램
모든 HTTP 액세스 프로그램에서도 연동 가능합니다.
API 샘플 화면
API 실행을 쉽게 시도할 수 있는 샘플 URL이 있습니다. 테스트로 이용하시는 경우, 문의로부터 연락 부탁드립니다.
API
※ 이용 용도가 높은 것부터 단계적으로 확충 예정입니다
sendMessage
메시지를 보냅니다.
샘플
- 메신저에서 사용자 ID를 지정하여 전송
let response = await getAPIClient().sendMessage( "messenger", // messenger 를 지정한 다이렉트 메세지를 지정 "Hello!", // 보내는 메세지 false, // "user2@xxx.com"] // 받는 사람 전자 메일 주소);
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 명령줄
curl -H "x-cam-apiToken:token******" -d @messages.json ${serverURL}/sendMessages
- 직접 메시지로 보내는 messages.json 파일 샘플
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.json 파일 샘플
messages=[ {"send": "test", "message":"테스트 1"} ]
createQuickCall
빠른 웹 회의 URL을 만듭니다.
샘플
- 빠른 회의 URL을 만듭니다.
let response = await getAPIClient().createQuickCall( 1624368868714, // 빠른 회의 마감일(UnixTime 미리) "password!", // 빠른 회의 암호 지정);
인수
expiredDate |
|
password |
|
updateChatRoom
채팅룸 만들기 및 업데이트
샘플
let chatRoom = { "id":"1564831284702237059", "name":"비밀 회의" "createUserId":"11u1pu9d32p8vuvjoZdd", "adminUserId":"11u1pu9d32p8vuvjoZdd", " Uids ":{ "11u1pu9d32p8vuvjoZdd":true, "1lmn7hoh3s1ja26fsazw":false, "hhx10sfdv1jyou4la1ny":false, "3400w9rfvs504c35dt99":false , } let response = await getAPIClient().updateChatRoom(chatRoom); let errors = response['errors']; if (errors) { console.log(errors); return; } console.log(response["chatRoom"]);
인수
chatRoom |
|
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 |
|