MENU

API 연동으로 사내 업무 자동화

목차

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
  • 전송 대상 지정
  • 메신저의 경우 messenger를 지정하고 채팅의 경우 룸 이름을 지정합니다.
사용자
  • send가 messenger이면 대상 사용자에게. 대화방의 경우 전체 공유 후 멘션으로 통보됩니다.
  • 이메일 주소에서 해당 사용자 검색
  • 다중 전송의 경우 Email 구분 기호는
message
  • 보내는 메시지 지정
  • 텍스트를 개행시키는 경우는, 개행 코드 \n 를 삽입합니다.
seal
  • true / false 를 지정. 개봉 확인으로 보내기

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
  • 빠른 회의 마감일(UnixTime 밀리) 지정
password
  • 빠른 회의 비밀번호 지정
  • 공백의 경우 비밀번호가없는 회의 URL이 생성됩니다.

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
  • 채팅룸 만들기 및 업데이트 JSON
  • id는 새로운 경우에는 필요하지 않습니다.

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
  • 인수가 지정되지 않으면 회의실의 마스터 목록이 검색됩니다.
  • 인수 yyyyMMdd에 월 또는 날짜를 사용하면 해당 회의실의 예약 상태를 얻을 수 있습니다. 예) 201908 or 20190801
  • 예약 상태는 conferenceRooms.reservedSchedules에 저장됩니다.
  • URL을(를) 확인했습니다!
목차