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 형식으로 얻을 수 있습니다.

정규 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이 있습니다. 테스트로 이용하시는 경우, 문의로부터 연락 부탁드립니다.

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

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"}
]

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",
   "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
  • 채팅룸 만들기 및 업데이트 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을(를) 확인했습니다!
목차