MENU

Automate internal operations through API linkage

TOC

API Linkage

By using Chat&Messenger API, you can easily link with external systems and programs.
The API linkage enables the following processing.

  • Linkage with internal systems and notification of business data to chat rooms
  • Detects system errors and notifies relevant personnel
  • Web conference linkage from internal groupware
  • Obtain schedule and meeting room reservation information and link to other systems
API integration requires an Enterprise or higher plan for both cloud and on-premise.

API Token and API Interface

Obtaining an API Token from the administration screen

When performing API linkage, first obtain an API Token.

browser version
desktop version
API Token is the same as a password, so please handle it with care.

Pass the obtained apiToken / serverURL to JavaScript / curl as described in "API Interface" below.

API Interface

JavaScript / curl command line is available as an API interface. Both of the following samples can retrieve meeting room registration information in JSON format.

In an environment where regular SSL is not applied, the server URL will be HTTP port 8080.

JavaScript

let config = {
	"apiToken": "QIQVOSvRJHrQElDwj20x******",
	"serverURL": "https://*****************"
}
let client = new CAMAPIClient(config);
let response = await client.getConferenceRooms();

curl command line

curl -H "x-cam-apiToken:token******" ${serverURL}/getConferenceRooms

Any HTTP access program

Any HTTP access program can be linked.

API Sample Screens

We have a sample URL where you can easily test API execution. If you would like to use it for testing, please contact us through Contact Us.

API

The number of applications will be expanded in phases, starting with those with the highest usage.

sendMessage

Send a message.

sample

Send by messenger with user 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
Send by specifying a chat room
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

argument (e.g. function, program, programme)

send
  • Specify the target for transmission
  • For messenger, specify messenger; for chat, specify the room name.
users
  • If send is messenger, to the destination user. If it is a chat room, it is notified by Mention after sharing the whole chat room.
  • Search for a user by Email address
  • When sending multiple emails, specify , as the Email delimiter.
message
  • Specify the message to be sent
  • To break a line of text, insert the line feed code \n
seal
  • Specify true / false. Send with opening confirmation

sendMessages

Sends a batch message from a json file.

json files should be saved with the character code UTF8.

sample

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

Quick Web Conference Create a URL.

sample

Create a quick meeting URL
let response = await getAPIClient().createQuickCall(
	1624368868714, 	// クイック会議の期限(UnixTimeミリ)
	"password!",  	// クイック会議のパスワードを指定
	);

argument (e.g. function, program, programme)

expiredDate
  • Specify the deadline (UnixTime milli) for the quick meeting
password
  • Specify password for quick meeting
  • If blank, a meeting URL without password is created

updateChatRoom

Create and update chatrums

sample

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"]);

argument (e.g. function, program, programme)

chatRoom
  • Create and update chat rooms JSON
  • id is not required for new users

getConferenceMaster

Retrieves the master list of meeting rooms.

sample

let response = await getAPIClient().getConferenceMaster();
let errors = response['errors'];
if (errors) {
	console.log(errors);
	return;
}
console.log(response["conferenceRooms"]);

argument (e.g. function, program, programme)

without

getConferenceRoomStatus

Retrieve a list of meeting room reservations

sample

let response = await getAPIClient().getConferenceRoomStatus("201908");
let errors = response['errors'];
if (errors) {
	console.log(errors);
	return;
}
console.log(response["conferenceRoomStatus"]);

argument (e.g. function, program, programme)

yyyyMMdd
  • If no argument is specified, a master list of meeting rooms is obtained.
  • If the argument yyyyMMMdd is a month or a date, you can get the reservation status of the corresponding conference room. e.g.) 201908 or 20190801
  • Reservation status is stored in conferenceRooms.reservedSchedules.
TOC